git.delta.rocks / unique-network / refs/commits / 1a4aa2d6346d

difftreelog

feat introduce democracy (#965)

Pavel Orlov2023-08-23parent: #20ac01d.patch.diff
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

added.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
modified.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
added.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
modifiedCargo.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]]
modifiedCargo.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" }
modifiedlaunch-config.jsondiffbeforeafterboth
--- a/launch-config.json
+++ b/launch-config.json
@@ -151,4 +151,4 @@
     "simpleParachains": [],
     "hrmpChannels": [],
     "finalization": false
-}
+}
\ No newline at end of file
modifiednode/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()
 		}
 	}};
 }
modifiedpallets/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 }
modifiedpallets/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
addedpallets/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 }
addedpallets/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,
+	}
+}
modifiedpallets/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(),
modifiedpallets/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
modifiedruntime/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;
modifiedruntime/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;
addedruntime/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>;
addedruntime/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>;
+}
addedruntime/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,
+		}
+	}
+}
addedruntime/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;
+}
addedruntime/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;
+}
addedruntime/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>;
modifiedruntime/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"))]
modifiedruntime/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 = ();
 }
modifiedruntime/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,
 			}
 		}
modifiedruntime/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()),
modifiedruntime/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;
modifiedruntime/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")]
modifiedruntime/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 }
modifiedruntime/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 }
addedruntime/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;
+	}
+}
modifiedruntime/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::*;
modifiedruntime/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 }
addedruntime/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;
+	}
+}
modifiedruntime/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::*;
modifiedtests/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
modifiedtests/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);
 
addedtests/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');
+  });
+
+});
addedtests/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/);
+  });
+});
addedtests/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));
+  });
+});
addedtests/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');
+  });
+});
addedtests/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(),
+  };
+}
modifiedtests/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*
modifiedtests/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>;
modifiedtests/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, []>;
modifiedtests/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, []>;
modifiedtests/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>, []>;
modifiedtests/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;
modifiedtests/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>;
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -61,7 +61,7 @@
     }
   },
   /**
-   * Lookup19: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>
+   * Lookup19: frame_system::EventRecord<quartz_runtime::RuntimeEvent, primitive_types::H256>
    **/
   FrameSystemEventRecord: {
     phase: 'FrameSystemPhase',
@@ -806,835 +806,303 @@
     }
   },
   /**
-   * Lookup71: cumulus_pallet_xcmp_queue::pallet::Event<T>
+   * Lookup71: pallet_democracy::pallet::Event<T>
    **/
-  CumulusPalletXcmpQueueEvent: {
+  PalletDemocracyEvent: {
     _enum: {
-      Success: {
-        messageHash: 'Option<[u8;32]>',
-        weight: 'SpWeightsWeightV2Weight',
+      Proposed: {
+        proposalIndex: 'u32',
+        deposit: 'u128',
       },
-      Fail: {
-        messageHash: 'Option<[u8;32]>',
-        error: 'XcmV3TraitsError',
-        weight: 'SpWeightsWeightV2Weight',
+      Tabled: {
+        proposalIndex: 'u32',
+        deposit: 'u128',
       },
-      BadVersion: {
-        messageHash: 'Option<[u8;32]>',
+      ExternalTabled: 'Null',
+      Started: {
+        refIndex: 'u32',
+        threshold: 'PalletDemocracyVoteThreshold',
       },
-      BadFormat: {
-        messageHash: 'Option<[u8;32]>',
+      Passed: {
+        refIndex: 'u32',
       },
-      XcmpMessageSent: {
-        messageHash: 'Option<[u8;32]>',
+      NotPassed: {
+        refIndex: 'u32',
       },
-      OverweightEnqueued: {
-        sender: 'u32',
-        sentAt: 'u32',
-        index: 'u64',
-        required: 'SpWeightsWeightV2Weight',
+      Cancelled: {
+        refIndex: 'u32',
       },
-      OverweightServiced: {
-        index: 'u64',
-        used: 'SpWeightsWeightV2Weight'
-      }
-    }
-  },
-  /**
-   * Lookup72: xcm::v3::traits::Error
-   **/
-  XcmV3TraitsError: {
-    _enum: {
-      Overflow: 'Null',
-      Unimplemented: 'Null',
-      UntrustedReserveLocation: 'Null',
-      UntrustedTeleportLocation: 'Null',
-      LocationFull: 'Null',
-      LocationNotInvertible: 'Null',
-      BadOrigin: 'Null',
-      InvalidLocation: 'Null',
-      AssetNotFound: 'Null',
-      FailedToTransactAsset: 'Null',
-      NotWithdrawable: 'Null',
-      LocationCannotHold: 'Null',
-      ExceedsMaxMessageSize: 'Null',
-      DestinationUnsupported: 'Null',
-      Transport: 'Null',
-      Unroutable: 'Null',
-      UnknownClaim: 'Null',
-      FailedToDecode: 'Null',
-      MaxWeightInvalid: 'Null',
-      NotHoldingFees: 'Null',
-      TooExpensive: 'Null',
-      Trap: 'u64',
-      ExpectationFalse: 'Null',
-      PalletNotFound: 'Null',
-      NameMismatch: 'Null',
-      VersionIncompatible: 'Null',
-      HoldingWouldOverflow: 'Null',
-      ExportError: 'Null',
-      ReanchorFailed: 'Null',
-      NoDeal: 'Null',
-      FeesNotMet: 'Null',
-      LockError: 'Null',
-      NoPermission: 'Null',
-      Unanchored: 'Null',
-      NotDepositable: 'Null',
-      UnhandledXcmVersion: 'Null',
-      WeightLimitReached: 'SpWeightsWeightV2Weight',
-      Barrier: 'Null',
-      WeightNotComputable: 'Null',
-      ExceedsStackLimit: 'Null'
-    }
-  },
-  /**
-   * Lookup74: pallet_xcm::pallet::Event<T>
-   **/
-  PalletXcmEvent: {
-    _enum: {
-      Attempted: 'XcmV3TraitsOutcome',
-      Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)',
-      UnexpectedResponse: '(XcmV3MultiLocation,u64)',
-      ResponseReady: '(u64,XcmV3Response)',
-      Notified: '(u64,u8,u8)',
-      NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',
-      NotifyDispatchError: '(u64,u8,u8)',
-      NotifyDecodeFailed: '(u64,u8,u8)',
-      InvalidResponder: '(XcmV3MultiLocation,u64,Option<XcmV3MultiLocation>)',
-      InvalidResponderVersion: '(XcmV3MultiLocation,u64)',
-      ResponseTaken: 'u64',
-      AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)',
-      VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)',
-      SupportedVersionChanged: '(XcmV3MultiLocation,u32)',
-      NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)',
-      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',
-      InvalidQuerierVersion: '(XcmV3MultiLocation,u64)',
-      InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option<XcmV3MultiLocation>)',
-      VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
-      VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
-      VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
-      FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
-      AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)'
-    }
-  },
-  /**
-   * Lookup75: xcm::v3::traits::Outcome
-   **/
-  XcmV3TraitsOutcome: {
-    _enum: {
-      Complete: 'SpWeightsWeightV2Weight',
-      Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)',
-      Error: 'XcmV3TraitsError'
-    }
-  },
-  /**
-   * Lookup76: xcm::v3::Xcm<Call>
-   **/
-  XcmV3Xcm: 'Vec<XcmV3Instruction>',
-  /**
-   * Lookup78: xcm::v3::Instruction<Call>
-   **/
-  XcmV3Instruction: {
-    _enum: {
-      WithdrawAsset: 'XcmV3MultiassetMultiAssets',
-      ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets',
-      ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets',
-      QueryResponse: {
-        queryId: 'Compact<u64>',
-        response: 'XcmV3Response',
-        maxWeight: 'SpWeightsWeightV2Weight',
-        querier: 'Option<XcmV3MultiLocation>',
+      Delegated: {
+        who: 'AccountId32',
+        target: 'AccountId32',
       },
-      TransferAsset: {
-        assets: 'XcmV3MultiassetMultiAssets',
-        beneficiary: 'XcmV3MultiLocation',
+      Undelegated: {
+        account: 'AccountId32',
       },
-      TransferReserveAsset: {
-        assets: 'XcmV3MultiassetMultiAssets',
-        dest: 'XcmV3MultiLocation',
-        xcm: 'XcmV3Xcm',
+      Vetoed: {
+        who: 'AccountId32',
+        proposalHash: 'H256',
+        until: 'u32',
       },
-      Transact: {
-        originKind: 'XcmV2OriginKind',
-        requireWeightAtMost: 'SpWeightsWeightV2Weight',
-        call: 'XcmDoubleEncoded',
+      Blacklisted: {
+        proposalHash: 'H256',
       },
-      HrmpNewChannelOpenRequest: {
-        sender: 'Compact<u32>',
-        maxMessageSize: 'Compact<u32>',
-        maxCapacity: 'Compact<u32>',
+      Voted: {
+        voter: 'AccountId32',
+        refIndex: 'u32',
+        vote: 'PalletDemocracyVoteAccountVote',
       },
-      HrmpChannelAccepted: {
-        recipient: 'Compact<u32>',
+      Seconded: {
+        seconder: 'AccountId32',
+        propIndex: 'u32',
       },
-      HrmpChannelClosing: {
-        initiator: 'Compact<u32>',
-        sender: 'Compact<u32>',
-        recipient: 'Compact<u32>',
+      ProposalCanceled: {
+        propIndex: 'u32',
       },
-      ClearOrigin: 'Null',
-      DescendOrigin: 'XcmV3Junctions',
-      ReportError: 'XcmV3QueryResponseInfo',
-      DepositAsset: {
-        assets: 'XcmV3MultiassetMultiAssetFilter',
-        beneficiary: 'XcmV3MultiLocation',
+      MetadataSet: {
+        _alias: {
+          hash_: 'hash',
+        },
+        owner: 'PalletDemocracyMetadataOwner',
+        hash_: 'H256',
       },
-      DepositReserveAsset: {
-        assets: 'XcmV3MultiassetMultiAssetFilter',
-        dest: 'XcmV3MultiLocation',
-        xcm: 'XcmV3Xcm',
-      },
-      ExchangeAsset: {
-        give: 'XcmV3MultiassetMultiAssetFilter',
-        want: 'XcmV3MultiassetMultiAssets',
-        maximal: 'bool',
-      },
-      InitiateReserveWithdraw: {
-        assets: 'XcmV3MultiassetMultiAssetFilter',
-        reserve: 'XcmV3MultiLocation',
-        xcm: 'XcmV3Xcm',
-      },
-      InitiateTeleport: {
-        assets: 'XcmV3MultiassetMultiAssetFilter',
-        dest: 'XcmV3MultiLocation',
-        xcm: 'XcmV3Xcm',
-      },
-      ReportHolding: {
-        responseInfo: 'XcmV3QueryResponseInfo',
-        assets: 'XcmV3MultiassetMultiAssetFilter',
-      },
-      BuyExecution: {
-        fees: 'XcmV3MultiAsset',
-        weightLimit: 'XcmV3WeightLimit',
-      },
-      RefundSurplus: 'Null',
-      SetErrorHandler: 'XcmV3Xcm',
-      SetAppendix: 'XcmV3Xcm',
-      ClearError: 'Null',
-      ClaimAsset: {
-        assets: 'XcmV3MultiassetMultiAssets',
-        ticket: 'XcmV3MultiLocation',
+      MetadataCleared: {
+        _alias: {
+          hash_: 'hash',
+        },
+        owner: 'PalletDemocracyMetadataOwner',
+        hash_: 'H256',
       },
-      Trap: 'Compact<u64>',
-      SubscribeVersion: {
-        queryId: 'Compact<u64>',
-        maxResponseWeight: 'SpWeightsWeightV2Weight',
-      },
-      UnsubscribeVersion: 'Null',
-      BurnAsset: 'XcmV3MultiassetMultiAssets',
-      ExpectAsset: 'XcmV3MultiassetMultiAssets',
-      ExpectOrigin: 'Option<XcmV3MultiLocation>',
-      ExpectError: 'Option<(u32,XcmV3TraitsError)>',
-      ExpectTransactStatus: 'XcmV3MaybeErrorCode',
-      QueryPallet: {
-        moduleName: 'Bytes',
-        responseInfo: 'XcmV3QueryResponseInfo',
-      },
-      ExpectPallet: {
-        index: 'Compact<u32>',
-        name: 'Bytes',
-        moduleName: 'Bytes',
-        crateMajor: 'Compact<u32>',
-        minCrateMinor: 'Compact<u32>',
-      },
-      ReportTransactStatus: 'XcmV3QueryResponseInfo',
-      ClearTransactStatus: 'Null',
-      UniversalOrigin: 'XcmV3Junction',
-      ExportMessage: {
-        network: 'XcmV3JunctionNetworkId',
-        destination: 'XcmV3Junctions',
-        xcm: 'XcmV3Xcm',
-      },
-      LockAsset: {
-        asset: 'XcmV3MultiAsset',
-        unlocker: 'XcmV3MultiLocation',
-      },
-      UnlockAsset: {
-        asset: 'XcmV3MultiAsset',
-        target: 'XcmV3MultiLocation',
-      },
-      NoteUnlockable: {
-        asset: 'XcmV3MultiAsset',
-        owner: 'XcmV3MultiLocation',
-      },
-      RequestUnlock: {
-        asset: 'XcmV3MultiAsset',
-        locker: 'XcmV3MultiLocation',
-      },
-      SetFeesMode: {
-        jitWithdraw: 'bool',
-      },
-      SetTopic: '[u8;32]',
-      ClearTopic: 'Null',
-      AliasOrigin: 'XcmV3MultiLocation',
-      UnpaidExecution: {
-        weightLimit: 'XcmV3WeightLimit',
-        checkOrigin: 'Option<XcmV3MultiLocation>'
+      MetadataTransferred: {
+        _alias: {
+          hash_: 'hash',
+        },
+        prevOwner: 'PalletDemocracyMetadataOwner',
+        owner: 'PalletDemocracyMetadataOwner',
+        hash_: 'H256'
       }
     }
   },
   /**
-   * Lookup79: xcm::v3::Response
+   * Lookup72: pallet_democracy::vote_threshold::VoteThreshold
    **/
-  XcmV3Response: {
-    _enum: {
-      Null: 'Null',
-      Assets: 'XcmV3MultiassetMultiAssets',
-      ExecutionResult: 'Option<(u32,XcmV3TraitsError)>',
-      Version: 'u32',
-      PalletsInfo: 'Vec<XcmV3PalletInfo>',
-      DispatchResult: 'XcmV3MaybeErrorCode'
-    }
+  PalletDemocracyVoteThreshold: {
+    _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority']
   },
   /**
-   * Lookup83: xcm::v3::PalletInfo
-   **/
-  XcmV3PalletInfo: {
-    index: 'Compact<u32>',
-    name: 'Bytes',
-    moduleName: 'Bytes',
-    major: 'Compact<u32>',
-    minor: 'Compact<u32>',
-    patch: 'Compact<u32>'
-  },
-  /**
-   * Lookup86: xcm::v3::MaybeErrorCode
+   * Lookup73: pallet_democracy::vote::AccountVote<Balance>
    **/
-  XcmV3MaybeErrorCode: {
+  PalletDemocracyVoteAccountVote: {
     _enum: {
-      Success: 'Null',
-      Error: 'Bytes',
-      TruncatedError: 'Bytes'
-    }
-  },
-  /**
-   * Lookup89: xcm::v2::OriginKind
-   **/
-  XcmV2OriginKind: {
-    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
-  },
-  /**
-   * Lookup90: xcm::double_encoded::DoubleEncoded<T>
-   **/
-  XcmDoubleEncoded: {
-    encoded: 'Bytes'
-  },
-  /**
-   * Lookup91: xcm::v3::QueryResponseInfo
-   **/
-  XcmV3QueryResponseInfo: {
-    destination: 'XcmV3MultiLocation',
-    queryId: 'Compact<u64>',
-    maxWeight: 'SpWeightsWeightV2Weight'
-  },
-  /**
-   * Lookup92: xcm::v3::multiasset::MultiAssetFilter
-   **/
-  XcmV3MultiassetMultiAssetFilter: {
-    _enum: {
-      Definite: 'XcmV3MultiassetMultiAssets',
-      Wild: 'XcmV3MultiassetWildMultiAsset'
-    }
-  },
-  /**
-   * Lookup93: xcm::v3::multiasset::WildMultiAsset
-   **/
-  XcmV3MultiassetWildMultiAsset: {
-    _enum: {
-      All: 'Null',
-      AllOf: {
-        id: 'XcmV3MultiassetAssetId',
-        fun: 'XcmV3MultiassetWildFungibility',
+      Standard: {
+        vote: 'Vote',
+        balance: 'u128',
       },
-      AllCounted: 'Compact<u32>',
-      AllOfCounted: {
-        id: 'XcmV3MultiassetAssetId',
-        fun: 'XcmV3MultiassetWildFungibility',
-        count: 'Compact<u32>'
+      Split: {
+        aye: 'u128',
+        nay: 'u128'
       }
     }
   },
   /**
-   * Lookup94: xcm::v3::multiasset::WildFungibility
-   **/
-  XcmV3MultiassetWildFungibility: {
-    _enum: ['Fungible', 'NonFungible']
-  },
-  /**
-   * Lookup96: xcm::v3::WeightLimit
+   * Lookup75: pallet_democracy::types::MetadataOwner
    **/
-  XcmV3WeightLimit: {
+  PalletDemocracyMetadataOwner: {
     _enum: {
-      Unlimited: 'Null',
-      Limited: 'SpWeightsWeightV2Weight'
+      External: 'Null',
+      Proposal: 'u32',
+      Referendum: 'u32'
     }
   },
   /**
-   * Lookup97: xcm::VersionedMultiAssets
+   * Lookup76: pallet_collective::pallet::Event<T, I>
    **/
-  XcmVersionedMultiAssets: {
+  PalletCollectiveEvent: {
     _enum: {
-      __Unused0: 'Null',
-      V2: 'XcmV2MultiassetMultiAssets',
-      __Unused2: 'Null',
-      V3: 'XcmV3MultiassetMultiAssets'
-    }
-  },
-  /**
-   * Lookup98: xcm::v2::multiasset::MultiAssets
-   **/
-  XcmV2MultiassetMultiAssets: 'Vec<XcmV2MultiAsset>',
-  /**
-   * Lookup100: xcm::v2::multiasset::MultiAsset
-   **/
-  XcmV2MultiAsset: {
-    id: 'XcmV2MultiassetAssetId',
-    fun: 'XcmV2MultiassetFungibility'
-  },
-  /**
-   * Lookup101: xcm::v2::multiasset::AssetId
-   **/
-  XcmV2MultiassetAssetId: {
-    _enum: {
-      Concrete: 'XcmV2MultiLocation',
-      Abstract: 'Bytes'
-    }
-  },
-  /**
-   * Lookup102: xcm::v2::multilocation::MultiLocation
-   **/
-  XcmV2MultiLocation: {
-    parents: 'u8',
-    interior: 'XcmV2MultilocationJunctions'
-  },
-  /**
-   * Lookup103: xcm::v2::multilocation::Junctions
-   **/
-  XcmV2MultilocationJunctions: {
-    _enum: {
-      Here: 'Null',
-      X1: 'XcmV2Junction',
-      X2: '(XcmV2Junction,XcmV2Junction)',
-      X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)',
-      X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
-      X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
-      X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
-      X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
-      X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)'
-    }
-  },
-  /**
-   * Lookup104: xcm::v2::junction::Junction
-   **/
-  XcmV2Junction: {
-    _enum: {
-      Parachain: 'Compact<u32>',
-      AccountId32: {
-        network: 'XcmV2NetworkId',
-        id: '[u8;32]',
+      Proposed: {
+        account: 'AccountId32',
+        proposalIndex: 'u32',
+        proposalHash: 'H256',
+        threshold: 'u32',
+      },
+      Voted: {
+        account: 'AccountId32',
+        proposalHash: 'H256',
+        voted: 'bool',
+        yes: 'u32',
+        no: 'u32',
+      },
+      Approved: {
+        proposalHash: 'H256',
+      },
+      Disapproved: {
+        proposalHash: 'H256',
       },
-      AccountIndex64: {
-        network: 'XcmV2NetworkId',
-        index: 'Compact<u64>',
+      Executed: {
+        proposalHash: 'H256',
+        result: 'Result<Null, SpRuntimeDispatchError>',
       },
-      AccountKey20: {
-        network: 'XcmV2NetworkId',
-        key: '[u8;20]',
+      MemberExecuted: {
+        proposalHash: 'H256',
+        result: 'Result<Null, SpRuntimeDispatchError>',
       },
-      PalletInstance: 'u8',
-      GeneralIndex: 'Compact<u128>',
-      GeneralKey: 'Bytes',
-      OnlyChild: 'Null',
-      Plurality: {
-        id: 'XcmV2BodyId',
-        part: 'XcmV2BodyPart'
+      Closed: {
+        proposalHash: 'H256',
+        yes: 'u32',
+        no: 'u32'
       }
     }
   },
   /**
-   * Lookup105: xcm::v2::NetworkId
+   * Lookup79: pallet_membership::pallet::Event<T, I>
    **/
-  XcmV2NetworkId: {
-    _enum: {
-      Any: 'Null',
-      Named: 'Bytes',
-      Polkadot: 'Null',
-      Kusama: 'Null'
-    }
+  PalletMembershipEvent: {
+    _enum: ['MemberAdded', 'MemberRemoved', 'MembersSwapped', 'MembersReset', 'KeyChanged', 'Dummy']
   },
   /**
-   * Lookup107: xcm::v2::BodyId
-   **/
-  XcmV2BodyId: {
-    _enum: {
-      Unit: 'Null',
-      Named: 'Bytes',
-      Index: 'Compact<u32>',
-      Executive: 'Null',
-      Technical: 'Null',
-      Legislative: 'Null',
-      Judicial: 'Null',
-      Defense: 'Null',
-      Administration: 'Null',
-      Treasury: 'Null'
-    }
-  },
-  /**
-   * Lookup108: xcm::v2::BodyPart
+   * Lookup81: pallet_ranked_collective::pallet::Event<T, I>
    **/
-  XcmV2BodyPart: {
+  PalletRankedCollectiveEvent: {
     _enum: {
-      Voice: 'Null',
-      Members: {
-        count: 'Compact<u32>',
+      MemberAdded: {
+        who: 'AccountId32',
       },
-      Fraction: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>',
+      RankChanged: {
+        who: 'AccountId32',
+        rank: 'u16',
       },
-      AtLeastProportion: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>',
+      MemberRemoved: {
+        who: 'AccountId32',
+        rank: 'u16',
       },
-      MoreThanProportion: {
-        nom: 'Compact<u32>',
-        denom: 'Compact<u32>'
+      Voted: {
+        who: 'AccountId32',
+        poll: 'u32',
+        vote: 'PalletRankedCollectiveVoteRecord',
+        tally: 'PalletRankedCollectiveTally'
       }
     }
   },
   /**
-   * Lookup109: xcm::v2::multiasset::Fungibility
+   * Lookup83: pallet_ranked_collective::VoteRecord
    **/
-  XcmV2MultiassetFungibility: {
+  PalletRankedCollectiveVoteRecord: {
     _enum: {
-      Fungible: 'Compact<u128>',
-      NonFungible: 'XcmV2MultiassetAssetInstance'
+      Aye: 'u32',
+      Nay: 'u32'
     }
   },
   /**
-   * Lookup110: xcm::v2::multiasset::AssetInstance
-   **/
-  XcmV2MultiassetAssetInstance: {
-    _enum: {
-      Undefined: 'Null',
-      Index: 'Compact<u128>',
-      Array4: '[u8;4]',
-      Array8: '[u8;8]',
-      Array16: '[u8;16]',
-      Array32: '[u8;32]',
-      Blob: 'Bytes'
-    }
-  },
-  /**
-   * Lookup111: xcm::VersionedMultiLocation
+   * Lookup84: pallet_ranked_collective::Tally<T, I, M>
    **/
-  XcmVersionedMultiLocation: {
-    _enum: {
-      __Unused0: 'Null',
-      V2: 'XcmV2MultiLocation',
-      __Unused2: 'Null',
-      V3: 'XcmV3MultiLocation'
-    }
+  PalletRankedCollectiveTally: {
+    bareAyes: 'u32',
+    ayes: 'u32',
+    nays: 'u32'
   },
   /**
-   * Lookup112: cumulus_pallet_xcm::pallet::Event<T>
+   * Lookup85: pallet_referenda::pallet::Event<T, I>
    **/
-  CumulusPalletXcmEvent: {
+  PalletReferendaEvent: {
     _enum: {
-      InvalidFormat: '[u8;32]',
-      UnsupportedVersion: '[u8;32]',
-      ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)'
-    }
-  },
-  /**
-   * Lookup113: cumulus_pallet_dmp_queue::pallet::Event<T>
-   **/
-  CumulusPalletDmpQueueEvent: {
-    _enum: {
-      InvalidFormat: {
-        messageId: '[u8;32]',
+      Submitted: {
+        index: 'u32',
+        track: 'u16',
+        proposal: 'FrameSupportPreimagesBounded',
       },
-      UnsupportedVersion: {
-        messageId: '[u8;32]',
+      DecisionDepositPlaced: {
+        index: 'u32',
+        who: 'AccountId32',
+        amount: 'u128',
       },
-      ExecutedDownward: {
-        messageId: '[u8;32]',
-        outcome: 'XcmV3TraitsOutcome',
+      DecisionDepositRefunded: {
+        index: 'u32',
+        who: 'AccountId32',
+        amount: 'u128',
       },
-      WeightExhausted: {
-        messageId: '[u8;32]',
-        remainingWeight: 'SpWeightsWeightV2Weight',
-        requiredWeight: 'SpWeightsWeightV2Weight',
+      DepositSlashed: {
+        who: 'AccountId32',
+        amount: 'u128',
       },
-      OverweightEnqueued: {
-        messageId: '[u8;32]',
-        overweightIndex: 'u64',
-        requiredWeight: 'SpWeightsWeightV2Weight',
+      DecisionStarted: {
+        index: 'u32',
+        track: 'u16',
+        proposal: 'FrameSupportPreimagesBounded',
+        tally: 'PalletRankedCollectiveTally',
       },
-      OverweightServiced: {
-        overweightIndex: 'u64',
-        weightUsed: 'SpWeightsWeightV2Weight',
+      ConfirmStarted: {
+        index: 'u32',
       },
-      MaxMessagesExhausted: {
-        messageId: '[u8;32]'
-      }
-    }
-  },
-  /**
-   * Lookup114: pallet_configuration::pallet::Event<T>
-   **/
-  PalletConfigurationEvent: {
-    _enum: {
-      NewDesiredCollators: {
-        desiredCollators: 'Option<u32>',
+      ConfirmAborted: {
+        index: 'u32',
       },
-      NewCollatorLicenseBond: {
-        bondCost: 'Option<u128>',
+      Confirmed: {
+        index: 'u32',
+        tally: 'PalletRankedCollectiveTally',
       },
-      NewCollatorKickThreshold: {
-        lengthInBlocks: 'Option<u32>'
-      }
-    }
-  },
-  /**
-   * Lookup117: pallet_common::pallet::Event<T>
-   **/
-  PalletCommonEvent: {
-    _enum: {
-      CollectionCreated: '(u32,u8,AccountId32)',
-      CollectionDestroyed: 'u32',
-      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
-      ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',
-      CollectionPropertySet: '(u32,Bytes)',
-      CollectionPropertyDeleted: '(u32,Bytes)',
-      TokenPropertySet: '(u32,u32,Bytes)',
-      TokenPropertyDeleted: '(u32,u32,Bytes)',
-      PropertyPermissionSet: '(u32,Bytes)',
-      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
-      CollectionLimitSet: 'u32',
-      CollectionOwnerChanged: '(u32,AccountId32)',
-      CollectionPermissionSet: 'u32',
-      CollectionSponsorSet: '(u32,AccountId32)',
-      SponsorshipConfirmed: '(u32,AccountId32)',
-      CollectionSponsorRemoved: 'u32'
-    }
-  },
-  /**
-   * Lookup120: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
-   **/
-  PalletEvmAccountBasicCrossAccountIdRepr: {
-    _enum: {
-      Substrate: 'AccountId32',
-      Ethereum: 'H160'
-    }
-  },
-  /**
-   * Lookup123: pallet_structure::pallet::Event<T>
-   **/
-  PalletStructureEvent: {
-    _enum: {
-      Executed: 'Result<Null, SpRuntimeDispatchError>'
-    }
-  },
-  /**
-   * Lookup124: pallet_app_promotion::pallet::Event<T>
-   **/
-  PalletAppPromotionEvent: {
-    _enum: {
-      StakingRecalculation: '(AccountId32,u128,u128)',
-      Stake: '(AccountId32,u128)',
-      Unstake: '(AccountId32,u128)',
-      SetAdmin: 'AccountId32'
-    }
-  },
-  /**
-   * Lookup125: pallet_foreign_assets::module::Event<T>
-   **/
-  PalletForeignAssetsModuleEvent: {
-    _enum: {
-      ForeignAssetRegistered: {
-        assetId: 'u32',
-        assetAddress: 'XcmV3MultiLocation',
-        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      Approved: {
+        index: 'u32',
       },
-      ForeignAssetUpdated: {
-        assetId: 'u32',
-        assetAddress: 'XcmV3MultiLocation',
-        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      Rejected: {
+        index: 'u32',
+        tally: 'PalletRankedCollectiveTally',
       },
-      AssetRegistered: {
-        assetId: 'PalletForeignAssetsAssetIds',
-        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      TimedOut: {
+        index: 'u32',
+        tally: 'PalletRankedCollectiveTally',
       },
-      AssetUpdated: {
-        assetId: 'PalletForeignAssetsAssetIds',
-        metadata: 'PalletForeignAssetsModuleAssetMetadata'
-      }
-    }
-  },
-  /**
-   * Lookup126: pallet_foreign_assets::module::AssetMetadata<Balance>
-   **/
-  PalletForeignAssetsModuleAssetMetadata: {
-    name: 'Bytes',
-    symbol: 'Bytes',
-    decimals: 'u8',
-    minimalBalance: 'u128'
-  },
-  /**
-   * Lookup129: pallet_evm::pallet::Event<T>
-   **/
-  PalletEvmEvent: {
-    _enum: {
-      Log: {
-        log: 'EthereumLog',
+      Cancelled: {
+        index: 'u32',
+        tally: 'PalletRankedCollectiveTally',
       },
-      Created: {
-        address: 'H160',
+      Killed: {
+        index: 'u32',
+        tally: 'PalletRankedCollectiveTally',
       },
-      CreatedFailed: {
-        address: 'H160',
+      SubmissionDepositRefunded: {
+        index: 'u32',
+        who: 'AccountId32',
+        amount: 'u128',
       },
-      Executed: {
-        address: 'H160',
+      MetadataSet: {
+        _alias: {
+          hash_: 'hash',
+        },
+        index: 'u32',
+        hash_: 'H256',
       },
-      ExecutedFailed: {
-        address: 'H160'
+      MetadataCleared: {
+        _alias: {
+          hash_: 'hash',
+        },
+        index: 'u32',
+        hash_: 'H256'
       }
     }
   },
   /**
-   * Lookup130: ethereum::log::Log
-   **/
-  EthereumLog: {
-    address: 'H160',
-    topics: 'Vec<H256>',
-    data: 'Bytes'
-  },
-  /**
-   * Lookup132: pallet_ethereum::pallet::Event
+   * Lookup86: frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>
    **/
-  PalletEthereumEvent: {
+  FrameSupportPreimagesBounded: {
     _enum: {
-      Executed: {
-        from: 'H160',
-        to: 'H160',
-        transactionHash: 'H256',
-        exitReason: 'EvmCoreErrorExitReason',
-        extraData: 'Bytes'
+      Legacy: {
+        _alias: {
+          hash_: 'hash',
+        },
+        hash_: 'H256',
+      },
+      Inline: 'Bytes',
+      Lookup: {
+        _alias: {
+          hash_: 'hash',
+        },
+        hash_: 'H256',
+        len: 'u32'
       }
     }
   },
   /**
-   * Lookup133: evm_core::error::ExitReason
-   **/
-  EvmCoreErrorExitReason: {
-    _enum: {
-      Succeed: 'EvmCoreErrorExitSucceed',
-      Error: 'EvmCoreErrorExitError',
-      Revert: 'EvmCoreErrorExitRevert',
-      Fatal: 'EvmCoreErrorExitFatal'
-    }
-  },
-  /**
-   * Lookup134: evm_core::error::ExitSucceed
-   **/
-  EvmCoreErrorExitSucceed: {
-    _enum: ['Stopped', 'Returned', 'Suicided']
-  },
-  /**
-   * Lookup135: evm_core::error::ExitError
-   **/
-  EvmCoreErrorExitError: {
-    _enum: {
-      StackUnderflow: 'Null',
-      StackOverflow: 'Null',
-      InvalidJump: 'Null',
-      InvalidRange: 'Null',
-      DesignatedInvalid: 'Null',
-      CallTooDeep: 'Null',
-      CreateCollision: 'Null',
-      CreateContractLimit: 'Null',
-      OutOfOffset: 'Null',
-      OutOfGas: 'Null',
-      OutOfFund: 'Null',
-      PCUnderflow: 'Null',
-      CreateEmpty: 'Null',
-      Other: 'Text',
-      MaxNonce: 'Null',
-      InvalidCode: 'u8'
-    }
-  },
-  /**
-   * Lookup139: evm_core::error::ExitRevert
-   **/
-  EvmCoreErrorExitRevert: {
-    _enum: ['Reverted']
-  },
-  /**
-   * Lookup140: evm_core::error::ExitFatal
-   **/
-  EvmCoreErrorExitFatal: {
-    _enum: {
-      NotSupported: 'Null',
-      UnhandledInterrupt: 'Null',
-      CallErrorAsFatal: 'EvmCoreErrorExitError',
-      Other: 'Text'
-    }
-  },
-  /**
-   * Lookup141: pallet_evm_contract_helpers::pallet::Event<T>
-   **/
-  PalletEvmContractHelpersEvent: {
-    _enum: {
-      ContractSponsorSet: '(H160,AccountId32)',
-      ContractSponsorshipConfirmed: '(H160,AccountId32)',
-      ContractSponsorRemoved: 'H160'
-    }
-  },
-  /**
-   * Lookup142: pallet_evm_migration::pallet::Event<T>
-   **/
-  PalletEvmMigrationEvent: {
-    _enum: ['TestEvent']
-  },
-  /**
-   * Lookup143: pallet_maintenance::pallet::Event<T>
-   **/
-  PalletMaintenanceEvent: {
-    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
-  },
-  /**
-   * Lookup144: pallet_test_utils::pallet::Event<T>
-   **/
-  PalletTestUtilsEvent: {
-    _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']
-  },
-  /**
-   * Lookup145: frame_system::Phase
-   **/
-  FrameSystemPhase: {
-    _enum: {
-      ApplyExtrinsic: 'u32',
-      Finalization: 'Null',
-      Initialization: 'Null'
-    }
-  },
-  /**
-   * Lookup148: frame_system::LastRuntimeUpgradeInfo
-   **/
-  FrameSystemLastRuntimeUpgradeInfo: {
-    specVersion: 'Compact<u32>',
-    specName: 'Text'
-  },
-  /**
-   * Lookup149: frame_system::pallet::Call<T>
+   * Lookup88: frame_system::pallet::Call<T>
    **/
   FrameSystemCall: {
     _enum: {
@@ -1669,106 +1137,8 @@
     }
   },
   /**
-   * Lookup153: frame_system::limits::BlockWeights
-   **/
-  FrameSystemLimitsBlockWeights: {
-    baseBlock: 'SpWeightsWeightV2Weight',
-    maxBlock: 'SpWeightsWeightV2Weight',
-    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
-  },
-  /**
-   * Lookup154: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
-   **/
-  FrameSupportDispatchPerDispatchClassWeightsPerClass: {
-    normal: 'FrameSystemLimitsWeightsPerClass',
-    operational: 'FrameSystemLimitsWeightsPerClass',
-    mandatory: 'FrameSystemLimitsWeightsPerClass'
-  },
-  /**
-   * Lookup155: frame_system::limits::WeightsPerClass
-   **/
-  FrameSystemLimitsWeightsPerClass: {
-    baseExtrinsic: 'SpWeightsWeightV2Weight',
-    maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',
-    maxTotal: 'Option<SpWeightsWeightV2Weight>',
-    reserved: 'Option<SpWeightsWeightV2Weight>'
-  },
-  /**
-   * Lookup157: frame_system::limits::BlockLength
-   **/
-  FrameSystemLimitsBlockLength: {
-    max: 'FrameSupportDispatchPerDispatchClassU32'
-  },
-  /**
-   * Lookup158: frame_support::dispatch::PerDispatchClass<T>
-   **/
-  FrameSupportDispatchPerDispatchClassU32: {
-    normal: 'u32',
-    operational: 'u32',
-    mandatory: 'u32'
-  },
-  /**
-   * Lookup159: sp_weights::RuntimeDbWeight
-   **/
-  SpWeightsRuntimeDbWeight: {
-    read: 'u64',
-    write: 'u64'
-  },
-  /**
-   * Lookup160: sp_version::RuntimeVersion
-   **/
-  SpVersionRuntimeVersion: {
-    specName: 'Text',
-    implName: 'Text',
-    authoringVersion: 'u32',
-    specVersion: 'u32',
-    implVersion: 'u32',
-    apis: 'Vec<([u8;8],u32)>',
-    transactionVersion: 'u32',
-    stateVersion: 'u8'
-  },
-  /**
-   * Lookup165: frame_system::pallet::Error<T>
-   **/
-  FrameSystemError: {
-    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
-  },
-  /**
-   * Lookup166: pallet_state_trie_migration::pallet::MigrationTask<T>
-   **/
-  PalletStateTrieMigrationMigrationTask: {
-    _alias: {
-      size_: 'size'
-    },
-    progressTop: 'PalletStateTrieMigrationProgress',
-    progressChild: 'PalletStateTrieMigrationProgress',
-    size_: 'u32',
-    topItems: 'u32',
-    childItems: 'u32'
-  },
-  /**
-   * Lookup167: pallet_state_trie_migration::pallet::Progress<MaxKeyLen>
-   **/
-  PalletStateTrieMigrationProgress: {
-    _enum: {
-      ToStart: 'Null',
-      LastKey: 'Bytes',
-      Complete: 'Null'
-    }
-  },
-  /**
-   * Lookup170: pallet_state_trie_migration::pallet::MigrationLimits
+   * Lookup92: pallet_state_trie_migration::pallet::Call<T>
    **/
-  PalletStateTrieMigrationMigrationLimits: {
-    _alias: {
-      size_: 'size'
-    },
-    size_: 'u32',
-    item: 'u32'
-  },
-  /**
-   * Lookup171: pallet_state_trie_migration::pallet::Call<T>
-   **/
   PalletStateTrieMigrationCall: {
     _enum: {
       control_auto_migration: {
@@ -1801,83 +1171,40 @@
     }
   },
   /**
-   * Lookup172: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>
+   * Lookup94: pallet_state_trie_migration::pallet::MigrationLimits
    **/
-  PolkadotPrimitivesV4PersistedValidationData: {
-    parentHead: 'Bytes',
-    relayParentNumber: 'u32',
-    relayParentStorageRoot: 'H256',
-    maxPovSize: 'u32'
+  PalletStateTrieMigrationMigrationLimits: {
+    _alias: {
+      size_: 'size'
+    },
+    size_: 'u32',
+    item: 'u32'
   },
   /**
-   * Lookup175: polkadot_primitives::v4::UpgradeRestriction
+   * Lookup95: pallet_state_trie_migration::pallet::MigrationTask<T>
    **/
-  PolkadotPrimitivesV4UpgradeRestriction: {
-    _enum: ['Present']
+  PalletStateTrieMigrationMigrationTask: {
+    _alias: {
+      size_: 'size'
+    },
+    progressTop: 'PalletStateTrieMigrationProgress',
+    progressChild: 'PalletStateTrieMigrationProgress',
+    size_: 'u32',
+    topItems: 'u32',
+    childItems: 'u32'
   },
   /**
-   * Lookup176: sp_trie::storage_proof::StorageProof
-   **/
-  SpTrieStorageProof: {
-    trieNodes: 'BTreeSet<Bytes>'
-  },
-  /**
-   * Lookup178: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
-   **/
-  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
-    dmqMqcHead: 'H256',
-    relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize',
-    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>',
-    egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>'
-  },
-  /**
-   * Lookup179: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize
+   * Lookup96: pallet_state_trie_migration::pallet::Progress<MaxKeyLen>
    **/
-  CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: {
-    remainingCount: 'u32',
-    remainingSize: 'u32'
-  },
-  /**
-   * Lookup182: polkadot_primitives::v4::AbridgedHrmpChannel
-   **/
-  PolkadotPrimitivesV4AbridgedHrmpChannel: {
-    maxCapacity: 'u32',
-    maxTotalSize: 'u32',
-    maxMessageSize: 'u32',
-    msgCount: 'u32',
-    totalSize: 'u32',
-    mqcHead: 'Option<H256>'
-  },
-  /**
-   * Lookup184: polkadot_primitives::v4::AbridgedHostConfiguration
-   **/
-  PolkadotPrimitivesV4AbridgedHostConfiguration: {
-    maxCodeSize: 'u32',
-    maxHeadDataSize: 'u32',
-    maxUpwardQueueCount: 'u32',
-    maxUpwardQueueSize: 'u32',
-    maxUpwardMessageSize: 'u32',
-    maxUpwardMessageNumPerCandidate: 'u32',
-    hrmpMaxMessageNumPerCandidate: 'u32',
-    validationUpgradeCooldown: 'u32',
-    validationUpgradeDelay: 'u32'
+  PalletStateTrieMigrationProgress: {
+    _enum: {
+      ToStart: 'Null',
+      LastKey: 'Bytes',
+      Complete: 'Null'
+    }
   },
   /**
-   * Lookup190: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
-   **/
-  PolkadotCorePrimitivesOutboundHrmpMessage: {
-    recipient: 'u32',
-    data: 'Bytes'
-  },
-  /**
-   * Lookup191: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>
-   **/
-  CumulusPalletParachainSystemCodeUpgradeAuthorization: {
-    codeHash: 'H256',
-    checkVersion: 'bool'
-  },
-  /**
-   * Lookup192: cumulus_pallet_parachain_system::pallet::Call<T>
+   * Lookup98: cumulus_pallet_parachain_system::pallet::Call<T>
    **/
   CumulusPalletParachainSystemCall: {
     _enum: {
@@ -1897,7 +1224,7 @@
     }
   },
   /**
-   * Lookup193: cumulus_primitives_parachain_inherent::ParachainInherentData
+   * Lookup99: cumulus_primitives_parachain_inherent::ParachainInherentData
    **/
   CumulusPrimitivesParachainInherentParachainInherentData: {
     validationData: 'PolkadotPrimitivesV4PersistedValidationData',
@@ -1906,31 +1233,40 @@
     horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
   },
   /**
-   * Lookup195: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+   * Lookup100: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>
    **/
+  PolkadotPrimitivesV4PersistedValidationData: {
+    parentHead: 'Bytes',
+    relayParentNumber: 'u32',
+    relayParentStorageRoot: 'H256',
+    maxPovSize: 'u32'
+  },
+  /**
+   * Lookup102: sp_trie::storage_proof::StorageProof
+   **/
+  SpTrieStorageProof: {
+    trieNodes: 'BTreeSet<Bytes>'
+  },
+  /**
+   * Lookup105: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+   **/
   PolkadotCorePrimitivesInboundDownwardMessage: {
     sentAt: 'u32',
     msg: 'Bytes'
   },
   /**
-   * Lookup198: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
+   * Lookup109: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundHrmpMessage: {
     sentAt: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup201: cumulus_pallet_parachain_system::pallet::Error<T>
-   **/
-  CumulusPalletParachainSystemError: {
-    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
-  },
-  /**
-   * Lookup202: parachain_info::pallet::Call<T>
+   * Lookup112: parachain_info::pallet::Call<T>
    **/
   ParachainInfoCall: 'Null',
   /**
-   * Lookup205: pallet_collator_selection::pallet::Call<T>
+   * Lookup113: pallet_collator_selection::pallet::Call<T>
    **/
   PalletCollatorSelectionCall: {
     _enum: {
@@ -1953,80 +1289,36 @@
     }
   },
   /**
-   * Lookup206: pallet_collator_selection::pallet::Error<T>
-   **/
-  PalletCollatorSelectionError: {
-    _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']
-  },
-  /**
-   * Lookup209: opal_runtime::runtime_common::SessionKeys
-   **/
-  OpalRuntimeRuntimeCommonSessionKeys: {
-    aura: 'SpConsensusAuraSr25519AppSr25519Public'
-  },
-  /**
-   * Lookup210: sp_consensus_aura::sr25519::app_sr25519::Public
-   **/
-  SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',
-  /**
-   * Lookup211: sp_core::sr25519::Public
+   * Lookup114: pallet_session::pallet::Call<T>
    **/
-  SpCoreSr25519Public: '[u8;32]',
-  /**
-   * Lookup214: sp_core::crypto::KeyTypeId
-   **/
-  SpCoreCryptoKeyTypeId: '[u8;4]',
-  /**
-   * Lookup215: pallet_session::pallet::Call<T>
-   **/
   PalletSessionCall: {
     _enum: {
       set_keys: {
         _alias: {
           keys_: 'keys',
         },
-        keys_: 'OpalRuntimeRuntimeCommonSessionKeys',
+        keys_: 'QuartzRuntimeRuntimeCommonSessionKeys',
         proof: 'Bytes',
       },
       purge_keys: 'Null'
     }
   },
   /**
-   * Lookup216: pallet_session::pallet::Error<T>
-   **/
-  PalletSessionError: {
-    _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']
-  },
-  /**
-   * Lookup221: pallet_balances::types::BalanceLock<Balance>
-   **/
-  PalletBalancesBalanceLock: {
-    id: '[u8;8]',
-    amount: 'u128',
-    reasons: 'PalletBalancesReasons'
-  },
-  /**
-   * Lookup222: pallet_balances::types::Reasons
+   * Lookup115: quartz_runtime::runtime_common::SessionKeys
    **/
-  PalletBalancesReasons: {
-    _enum: ['Fee', 'Misc', 'All']
+  QuartzRuntimeRuntimeCommonSessionKeys: {
+    aura: 'SpConsensusAuraSr25519AppSr25519Public'
   },
   /**
-   * Lookup225: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>
+   * Lookup116: sp_consensus_aura::sr25519::app_sr25519::Public
    **/
-  PalletBalancesReserveData: {
-    id: '[u8;16]',
-    amount: 'u128'
-  },
+  SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',
   /**
-   * Lookup228: pallet_balances::types::IdAmount<Id, Balance>
+   * Lookup117: sp_core::sr25519::Public
    **/
-  PalletBalancesIdAmount: {
-    id: '[u8;16]',
-    amount: 'u128'
-  },
+  SpCoreSr25519Public: '[u8;32]',
   /**
-   * Lookup231: pallet_balances::pallet::Call<T, I>
+   * Lookup118: pallet_balances::pallet::Call<T, I>
    **/
   PalletBalancesCall: {
     _enum: {
@@ -2070,13 +1362,7 @@
     }
   },
   /**
-   * Lookup234: pallet_balances::pallet::Error<T, I>
-   **/
-  PalletBalancesError: {
-    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes']
-  },
-  /**
-   * Lookup235: pallet_timestamp::pallet::Call<T>
+   * Lookup122: pallet_timestamp::pallet::Call<T>
    **/
   PalletTimestampCall: {
     _enum: {
@@ -2086,22 +1372,7 @@
     }
   },
   /**
-   * Lookup237: pallet_transaction_payment::Releases
-   **/
-  PalletTransactionPaymentReleases: {
-    _enum: ['V1Ancient', 'V2']
-  },
-  /**
-   * Lookup238: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
-   **/
-  PalletTreasuryProposal: {
-    proposer: 'AccountId32',
-    value: 'u128',
-    beneficiary: 'AccountId32',
-    bond: 'u128'
-  },
-  /**
-   * Lookup240: pallet_treasury::pallet::Call<T, I>
+   * Lookup123: pallet_treasury::pallet::Call<T, I>
    **/
   PalletTreasuryCall: {
     _enum: {
@@ -2125,17 +1396,7 @@
     }
   },
   /**
-   * Lookup242: frame_support::PalletId
-   **/
-  FrameSupportPalletId: '[u8;8]',
-  /**
-   * Lookup243: pallet_treasury::pallet::Error<T, I>
-   **/
-  PalletTreasuryError: {
-    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
-  },
-  /**
-   * Lookup244: pallet_sudo::pallet::Call<T>
+   * Lookup124: pallet_sudo::pallet::Call<T>
    **/
   PalletSudoCall: {
     _enum: {
@@ -2159,7 +1420,7 @@
     }
   },
   /**
-   * Lookup246: orml_vesting::module::Call<T>
+   * Lookup125: orml_vesting::module::Call<T>
    **/
   OrmlVestingModuleCall: {
     _enum: {
@@ -2178,7 +1439,7 @@
     }
   },
   /**
-   * Lookup248: orml_xtokens::module::Call<T>
+   * Lookup127: orml_xtokens::module::Call<T>
    **/
   OrmlXtokensModuleCall: {
     _enum: {
@@ -2221,7 +1482,129 @@
     }
   },
   /**
-   * Lookup249: xcm::VersionedMultiAsset
+   * Lookup128: xcm::VersionedMultiLocation
+   **/
+  XcmVersionedMultiLocation: {
+    _enum: {
+      __Unused0: 'Null',
+      V2: 'XcmV2MultiLocation',
+      __Unused2: 'Null',
+      V3: 'XcmV3MultiLocation'
+    }
+  },
+  /**
+   * Lookup129: xcm::v2::multilocation::MultiLocation
+   **/
+  XcmV2MultiLocation: {
+    parents: 'u8',
+    interior: 'XcmV2MultilocationJunctions'
+  },
+  /**
+   * Lookup130: xcm::v2::multilocation::Junctions
+   **/
+  XcmV2MultilocationJunctions: {
+    _enum: {
+      Here: 'Null',
+      X1: 'XcmV2Junction',
+      X2: '(XcmV2Junction,XcmV2Junction)',
+      X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)',
+      X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
+      X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
+      X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
+      X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',
+      X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)'
+    }
+  },
+  /**
+   * Lookup131: xcm::v2::junction::Junction
+   **/
+  XcmV2Junction: {
+    _enum: {
+      Parachain: 'Compact<u32>',
+      AccountId32: {
+        network: 'XcmV2NetworkId',
+        id: '[u8;32]',
+      },
+      AccountIndex64: {
+        network: 'XcmV2NetworkId',
+        index: 'Compact<u64>',
+      },
+      AccountKey20: {
+        network: 'XcmV2NetworkId',
+        key: '[u8;20]',
+      },
+      PalletInstance: 'u8',
+      GeneralIndex: 'Compact<u128>',
+      GeneralKey: 'Bytes',
+      OnlyChild: 'Null',
+      Plurality: {
+        id: 'XcmV2BodyId',
+        part: 'XcmV2BodyPart'
+      }
+    }
+  },
+  /**
+   * Lookup132: xcm::v2::NetworkId
+   **/
+  XcmV2NetworkId: {
+    _enum: {
+      Any: 'Null',
+      Named: 'Bytes',
+      Polkadot: 'Null',
+      Kusama: 'Null'
+    }
+  },
+  /**
+   * Lookup134: xcm::v2::BodyId
+   **/
+  XcmV2BodyId: {
+    _enum: {
+      Unit: 'Null',
+      Named: 'Bytes',
+      Index: 'Compact<u32>',
+      Executive: 'Null',
+      Technical: 'Null',
+      Legislative: 'Null',
+      Judicial: 'Null',
+      Defense: 'Null',
+      Administration: 'Null',
+      Treasury: 'Null'
+    }
+  },
+  /**
+   * Lookup135: xcm::v2::BodyPart
+   **/
+  XcmV2BodyPart: {
+    _enum: {
+      Voice: 'Null',
+      Members: {
+        count: 'Compact<u32>',
+      },
+      Fraction: {
+        nom: 'Compact<u32>',
+        denom: 'Compact<u32>',
+      },
+      AtLeastProportion: {
+        nom: 'Compact<u32>',
+        denom: 'Compact<u32>',
+      },
+      MoreThanProportion: {
+        nom: 'Compact<u32>',
+        denom: 'Compact<u32>'
+      }
+    }
+  },
+  /**
+   * Lookup136: xcm::v3::WeightLimit
+   **/
+  XcmV3WeightLimit: {
+    _enum: {
+      Unlimited: 'Null',
+      Limited: 'SpWeightsWeightV2Weight'
+    }
+  },
+  /**
+   * Lookup137: xcm::VersionedMultiAsset
    **/
   XcmVersionedMultiAsset: {
     _enum: {
@@ -2232,8 +1615,62 @@
     }
   },
   /**
-   * Lookup252: orml_tokens::module::Call<T>
+   * Lookup138: xcm::v2::multiasset::MultiAsset
    **/
+  XcmV2MultiAsset: {
+    id: 'XcmV2MultiassetAssetId',
+    fun: 'XcmV2MultiassetFungibility'
+  },
+  /**
+   * Lookup139: xcm::v2::multiasset::AssetId
+   **/
+  XcmV2MultiassetAssetId: {
+    _enum: {
+      Concrete: 'XcmV2MultiLocation',
+      Abstract: 'Bytes'
+    }
+  },
+  /**
+   * Lookup140: xcm::v2::multiasset::Fungibility
+   **/
+  XcmV2MultiassetFungibility: {
+    _enum: {
+      Fungible: 'Compact<u128>',
+      NonFungible: 'XcmV2MultiassetAssetInstance'
+    }
+  },
+  /**
+   * Lookup141: xcm::v2::multiasset::AssetInstance
+   **/
+  XcmV2MultiassetAssetInstance: {
+    _enum: {
+      Undefined: 'Null',
+      Index: 'Compact<u128>',
+      Array4: '[u8;4]',
+      Array8: '[u8;8]',
+      Array16: '[u8;16]',
+      Array32: '[u8;32]',
+      Blob: 'Bytes'
+    }
+  },
+  /**
+   * Lookup144: xcm::VersionedMultiAssets
+   **/
+  XcmVersionedMultiAssets: {
+    _enum: {
+      __Unused0: 'Null',
+      V2: 'XcmV2MultiassetMultiAssets',
+      __Unused2: 'Null',
+      V3: 'XcmV3MultiassetMultiAssets'
+    }
+  },
+  /**
+   * Lookup145: xcm::v2::multiasset::MultiAssets
+   **/
+  XcmV2MultiassetMultiAssets: 'Vec<XcmV2MultiAsset>',
+  /**
+   * Lookup147: orml_tokens::module::Call<T>
+   **/
   OrmlTokensModuleCall: {
     _enum: {
       transfer: {
@@ -2266,7 +1703,7 @@
     }
   },
   /**
-   * Lookup253: pallet_identity::pallet::Call<T>
+   * Lookup148: pallet_identity::pallet::Call<T>
    **/
   PalletIdentityCall: {
     _enum: {
@@ -2335,7 +1772,7 @@
     }
   },
   /**
-   * Lookup254: pallet_identity::types::IdentityInfo<FieldLimit>
+   * Lookup149: pallet_identity::types::IdentityInfo<FieldLimit>
    **/
   PalletIdentityIdentityInfo: {
     additional: 'Vec<(Data,Data)>',
@@ -2349,7 +1786,7 @@
     twitter: 'Data'
   },
   /**
-   * Lookup290: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>
+   * Lookup185: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>
    **/
   PalletIdentityBitFlags: {
     _bitLength: 64,
@@ -2363,13 +1800,13 @@
     Twitter: 128
   },
   /**
-   * Lookup291: pallet_identity::types::IdentityField
+   * Lookup186: pallet_identity::types::IdentityField
    **/
   PalletIdentityIdentityField: {
     _enum: ['__Unused0', 'Display', 'Legal', '__Unused3', 'Web', '__Unused5', '__Unused6', '__Unused7', 'Riot', '__Unused9', '__Unused10', '__Unused11', '__Unused12', '__Unused13', '__Unused14', '__Unused15', 'Email', '__Unused17', '__Unused18', '__Unused19', '__Unused20', '__Unused21', '__Unused22', '__Unused23', '__Unused24', '__Unused25', '__Unused26', '__Unused27', '__Unused28', '__Unused29', '__Unused30', '__Unused31', 'PgpFingerprint', '__Unused33', '__Unused34', '__Unused35', '__Unused36', '__Unused37', '__Unused38', '__Unused39', '__Unused40', '__Unused41', '__Unused42', '__Unused43', '__Unused44', '__Unused45', '__Unused46', '__Unused47', '__Unused48', '__Unused49', '__Unused50', '__Unused51', '__Unused52', '__Unused53', '__Unused54', '__Unused55', '__Unused56', '__Unused57', '__Unused58', '__Unused59', '__Unused60', '__Unused61', '__Unused62', '__Unused63', 'Image', '__Unused65', '__Unused66', '__Unused67', '__Unused68', '__Unused69', '__Unused70', '__Unused71', '__Unused72', '__Unused73', '__Unused74', '__Unused75', '__Unused76', '__Unused77', '__Unused78', '__Unused79', '__Unused80', '__Unused81', '__Unused82', '__Unused83', '__Unused84', '__Unused85', '__Unused86', '__Unused87', '__Unused88', '__Unused89', '__Unused90', '__Unused91', '__Unused92', '__Unused93', '__Unused94', '__Unused95', '__Unused96', '__Unused97', '__Unused98', '__Unused99', '__Unused100', '__Unused101', '__Unused102', '__Unused103', '__Unused104', '__Unused105', '__Unused106', '__Unused107', '__Unused108', '__Unused109', '__Unused110', '__Unused111', '__Unused112', '__Unused113', '__Unused114', '__Unused115', '__Unused116', '__Unused117', '__Unused118', '__Unused119', '__Unused120', '__Unused121', '__Unused122', '__Unused123', '__Unused124', '__Unused125', '__Unused126', '__Unused127', 'Twitter']
   },
   /**
-   * Lookup292: pallet_identity::types::Judgement<Balance>
+   * Lookup187: pallet_identity::types::Judgement<Balance>
    **/
   PalletIdentityJudgement: {
     _enum: {
@@ -2383,7 +1820,7 @@
     }
   },
   /**
-   * Lookup295: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>
+   * Lookup190: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>
    **/
   PalletIdentityRegistration: {
     judgements: 'Vec<(u32,PalletIdentityJudgement)>',
@@ -2391,7 +1828,7 @@
     info: 'PalletIdentityIdentityInfo'
   },
   /**
-   * Lookup303: pallet_preimage::pallet::Call<T>
+   * Lookup198: pallet_preimage::pallet::Call<T>
    **/
   PalletPreimageCall: {
     _enum: {
@@ -2419,7 +1856,427 @@
     }
   },
   /**
-   * Lookup304: cumulus_pallet_xcmp_queue::pallet::Call<T>
+   * Lookup199: pallet_democracy::pallet::Call<T>
+   **/
+  PalletDemocracyCall: {
+    _enum: {
+      propose: {
+        proposal: 'FrameSupportPreimagesBounded',
+        value: 'Compact<u128>',
+      },
+      second: {
+        proposal: 'Compact<u32>',
+      },
+      vote: {
+        refIndex: 'Compact<u32>',
+        vote: 'PalletDemocracyVoteAccountVote',
+      },
+      emergency_cancel: {
+        refIndex: 'u32',
+      },
+      external_propose: {
+        proposal: 'FrameSupportPreimagesBounded',
+      },
+      external_propose_majority: {
+        proposal: 'FrameSupportPreimagesBounded',
+      },
+      external_propose_default: {
+        proposal: 'FrameSupportPreimagesBounded',
+      },
+      fast_track: {
+        proposalHash: 'H256',
+        votingPeriod: 'u32',
+        delay: 'u32',
+      },
+      veto_external: {
+        proposalHash: 'H256',
+      },
+      cancel_referendum: {
+        refIndex: 'Compact<u32>',
+      },
+      delegate: {
+        to: 'MultiAddress',
+        conviction: 'PalletDemocracyConviction',
+        balance: 'u128',
+      },
+      undelegate: 'Null',
+      clear_public_proposals: 'Null',
+      unlock: {
+        target: 'MultiAddress',
+      },
+      remove_vote: {
+        index: 'u32',
+      },
+      remove_other_vote: {
+        target: 'MultiAddress',
+        index: 'u32',
+      },
+      blacklist: {
+        proposalHash: 'H256',
+        maybeRefIndex: 'Option<u32>',
+      },
+      cancel_proposal: {
+        propIndex: 'Compact<u32>',
+      },
+      set_metadata: {
+        owner: 'PalletDemocracyMetadataOwner',
+        maybeHash: 'Option<H256>'
+      }
+    }
+  },
+  /**
+   * Lookup200: pallet_democracy::conviction::Conviction
+   **/
+  PalletDemocracyConviction: {
+    _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x']
+  },
+  /**
+   * Lookup203: pallet_collective::pallet::Call<T, I>
+   **/
+  PalletCollectiveCall: {
+    _enum: {
+      set_members: {
+        newMembers: 'Vec<AccountId32>',
+        prime: 'Option<AccountId32>',
+        oldCount: 'u32',
+      },
+      execute: {
+        proposal: 'Call',
+        lengthBound: 'Compact<u32>',
+      },
+      propose: {
+        threshold: 'Compact<u32>',
+        proposal: 'Call',
+        lengthBound: 'Compact<u32>',
+      },
+      vote: {
+        proposal: 'H256',
+        index: 'Compact<u32>',
+        approve: 'bool',
+      },
+      __Unused4: 'Null',
+      disapprove_proposal: {
+        proposalHash: 'H256',
+      },
+      close: {
+        proposalHash: 'H256',
+        index: 'Compact<u32>',
+        proposalWeightBound: 'SpWeightsWeightV2Weight',
+        lengthBound: 'Compact<u32>'
+      }
+    }
+  },
+  /**
+   * Lookup205: pallet_membership::pallet::Call<T, I>
+   **/
+  PalletMembershipCall: {
+    _enum: {
+      add_member: {
+        who: 'MultiAddress',
+      },
+      remove_member: {
+        who: 'MultiAddress',
+      },
+      swap_member: {
+        remove: 'MultiAddress',
+        add: 'MultiAddress',
+      },
+      reset_members: {
+        members: 'Vec<AccountId32>',
+      },
+      change_key: {
+        _alias: {
+          new_: 'new',
+        },
+        new_: 'MultiAddress',
+      },
+      set_prime: {
+        who: 'MultiAddress',
+      },
+      clear_prime: 'Null'
+    }
+  },
+  /**
+   * Lookup207: pallet_ranked_collective::pallet::Call<T, I>
+   **/
+  PalletRankedCollectiveCall: {
+    _enum: {
+      add_member: {
+        who: 'MultiAddress',
+      },
+      promote_member: {
+        who: 'MultiAddress',
+      },
+      demote_member: {
+        who: 'MultiAddress',
+      },
+      remove_member: {
+        who: 'MultiAddress',
+        minRank: 'u16',
+      },
+      vote: {
+        poll: 'u32',
+        aye: 'bool',
+      },
+      cleanup_poll: {
+        pollIndex: 'u32',
+        max: 'u32'
+      }
+    }
+  },
+  /**
+   * Lookup208: pallet_referenda::pallet::Call<T, I>
+   **/
+  PalletReferendaCall: {
+    _enum: {
+      submit: {
+        proposalOrigin: 'QuartzRuntimeOriginCaller',
+        proposal: 'FrameSupportPreimagesBounded',
+        enactmentMoment: 'FrameSupportScheduleDispatchTime',
+      },
+      place_decision_deposit: {
+        index: 'u32',
+      },
+      refund_decision_deposit: {
+        index: 'u32',
+      },
+      cancel: {
+        index: 'u32',
+      },
+      kill: {
+        index: 'u32',
+      },
+      nudge_referendum: {
+        index: 'u32',
+      },
+      one_fewer_deciding: {
+        track: 'u16',
+      },
+      refund_submission_deposit: {
+        index: 'u32',
+      },
+      set_metadata: {
+        index: 'u32',
+        maybeHash: 'Option<H256>'
+      }
+    }
+  },
+  /**
+   * Lookup209: quartz_runtime::OriginCaller
+   **/
+  QuartzRuntimeOriginCaller: {
+    _enum: {
+      system: 'FrameSupportDispatchRawOrigin',
+      __Unused1: 'Null',
+      __Unused2: 'Null',
+      __Unused3: 'Null',
+      __Unused4: 'Null',
+      __Unused5: 'Null',
+      __Unused6: 'Null',
+      Void: 'SpCoreVoid',
+      __Unused8: 'Null',
+      __Unused9: 'Null',
+      __Unused10: 'Null',
+      __Unused11: 'Null',
+      __Unused12: 'Null',
+      __Unused13: 'Null',
+      __Unused14: 'Null',
+      __Unused15: 'Null',
+      __Unused16: 'Null',
+      __Unused17: 'Null',
+      __Unused18: 'Null',
+      __Unused19: 'Null',
+      __Unused20: 'Null',
+      __Unused21: 'Null',
+      __Unused22: 'Null',
+      __Unused23: 'Null',
+      __Unused24: 'Null',
+      __Unused25: 'Null',
+      __Unused26: 'Null',
+      __Unused27: 'Null',
+      __Unused28: 'Null',
+      __Unused29: 'Null',
+      __Unused30: 'Null',
+      __Unused31: 'Null',
+      __Unused32: 'Null',
+      __Unused33: 'Null',
+      __Unused34: 'Null',
+      __Unused35: 'Null',
+      __Unused36: 'Null',
+      __Unused37: 'Null',
+      __Unused38: 'Null',
+      __Unused39: 'Null',
+      __Unused40: 'Null',
+      __Unused41: 'Null',
+      __Unused42: 'Null',
+      Council: 'PalletCollectiveRawOrigin',
+      TechnicalCommittee: 'PalletCollectiveRawOrigin',
+      __Unused45: 'Null',
+      __Unused46: 'Null',
+      __Unused47: 'Null',
+      __Unused48: 'Null',
+      __Unused49: 'Null',
+      __Unused50: 'Null',
+      PolkadotXcm: 'PalletXcmOrigin',
+      CumulusXcm: 'CumulusPalletXcmOrigin',
+      __Unused53: 'Null',
+      __Unused54: 'Null',
+      __Unused55: 'Null',
+      __Unused56: 'Null',
+      __Unused57: 'Null',
+      __Unused58: 'Null',
+      __Unused59: 'Null',
+      __Unused60: 'Null',
+      __Unused61: 'Null',
+      __Unused62: 'Null',
+      __Unused63: 'Null',
+      __Unused64: 'Null',
+      __Unused65: 'Null',
+      __Unused66: 'Null',
+      __Unused67: 'Null',
+      __Unused68: 'Null',
+      __Unused69: 'Null',
+      __Unused70: 'Null',
+      __Unused71: 'Null',
+      __Unused72: 'Null',
+      __Unused73: 'Null',
+      __Unused74: 'Null',
+      __Unused75: 'Null',
+      __Unused76: 'Null',
+      __Unused77: 'Null',
+      __Unused78: 'Null',
+      __Unused79: 'Null',
+      __Unused80: 'Null',
+      __Unused81: 'Null',
+      __Unused82: 'Null',
+      __Unused83: 'Null',
+      __Unused84: 'Null',
+      __Unused85: 'Null',
+      __Unused86: 'Null',
+      __Unused87: 'Null',
+      __Unused88: 'Null',
+      __Unused89: 'Null',
+      __Unused90: 'Null',
+      __Unused91: 'Null',
+      __Unused92: 'Null',
+      __Unused93: 'Null',
+      __Unused94: 'Null',
+      __Unused95: 'Null',
+      __Unused96: 'Null',
+      __Unused97: 'Null',
+      __Unused98: 'Null',
+      Origins: 'PalletGovOriginsOrigin',
+      __Unused100: 'Null',
+      Ethereum: 'PalletEthereumRawOrigin'
+    }
+  },
+  /**
+   * Lookup210: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>
+   **/
+  FrameSupportDispatchRawOrigin: {
+    _enum: {
+      Root: 'Null',
+      Signed: 'AccountId32',
+      None: 'Null'
+    }
+  },
+  /**
+   * Lookup211: pallet_collective::RawOrigin<sp_core::crypto::AccountId32, I>
+   **/
+  PalletCollectiveRawOrigin: {
+    _enum: {
+      Members: '(u32,u32)',
+      Member: 'AccountId32',
+      _Phantom: 'Null'
+    }
+  },
+  /**
+   * Lookup213: pallet_gov_origins::pallet::Origin
+   **/
+  PalletGovOriginsOrigin: {
+    _enum: ['FellowshipProposition']
+  },
+  /**
+   * Lookup214: pallet_xcm::pallet::Origin
+   **/
+  PalletXcmOrigin: {
+    _enum: {
+      Xcm: 'XcmV3MultiLocation',
+      Response: 'XcmV3MultiLocation'
+    }
+  },
+  /**
+   * Lookup215: cumulus_pallet_xcm::pallet::Origin
+   **/
+  CumulusPalletXcmOrigin: {
+    _enum: {
+      Relay: 'Null',
+      SiblingParachain: 'u32'
+    }
+  },
+  /**
+   * Lookup216: pallet_ethereum::RawOrigin
+   **/
+  PalletEthereumRawOrigin: {
+    _enum: {
+      EthereumTransaction: 'H160'
+    }
+  },
+  /**
+   * Lookup218: sp_core::Void
+   **/
+  SpCoreVoid: 'Null',
+  /**
+   * Lookup219: frame_support::traits::schedule::DispatchTime<BlockNumber>
+   **/
+  FrameSupportScheduleDispatchTime: {
+    _enum: {
+      At: 'u32',
+      After: 'u32'
+    }
+  },
+  /**
+   * Lookup220: pallet_scheduler::pallet::Call<T>
+   **/
+  PalletSchedulerCall: {
+    _enum: {
+      schedule: {
+        when: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'u8',
+        call: 'Call',
+      },
+      cancel: {
+        when: 'u32',
+        index: 'u32',
+      },
+      schedule_named: {
+        id: '[u8;32]',
+        when: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'u8',
+        call: 'Call',
+      },
+      cancel_named: {
+        id: '[u8;32]',
+      },
+      schedule_after: {
+        after: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'u8',
+        call: 'Call',
+      },
+      schedule_named_after: {
+        id: '[u8;32]',
+        after: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'u8',
+        call: 'Call'
+      }
+    }
+  },
+  /**
+   * Lookup223: cumulus_pallet_xcmp_queue::pallet::Call<T>
    **/
   CumulusPalletXcmpQueueCall: {
     _enum: {
@@ -2468,7 +2325,7 @@
     }
   },
   /**
-   * Lookup305: pallet_xcm::pallet::Call<T>
+   * Lookup224: pallet_xcm::pallet::Call<T>
    **/
   PalletXcmCall: {
     _enum: {
@@ -2525,7 +2382,7 @@
     }
   },
   /**
-   * Lookup306: xcm::VersionedXcm<RuntimeCall>
+   * Lookup225: xcm::VersionedXcm<RuntimeCall>
    **/
   XcmVersionedXcm: {
     _enum: {
@@ -2536,11 +2393,11 @@
     }
   },
   /**
-   * Lookup307: xcm::v2::Xcm<RuntimeCall>
+   * Lookup226: xcm::v2::Xcm<RuntimeCall>
    **/
   XcmV2Xcm: 'Vec<XcmV2Instruction>',
   /**
-   * Lookup309: xcm::v2::Instruction<RuntimeCall>
+   * Lookup228: xcm::v2::Instruction<RuntimeCall>
    **/
   XcmV2Instruction: {
     _enum: {
@@ -2638,7 +2495,7 @@
     }
   },
   /**
-   * Lookup310: xcm::v2::Response
+   * Lookup229: xcm::v2::Response
    **/
   XcmV2Response: {
     _enum: {
@@ -2649,7 +2506,7 @@
     }
   },
   /**
-   * Lookup313: xcm::v2::traits::Error
+   * Lookup232: xcm::v2::traits::Error
    **/
   XcmV2TraitsError: {
     _enum: {
@@ -2682,8 +2539,20 @@
     }
   },
   /**
-   * Lookup314: xcm::v2::multiasset::MultiAssetFilter
+   * Lookup233: xcm::v2::OriginKind
    **/
+  XcmV2OriginKind: {
+    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']
+  },
+  /**
+   * Lookup234: xcm::double_encoded::DoubleEncoded<T>
+   **/
+  XcmDoubleEncoded: {
+    encoded: 'Bytes'
+  },
+  /**
+   * Lookup235: xcm::v2::multiasset::MultiAssetFilter
+   **/
   XcmV2MultiassetMultiAssetFilter: {
     _enum: {
       Definite: 'XcmV2MultiassetMultiAssets',
@@ -2691,7 +2560,7 @@
     }
   },
   /**
-   * Lookup315: xcm::v2::multiasset::WildMultiAsset
+   * Lookup236: xcm::v2::multiasset::WildMultiAsset
    **/
   XcmV2MultiassetWildMultiAsset: {
     _enum: {
@@ -2703,13 +2572,13 @@
     }
   },
   /**
-   * Lookup316: xcm::v2::multiasset::WildFungibility
+   * Lookup237: xcm::v2::multiasset::WildFungibility
    **/
   XcmV2MultiassetWildFungibility: {
     _enum: ['Fungible', 'NonFungible']
   },
   /**
-   * Lookup317: xcm::v2::WeightLimit
+   * Lookup238: xcm::v2::WeightLimit
    **/
   XcmV2WeightLimit: {
     _enum: {
@@ -2718,11 +2587,279 @@
     }
   },
   /**
-   * Lookup326: cumulus_pallet_xcm::pallet::Call<T>
+   * Lookup239: xcm::v3::Xcm<Call>
+   **/
+  XcmV3Xcm: 'Vec<XcmV3Instruction>',
+  /**
+   * Lookup241: xcm::v3::Instruction<Call>
+   **/
+  XcmV3Instruction: {
+    _enum: {
+      WithdrawAsset: 'XcmV3MultiassetMultiAssets',
+      ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets',
+      ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets',
+      QueryResponse: {
+        queryId: 'Compact<u64>',
+        response: 'XcmV3Response',
+        maxWeight: 'SpWeightsWeightV2Weight',
+        querier: 'Option<XcmV3MultiLocation>',
+      },
+      TransferAsset: {
+        assets: 'XcmV3MultiassetMultiAssets',
+        beneficiary: 'XcmV3MultiLocation',
+      },
+      TransferReserveAsset: {
+        assets: 'XcmV3MultiassetMultiAssets',
+        dest: 'XcmV3MultiLocation',
+        xcm: 'XcmV3Xcm',
+      },
+      Transact: {
+        originKind: 'XcmV2OriginKind',
+        requireWeightAtMost: 'SpWeightsWeightV2Weight',
+        call: 'XcmDoubleEncoded',
+      },
+      HrmpNewChannelOpenRequest: {
+        sender: 'Compact<u32>',
+        maxMessageSize: 'Compact<u32>',
+        maxCapacity: 'Compact<u32>',
+      },
+      HrmpChannelAccepted: {
+        recipient: 'Compact<u32>',
+      },
+      HrmpChannelClosing: {
+        initiator: 'Compact<u32>',
+        sender: 'Compact<u32>',
+        recipient: 'Compact<u32>',
+      },
+      ClearOrigin: 'Null',
+      DescendOrigin: 'XcmV3Junctions',
+      ReportError: 'XcmV3QueryResponseInfo',
+      DepositAsset: {
+        assets: 'XcmV3MultiassetMultiAssetFilter',
+        beneficiary: 'XcmV3MultiLocation',
+      },
+      DepositReserveAsset: {
+        assets: 'XcmV3MultiassetMultiAssetFilter',
+        dest: 'XcmV3MultiLocation',
+        xcm: 'XcmV3Xcm',
+      },
+      ExchangeAsset: {
+        give: 'XcmV3MultiassetMultiAssetFilter',
+        want: 'XcmV3MultiassetMultiAssets',
+        maximal: 'bool',
+      },
+      InitiateReserveWithdraw: {
+        assets: 'XcmV3MultiassetMultiAssetFilter',
+        reserve: 'XcmV3MultiLocation',
+        xcm: 'XcmV3Xcm',
+      },
+      InitiateTeleport: {
+        assets: 'XcmV3MultiassetMultiAssetFilter',
+        dest: 'XcmV3MultiLocation',
+        xcm: 'XcmV3Xcm',
+      },
+      ReportHolding: {
+        responseInfo: 'XcmV3QueryResponseInfo',
+        assets: 'XcmV3MultiassetMultiAssetFilter',
+      },
+      BuyExecution: {
+        fees: 'XcmV3MultiAsset',
+        weightLimit: 'XcmV3WeightLimit',
+      },
+      RefundSurplus: 'Null',
+      SetErrorHandler: 'XcmV3Xcm',
+      SetAppendix: 'XcmV3Xcm',
+      ClearError: 'Null',
+      ClaimAsset: {
+        assets: 'XcmV3MultiassetMultiAssets',
+        ticket: 'XcmV3MultiLocation',
+      },
+      Trap: 'Compact<u64>',
+      SubscribeVersion: {
+        queryId: 'Compact<u64>',
+        maxResponseWeight: 'SpWeightsWeightV2Weight',
+      },
+      UnsubscribeVersion: 'Null',
+      BurnAsset: 'XcmV3MultiassetMultiAssets',
+      ExpectAsset: 'XcmV3MultiassetMultiAssets',
+      ExpectOrigin: 'Option<XcmV3MultiLocation>',
+      ExpectError: 'Option<(u32,XcmV3TraitsError)>',
+      ExpectTransactStatus: 'XcmV3MaybeErrorCode',
+      QueryPallet: {
+        moduleName: 'Bytes',
+        responseInfo: 'XcmV3QueryResponseInfo',
+      },
+      ExpectPallet: {
+        index: 'Compact<u32>',
+        name: 'Bytes',
+        moduleName: 'Bytes',
+        crateMajor: 'Compact<u32>',
+        minCrateMinor: 'Compact<u32>',
+      },
+      ReportTransactStatus: 'XcmV3QueryResponseInfo',
+      ClearTransactStatus: 'Null',
+      UniversalOrigin: 'XcmV3Junction',
+      ExportMessage: {
+        network: 'XcmV3JunctionNetworkId',
+        destination: 'XcmV3Junctions',
+        xcm: 'XcmV3Xcm',
+      },
+      LockAsset: {
+        asset: 'XcmV3MultiAsset',
+        unlocker: 'XcmV3MultiLocation',
+      },
+      UnlockAsset: {
+        asset: 'XcmV3MultiAsset',
+        target: 'XcmV3MultiLocation',
+      },
+      NoteUnlockable: {
+        asset: 'XcmV3MultiAsset',
+        owner: 'XcmV3MultiLocation',
+      },
+      RequestUnlock: {
+        asset: 'XcmV3MultiAsset',
+        locker: 'XcmV3MultiLocation',
+      },
+      SetFeesMode: {
+        jitWithdraw: 'bool',
+      },
+      SetTopic: '[u8;32]',
+      ClearTopic: 'Null',
+      AliasOrigin: 'XcmV3MultiLocation',
+      UnpaidExecution: {
+        weightLimit: 'XcmV3WeightLimit',
+        checkOrigin: 'Option<XcmV3MultiLocation>'
+      }
+    }
+  },
+  /**
+   * Lookup242: xcm::v3::Response
+   **/
+  XcmV3Response: {
+    _enum: {
+      Null: 'Null',
+      Assets: 'XcmV3MultiassetMultiAssets',
+      ExecutionResult: 'Option<(u32,XcmV3TraitsError)>',
+      Version: 'u32',
+      PalletsInfo: 'Vec<XcmV3PalletInfo>',
+      DispatchResult: 'XcmV3MaybeErrorCode'
+    }
+  },
+  /**
+   * Lookup245: xcm::v3::traits::Error
+   **/
+  XcmV3TraitsError: {
+    _enum: {
+      Overflow: 'Null',
+      Unimplemented: 'Null',
+      UntrustedReserveLocation: 'Null',
+      UntrustedTeleportLocation: 'Null',
+      LocationFull: 'Null',
+      LocationNotInvertible: 'Null',
+      BadOrigin: 'Null',
+      InvalidLocation: 'Null',
+      AssetNotFound: 'Null',
+      FailedToTransactAsset: 'Null',
+      NotWithdrawable: 'Null',
+      LocationCannotHold: 'Null',
+      ExceedsMaxMessageSize: 'Null',
+      DestinationUnsupported: 'Null',
+      Transport: 'Null',
+      Unroutable: 'Null',
+      UnknownClaim: 'Null',
+      FailedToDecode: 'Null',
+      MaxWeightInvalid: 'Null',
+      NotHoldingFees: 'Null',
+      TooExpensive: 'Null',
+      Trap: 'u64',
+      ExpectationFalse: 'Null',
+      PalletNotFound: 'Null',
+      NameMismatch: 'Null',
+      VersionIncompatible: 'Null',
+      HoldingWouldOverflow: 'Null',
+      ExportError: 'Null',
+      ReanchorFailed: 'Null',
+      NoDeal: 'Null',
+      FeesNotMet: 'Null',
+      LockError: 'Null',
+      NoPermission: 'Null',
+      Unanchored: 'Null',
+      NotDepositable: 'Null',
+      UnhandledXcmVersion: 'Null',
+      WeightLimitReached: 'SpWeightsWeightV2Weight',
+      Barrier: 'Null',
+      WeightNotComputable: 'Null',
+      ExceedsStackLimit: 'Null'
+    }
+  },
+  /**
+   * Lookup247: xcm::v3::PalletInfo
+   **/
+  XcmV3PalletInfo: {
+    index: 'Compact<u32>',
+    name: 'Bytes',
+    moduleName: 'Bytes',
+    major: 'Compact<u32>',
+    minor: 'Compact<u32>',
+    patch: 'Compact<u32>'
+  },
+  /**
+   * Lookup250: xcm::v3::MaybeErrorCode
+   **/
+  XcmV3MaybeErrorCode: {
+    _enum: {
+      Success: 'Null',
+      Error: 'Bytes',
+      TruncatedError: 'Bytes'
+    }
+  },
+  /**
+   * Lookup253: xcm::v3::QueryResponseInfo
+   **/
+  XcmV3QueryResponseInfo: {
+    destination: 'XcmV3MultiLocation',
+    queryId: 'Compact<u64>',
+    maxWeight: 'SpWeightsWeightV2Weight'
+  },
+  /**
+   * Lookup254: xcm::v3::multiasset::MultiAssetFilter
+   **/
+  XcmV3MultiassetMultiAssetFilter: {
+    _enum: {
+      Definite: 'XcmV3MultiassetMultiAssets',
+      Wild: 'XcmV3MultiassetWildMultiAsset'
+    }
+  },
+  /**
+   * Lookup255: xcm::v3::multiasset::WildMultiAsset
    **/
+  XcmV3MultiassetWildMultiAsset: {
+    _enum: {
+      All: 'Null',
+      AllOf: {
+        id: 'XcmV3MultiassetAssetId',
+        fun: 'XcmV3MultiassetWildFungibility',
+      },
+      AllCounted: 'Compact<u32>',
+      AllOfCounted: {
+        id: 'XcmV3MultiassetAssetId',
+        fun: 'XcmV3MultiassetWildFungibility',
+        count: 'Compact<u32>'
+      }
+    }
+  },
+  /**
+   * Lookup256: xcm::v3::multiasset::WildFungibility
+   **/
+  XcmV3MultiassetWildFungibility: {
+    _enum: ['Fungible', 'NonFungible']
+  },
+  /**
+   * Lookup265: cumulus_pallet_xcm::pallet::Call<T>
+   **/
   CumulusPalletXcmCall: 'Null',
   /**
-   * Lookup327: cumulus_pallet_dmp_queue::pallet::Call<T>
+   * Lookup266: cumulus_pallet_dmp_queue::pallet::Call<T>
    **/
   CumulusPalletDmpQueueCall: {
     _enum: {
@@ -2733,7 +2870,7 @@
     }
   },
   /**
-   * Lookup328: pallet_inflation::pallet::Call<T>
+   * Lookup267: pallet_inflation::pallet::Call<T>
    **/
   PalletInflationCall: {
     _enum: {
@@ -2743,7 +2880,7 @@
     }
   },
   /**
-   * Lookup329: pallet_unique::pallet::Call<T>
+   * Lookup268: pallet_unique::pallet::Call<T>
    **/
   PalletUniqueCall: {
     _enum: {
@@ -2894,7 +3031,7 @@
     }
   },
   /**
-   * Lookup334: up_data_structs::CollectionMode
+   * Lookup273: up_data_structs::CollectionMode
    **/
   UpDataStructsCollectionMode: {
     _enum: {
@@ -2904,7 +3041,7 @@
     }
   },
   /**
-   * Lookup335: up_data_structs::CreateCollectionData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup274: up_data_structs::CreateCollectionData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateCollectionData: {
     mode: 'UpDataStructsCollectionMode',
@@ -2921,13 +3058,22 @@
     flags: '[u8;1]'
   },
   /**
-   * Lookup337: up_data_structs::AccessMode
+   * Lookup275: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>
+   **/
+  PalletEvmAccountBasicCrossAccountIdRepr: {
+    _enum: {
+      Substrate: 'AccountId32',
+      Ethereum: 'H160'
+    }
+  },
+  /**
+   * Lookup277: up_data_structs::AccessMode
    **/
   UpDataStructsAccessMode: {
     _enum: ['Normal', 'AllowList']
   },
   /**
-   * Lookup339: up_data_structs::CollectionLimits
+   * Lookup279: up_data_structs::CollectionLimits
    **/
   UpDataStructsCollectionLimits: {
     accountTokenOwnershipLimit: 'Option<u32>',
@@ -2941,7 +3087,7 @@
     transfersEnabled: 'Option<bool>'
   },
   /**
-   * Lookup341: up_data_structs::SponsoringRateLimit
+   * Lookup281: up_data_structs::SponsoringRateLimit
    **/
   UpDataStructsSponsoringRateLimit: {
     _enum: {
@@ -2950,7 +3096,7 @@
     }
   },
   /**
-   * Lookup344: up_data_structs::CollectionPermissions
+   * Lookup284: up_data_structs::CollectionPermissions
    **/
   UpDataStructsCollectionPermissions: {
     access: 'Option<UpDataStructsAccessMode>',
@@ -2958,7 +3104,7 @@
     nesting: 'Option<UpDataStructsNestingPermissions>'
   },
   /**
-   * Lookup346: up_data_structs::NestingPermissions
+   * Lookup286: up_data_structs::NestingPermissions
    **/
   UpDataStructsNestingPermissions: {
     tokenOwner: 'bool',
@@ -2966,18 +3112,18 @@
     restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
   },
   /**
-   * Lookup348: up_data_structs::OwnerRestrictedSet
+   * Lookup288: up_data_structs::OwnerRestrictedSet
    **/
   UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
   /**
-   * Lookup353: up_data_structs::PropertyKeyPermission
+   * Lookup294: up_data_structs::PropertyKeyPermission
    **/
   UpDataStructsPropertyKeyPermission: {
     key: 'Bytes',
     permission: 'UpDataStructsPropertyPermission'
   },
   /**
-   * Lookup354: up_data_structs::PropertyPermission
+   * Lookup296: up_data_structs::PropertyPermission
    **/
   UpDataStructsPropertyPermission: {
     mutable: 'bool',
@@ -2985,14 +3131,14 @@
     tokenOwner: 'bool'
   },
   /**
-   * Lookup357: up_data_structs::Property
+   * Lookup299: up_data_structs::Property
    **/
   UpDataStructsProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup362: up_data_structs::CreateItemData
+   * Lookup304: up_data_structs::CreateItemData
    **/
   UpDataStructsCreateItemData: {
     _enum: {
@@ -3002,26 +3148,26 @@
     }
   },
   /**
-   * Lookup363: up_data_structs::CreateNftData
+   * Lookup305: up_data_structs::CreateNftData
    **/
   UpDataStructsCreateNftData: {
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup364: up_data_structs::CreateFungibleData
+   * Lookup306: up_data_structs::CreateFungibleData
    **/
   UpDataStructsCreateFungibleData: {
     value: 'u128'
   },
   /**
-   * Lookup365: up_data_structs::CreateReFungibleData
+   * Lookup307: up_data_structs::CreateReFungibleData
    **/
   UpDataStructsCreateReFungibleData: {
     pieces: 'u128',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup368: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup311: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateItemExData: {
     _enum: {
@@ -3032,14 +3178,14 @@
     }
   },
   /**
-   * Lookup370: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup313: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateNftExData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup377: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup320: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExSingleOwner: {
     user: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -3047,14 +3193,14 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup379: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup322: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExMultipleOwners: {
     users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup380: pallet_configuration::pallet::Call<T>
+   * Lookup323: pallet_configuration::pallet::Call<T>
    **/
   PalletConfigurationCall: {
     _enum: {
@@ -3080,7 +3226,7 @@
     }
   },
   /**
-   * Lookup382: pallet_configuration::AppPromotionConfiguration<BlockNumber>
+   * Lookup325: pallet_configuration::AppPromotionConfiguration<BlockNumber>
    **/
   PalletConfigurationAppPromotionConfiguration: {
     recalculationInterval: 'Option<u32>',
@@ -3089,11 +3235,11 @@
     maxStakersPerCalculation: 'Option<u8>'
   },
   /**
-   * Lookup386: pallet_structure::pallet::Call<T>
+   * Lookup330: pallet_structure::pallet::Call<T>
    **/
   PalletStructureCall: 'Null',
   /**
-   * Lookup387: pallet_app_promotion::pallet::Call<T>
+   * Lookup331: pallet_app_promotion::pallet::Call<T>
    **/
   PalletAppPromotionCall: {
     _enum: {
@@ -3128,7 +3274,7 @@
     }
   },
   /**
-   * Lookup388: pallet_foreign_assets::module::Call<T>
+   * Lookup333: pallet_foreign_assets::module::Call<T>
    **/
   PalletForeignAssetsModuleCall: {
     _enum: {
@@ -3145,7 +3291,16 @@
     }
   },
   /**
-   * Lookup389: pallet_evm::pallet::Call<T>
+   * Lookup334: pallet_foreign_assets::module::AssetMetadata<Balance>
+   **/
+  PalletForeignAssetsModuleAssetMetadata: {
+    name: 'Bytes',
+    symbol: 'Bytes',
+    decimals: 'u8',
+    minimalBalance: 'u128'
+  },
+  /**
+   * Lookup337: pallet_evm::pallet::Call<T>
    **/
   PalletEvmCall: {
     _enum: {
@@ -3188,7 +3343,7 @@
     }
   },
   /**
-   * Lookup395: pallet_ethereum::pallet::Call<T>
+   * Lookup344: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -3198,7 +3353,7 @@
     }
   },
   /**
-   * Lookup396: ethereum::transaction::TransactionV2
+   * Lookup345: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -3208,7 +3363,7 @@
     }
   },
   /**
-   * Lookup397: ethereum::transaction::LegacyTransaction
+   * Lookup346: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -3220,7 +3375,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup398: ethereum::transaction::TransactionAction
+   * Lookup347: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -3229,7 +3384,7 @@
     }
   },
   /**
-   * Lookup399: ethereum::transaction::TransactionSignature
+   * Lookup348: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -3237,7 +3392,7 @@
     s: 'H256'
   },
   /**
-   * Lookup401: ethereum::transaction::EIP2930Transaction
+   * Lookup350: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -3253,14 +3408,14 @@
     s: 'H256'
   },
   /**
-   * Lookup403: ethereum::transaction::AccessListItem
+   * Lookup352: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup404: ethereum::transaction::EIP1559Transaction
+   * Lookup353: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -3277,7 +3432,7 @@
     s: 'H256'
   },
   /**
-   * Lookup405: pallet_evm_contract_helpers::pallet::Call<T>
+   * Lookup354: pallet_evm_contract_helpers::pallet::Call<T>
    **/
   PalletEvmContractHelpersCall: {
     _enum: {
@@ -3287,7 +3442,7 @@
     }
   },
   /**
-   * Lookup407: pallet_evm_migration::pallet::Call<T>
+   * Lookup356: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -3312,7 +3467,15 @@
     }
   },
   /**
-   * Lookup411: pallet_maintenance::pallet::Call<T>
+   * Lookup360: ethereum::log::Log
+   **/
+  EthereumLog: {
+    address: 'H160',
+    topics: 'Vec<H256>',
+    data: 'Bytes'
+  },
+  /**
+   * Lookup361: pallet_maintenance::pallet::Call<T>
    **/
   PalletMaintenanceCall: {
     _enum: {
@@ -3328,7 +3491,7 @@
     }
   },
   /**
-   * Lookup412: pallet_test_utils::pallet::Call<T>
+   * Lookup362: pallet_test_utils::pallet::Call<T>
    **/
   PalletTestUtilsCall: {
     _enum: {
@@ -3347,32 +3510,617 @@
     }
   },
   /**
-   * Lookup414: pallet_sudo::pallet::Error<T>
+   * Lookup365: pallet_scheduler::pallet::Event<T>
+   **/
+  PalletSchedulerEvent: {
+    _enum: {
+      Scheduled: {
+        when: 'u32',
+        index: 'u32',
+      },
+      Canceled: {
+        when: 'u32',
+        index: 'u32',
+      },
+      Dispatched: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;32]>',
+        result: 'Result<Null, SpRuntimeDispatchError>',
+      },
+      CallUnavailable: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;32]>',
+      },
+      PeriodicFailed: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;32]>',
+      },
+      PermanentlyOverweight: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;32]>'
+      }
+    }
+  },
+  /**
+   * Lookup366: cumulus_pallet_xcmp_queue::pallet::Event<T>
+   **/
+  CumulusPalletXcmpQueueEvent: {
+    _enum: {
+      Success: {
+        messageHash: 'Option<[u8;32]>',
+        weight: 'SpWeightsWeightV2Weight',
+      },
+      Fail: {
+        messageHash: 'Option<[u8;32]>',
+        error: 'XcmV3TraitsError',
+        weight: 'SpWeightsWeightV2Weight',
+      },
+      BadVersion: {
+        messageHash: 'Option<[u8;32]>',
+      },
+      BadFormat: {
+        messageHash: 'Option<[u8;32]>',
+      },
+      XcmpMessageSent: {
+        messageHash: 'Option<[u8;32]>',
+      },
+      OverweightEnqueued: {
+        sender: 'u32',
+        sentAt: 'u32',
+        index: 'u64',
+        required: 'SpWeightsWeightV2Weight',
+      },
+      OverweightServiced: {
+        index: 'u64',
+        used: 'SpWeightsWeightV2Weight'
+      }
+    }
+  },
+  /**
+   * Lookup367: pallet_xcm::pallet::Event<T>
+   **/
+  PalletXcmEvent: {
+    _enum: {
+      Attempted: 'XcmV3TraitsOutcome',
+      Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)',
+      UnexpectedResponse: '(XcmV3MultiLocation,u64)',
+      ResponseReady: '(u64,XcmV3Response)',
+      Notified: '(u64,u8,u8)',
+      NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',
+      NotifyDispatchError: '(u64,u8,u8)',
+      NotifyDecodeFailed: '(u64,u8,u8)',
+      InvalidResponder: '(XcmV3MultiLocation,u64,Option<XcmV3MultiLocation>)',
+      InvalidResponderVersion: '(XcmV3MultiLocation,u64)',
+      ResponseTaken: 'u64',
+      AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)',
+      VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)',
+      SupportedVersionChanged: '(XcmV3MultiLocation,u32)',
+      NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)',
+      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',
+      InvalidQuerierVersion: '(XcmV3MultiLocation,u64)',
+      InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option<XcmV3MultiLocation>)',
+      VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
+      VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
+      VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
+      FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',
+      AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)'
+    }
+  },
+  /**
+   * Lookup368: xcm::v3::traits::Outcome
+   **/
+  XcmV3TraitsOutcome: {
+    _enum: {
+      Complete: 'SpWeightsWeightV2Weight',
+      Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)',
+      Error: 'XcmV3TraitsError'
+    }
+  },
+  /**
+   * Lookup369: cumulus_pallet_xcm::pallet::Event<T>
+   **/
+  CumulusPalletXcmEvent: {
+    _enum: {
+      InvalidFormat: '[u8;32]',
+      UnsupportedVersion: '[u8;32]',
+      ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)'
+    }
+  },
+  /**
+   * Lookup370: cumulus_pallet_dmp_queue::pallet::Event<T>
    **/
+  CumulusPalletDmpQueueEvent: {
+    _enum: {
+      InvalidFormat: {
+        messageId: '[u8;32]',
+      },
+      UnsupportedVersion: {
+        messageId: '[u8;32]',
+      },
+      ExecutedDownward: {
+        messageId: '[u8;32]',
+        outcome: 'XcmV3TraitsOutcome',
+      },
+      WeightExhausted: {
+        messageId: '[u8;32]',
+        remainingWeight: 'SpWeightsWeightV2Weight',
+        requiredWeight: 'SpWeightsWeightV2Weight',
+      },
+      OverweightEnqueued: {
+        messageId: '[u8;32]',
+        overweightIndex: 'u64',
+        requiredWeight: 'SpWeightsWeightV2Weight',
+      },
+      OverweightServiced: {
+        overweightIndex: 'u64',
+        weightUsed: 'SpWeightsWeightV2Weight',
+      },
+      MaxMessagesExhausted: {
+        messageId: '[u8;32]'
+      }
+    }
+  },
+  /**
+   * Lookup371: pallet_configuration::pallet::Event<T>
+   **/
+  PalletConfigurationEvent: {
+    _enum: {
+      NewDesiredCollators: {
+        desiredCollators: 'Option<u32>',
+      },
+      NewCollatorLicenseBond: {
+        bondCost: 'Option<u128>',
+      },
+      NewCollatorKickThreshold: {
+        lengthInBlocks: 'Option<u32>'
+      }
+    }
+  },
+  /**
+   * Lookup372: pallet_common::pallet::Event<T>
+   **/
+  PalletCommonEvent: {
+    _enum: {
+      CollectionCreated: '(u32,u8,AccountId32)',
+      CollectionDestroyed: 'u32',
+      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',
+      ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',
+      CollectionPropertySet: '(u32,Bytes)',
+      CollectionPropertyDeleted: '(u32,Bytes)',
+      TokenPropertySet: '(u32,u32,Bytes)',
+      TokenPropertyDeleted: '(u32,u32,Bytes)',
+      PropertyPermissionSet: '(u32,Bytes)',
+      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',
+      CollectionLimitSet: 'u32',
+      CollectionOwnerChanged: '(u32,AccountId32)',
+      CollectionPermissionSet: 'u32',
+      CollectionSponsorSet: '(u32,AccountId32)',
+      SponsorshipConfirmed: '(u32,AccountId32)',
+      CollectionSponsorRemoved: 'u32'
+    }
+  },
+  /**
+   * Lookup373: pallet_structure::pallet::Event<T>
+   **/
+  PalletStructureEvent: {
+    _enum: {
+      Executed: 'Result<Null, SpRuntimeDispatchError>'
+    }
+  },
+  /**
+   * Lookup374: pallet_app_promotion::pallet::Event<T>
+   **/
+  PalletAppPromotionEvent: {
+    _enum: {
+      StakingRecalculation: '(AccountId32,u128,u128)',
+      Stake: '(AccountId32,u128)',
+      Unstake: '(AccountId32,u128)',
+      SetAdmin: 'AccountId32'
+    }
+  },
+  /**
+   * Lookup375: pallet_foreign_assets::module::Event<T>
+   **/
+  PalletForeignAssetsModuleEvent: {
+    _enum: {
+      ForeignAssetRegistered: {
+        assetId: 'u32',
+        assetAddress: 'XcmV3MultiLocation',
+        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      },
+      ForeignAssetUpdated: {
+        assetId: 'u32',
+        assetAddress: 'XcmV3MultiLocation',
+        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      },
+      AssetRegistered: {
+        assetId: 'PalletForeignAssetsAssetIds',
+        metadata: 'PalletForeignAssetsModuleAssetMetadata',
+      },
+      AssetUpdated: {
+        assetId: 'PalletForeignAssetsAssetIds',
+        metadata: 'PalletForeignAssetsModuleAssetMetadata'
+      }
+    }
+  },
+  /**
+   * Lookup376: pallet_evm::pallet::Event<T>
+   **/
+  PalletEvmEvent: {
+    _enum: {
+      Log: {
+        log: 'EthereumLog',
+      },
+      Created: {
+        address: 'H160',
+      },
+      CreatedFailed: {
+        address: 'H160',
+      },
+      Executed: {
+        address: 'H160',
+      },
+      ExecutedFailed: {
+        address: 'H160'
+      }
+    }
+  },
+  /**
+   * Lookup377: pallet_ethereum::pallet::Event
+   **/
+  PalletEthereumEvent: {
+    _enum: {
+      Executed: {
+        from: 'H160',
+        to: 'H160',
+        transactionHash: 'H256',
+        exitReason: 'EvmCoreErrorExitReason',
+        extraData: 'Bytes'
+      }
+    }
+  },
+  /**
+   * Lookup378: evm_core::error::ExitReason
+   **/
+  EvmCoreErrorExitReason: {
+    _enum: {
+      Succeed: 'EvmCoreErrorExitSucceed',
+      Error: 'EvmCoreErrorExitError',
+      Revert: 'EvmCoreErrorExitRevert',
+      Fatal: 'EvmCoreErrorExitFatal'
+    }
+  },
+  /**
+   * Lookup379: evm_core::error::ExitSucceed
+   **/
+  EvmCoreErrorExitSucceed: {
+    _enum: ['Stopped', 'Returned', 'Suicided']
+  },
+  /**
+   * Lookup380: evm_core::error::ExitError
+   **/
+  EvmCoreErrorExitError: {
+    _enum: {
+      StackUnderflow: 'Null',
+      StackOverflow: 'Null',
+      InvalidJump: 'Null',
+      InvalidRange: 'Null',
+      DesignatedInvalid: 'Null',
+      CallTooDeep: 'Null',
+      CreateCollision: 'Null',
+      CreateContractLimit: 'Null',
+      OutOfOffset: 'Null',
+      OutOfGas: 'Null',
+      OutOfFund: 'Null',
+      PCUnderflow: 'Null',
+      CreateEmpty: 'Null',
+      Other: 'Text',
+      MaxNonce: 'Null',
+      InvalidCode: 'u8'
+    }
+  },
+  /**
+   * Lookup384: evm_core::error::ExitRevert
+   **/
+  EvmCoreErrorExitRevert: {
+    _enum: ['Reverted']
+  },
+  /**
+   * Lookup385: evm_core::error::ExitFatal
+   **/
+  EvmCoreErrorExitFatal: {
+    _enum: {
+      NotSupported: 'Null',
+      UnhandledInterrupt: 'Null',
+      CallErrorAsFatal: 'EvmCoreErrorExitError',
+      Other: 'Text'
+    }
+  },
+  /**
+   * Lookup386: pallet_evm_contract_helpers::pallet::Event<T>
+   **/
+  PalletEvmContractHelpersEvent: {
+    _enum: {
+      ContractSponsorSet: '(H160,AccountId32)',
+      ContractSponsorshipConfirmed: '(H160,AccountId32)',
+      ContractSponsorRemoved: 'H160'
+    }
+  },
+  /**
+   * Lookup387: pallet_evm_migration::pallet::Event<T>
+   **/
+  PalletEvmMigrationEvent: {
+    _enum: ['TestEvent']
+  },
+  /**
+   * Lookup388: pallet_maintenance::pallet::Event<T>
+   **/
+  PalletMaintenanceEvent: {
+    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
+  },
+  /**
+   * Lookup389: pallet_test_utils::pallet::Event<T>
+   **/
+  PalletTestUtilsEvent: {
+    _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']
+  },
+  /**
+   * Lookup390: frame_system::Phase
+   **/
+  FrameSystemPhase: {
+    _enum: {
+      ApplyExtrinsic: 'u32',
+      Finalization: 'Null',
+      Initialization: 'Null'
+    }
+  },
+  /**
+   * Lookup392: frame_system::LastRuntimeUpgradeInfo
+   **/
+  FrameSystemLastRuntimeUpgradeInfo: {
+    specVersion: 'Compact<u32>',
+    specName: 'Text'
+  },
+  /**
+   * Lookup393: frame_system::limits::BlockWeights
+   **/
+  FrameSystemLimitsBlockWeights: {
+    baseBlock: 'SpWeightsWeightV2Weight',
+    maxBlock: 'SpWeightsWeightV2Weight',
+    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
+  },
+  /**
+   * Lookup394: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   **/
+  FrameSupportDispatchPerDispatchClassWeightsPerClass: {
+    normal: 'FrameSystemLimitsWeightsPerClass',
+    operational: 'FrameSystemLimitsWeightsPerClass',
+    mandatory: 'FrameSystemLimitsWeightsPerClass'
+  },
+  /**
+   * Lookup395: frame_system::limits::WeightsPerClass
+   **/
+  FrameSystemLimitsWeightsPerClass: {
+    baseExtrinsic: 'SpWeightsWeightV2Weight',
+    maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',
+    maxTotal: 'Option<SpWeightsWeightV2Weight>',
+    reserved: 'Option<SpWeightsWeightV2Weight>'
+  },
+  /**
+   * Lookup397: frame_system::limits::BlockLength
+   **/
+  FrameSystemLimitsBlockLength: {
+    max: 'FrameSupportDispatchPerDispatchClassU32'
+  },
+  /**
+   * Lookup398: frame_support::dispatch::PerDispatchClass<T>
+   **/
+  FrameSupportDispatchPerDispatchClassU32: {
+    normal: 'u32',
+    operational: 'u32',
+    mandatory: 'u32'
+  },
+  /**
+   * Lookup399: sp_weights::RuntimeDbWeight
+   **/
+  SpWeightsRuntimeDbWeight: {
+    read: 'u64',
+    write: 'u64'
+  },
+  /**
+   * Lookup400: sp_version::RuntimeVersion
+   **/
+  SpVersionRuntimeVersion: {
+    specName: 'Text',
+    implName: 'Text',
+    authoringVersion: 'u32',
+    specVersion: 'u32',
+    implVersion: 'u32',
+    apis: 'Vec<([u8;8],u32)>',
+    transactionVersion: 'u32',
+    stateVersion: 'u8'
+  },
+  /**
+   * Lookup404: frame_system::pallet::Error<T>
+   **/
+  FrameSystemError: {
+    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
+  },
+  /**
+   * Lookup406: polkadot_primitives::v4::UpgradeRestriction
+   **/
+  PolkadotPrimitivesV4UpgradeRestriction: {
+    _enum: ['Present']
+  },
+  /**
+   * Lookup407: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
+   **/
+  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
+    dmqMqcHead: 'H256',
+    relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize',
+    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>',
+    egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>'
+  },
+  /**
+   * Lookup408: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize
+   **/
+  CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: {
+    remainingCount: 'u32',
+    remainingSize: 'u32'
+  },
+  /**
+   * Lookup411: polkadot_primitives::v4::AbridgedHrmpChannel
+   **/
+  PolkadotPrimitivesV4AbridgedHrmpChannel: {
+    maxCapacity: 'u32',
+    maxTotalSize: 'u32',
+    maxMessageSize: 'u32',
+    msgCount: 'u32',
+    totalSize: 'u32',
+    mqcHead: 'Option<H256>'
+  },
+  /**
+   * Lookup412: polkadot_primitives::v4::AbridgedHostConfiguration
+   **/
+  PolkadotPrimitivesV4AbridgedHostConfiguration: {
+    maxCodeSize: 'u32',
+    maxHeadDataSize: 'u32',
+    maxUpwardQueueCount: 'u32',
+    maxUpwardQueueSize: 'u32',
+    maxUpwardMessageSize: 'u32',
+    maxUpwardMessageNumPerCandidate: 'u32',
+    hrmpMaxMessageNumPerCandidate: 'u32',
+    validationUpgradeCooldown: 'u32',
+    validationUpgradeDelay: 'u32'
+  },
+  /**
+   * Lookup418: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
+   **/
+  PolkadotCorePrimitivesOutboundHrmpMessage: {
+    recipient: 'u32',
+    data: 'Bytes'
+  },
+  /**
+   * Lookup419: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>
+   **/
+  CumulusPalletParachainSystemCodeUpgradeAuthorization: {
+    codeHash: 'H256',
+    checkVersion: 'bool'
+  },
+  /**
+   * Lookup420: cumulus_pallet_parachain_system::pallet::Error<T>
+   **/
+  CumulusPalletParachainSystemError: {
+    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
+  },
+  /**
+   * Lookup422: pallet_collator_selection::pallet::Error<T>
+   **/
+  PalletCollatorSelectionError: {
+    _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']
+  },
+  /**
+   * Lookup426: sp_core::crypto::KeyTypeId
+   **/
+  SpCoreCryptoKeyTypeId: '[u8;4]',
+  /**
+   * Lookup427: pallet_session::pallet::Error<T>
+   **/
+  PalletSessionError: {
+    _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']
+  },
+  /**
+   * Lookup432: pallet_balances::types::BalanceLock<Balance>
+   **/
+  PalletBalancesBalanceLock: {
+    id: '[u8;8]',
+    amount: 'u128',
+    reasons: 'PalletBalancesReasons'
+  },
+  /**
+   * Lookup433: pallet_balances::types::Reasons
+   **/
+  PalletBalancesReasons: {
+    _enum: ['Fee', 'Misc', 'All']
+  },
+  /**
+   * Lookup436: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>
+   **/
+  PalletBalancesReserveData: {
+    id: '[u8;16]',
+    amount: 'u128'
+  },
+  /**
+   * Lookup439: pallet_balances::types::IdAmount<Id, Balance>
+   **/
+  PalletBalancesIdAmount: {
+    id: '[u8;16]',
+    amount: 'u128'
+  },
+  /**
+   * Lookup442: pallet_balances::pallet::Error<T, I>
+   **/
+  PalletBalancesError: {
+    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes']
+  },
+  /**
+   * Lookup444: pallet_transaction_payment::Releases
+   **/
+  PalletTransactionPaymentReleases: {
+    _enum: ['V1Ancient', 'V2']
+  },
+  /**
+   * Lookup445: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
+   **/
+  PalletTreasuryProposal: {
+    proposer: 'AccountId32',
+    value: 'u128',
+    beneficiary: 'AccountId32',
+    bond: 'u128'
+  },
+  /**
+   * Lookup448: frame_support::PalletId
+   **/
+  FrameSupportPalletId: '[u8;8]',
+  /**
+   * Lookup449: pallet_treasury::pallet::Error<T, I>
+   **/
+  PalletTreasuryError: {
+    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
+  },
+  /**
+   * Lookup450: pallet_sudo::pallet::Error<T>
+   **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup416: orml_vesting::module::Error<T>
+   * Lookup452: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup417: orml_xtokens::module::Error<T>
+   * Lookup453: orml_xtokens::module::Error<T>
    **/
   OrmlXtokensModuleError: {
     _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
   },
   /**
-   * Lookup420: orml_tokens::BalanceLock<Balance>
+   * Lookup456: orml_tokens::BalanceLock<Balance>
    **/
   OrmlTokensBalanceLock: {
     id: '[u8;8]',
     amount: 'u128'
   },
   /**
-   * Lookup422: orml_tokens::AccountData<Balance>
+   * Lookup458: orml_tokens::AccountData<Balance>
    **/
   OrmlTokensAccountData: {
     free: 'u128',
@@ -3380,20 +4128,20 @@
     frozen: 'u128'
   },
   /**
-   * Lookup424: orml_tokens::ReserveData<ReserveIdentifier, Balance>
+   * Lookup460: orml_tokens::ReserveData<ReserveIdentifier, Balance>
    **/
   OrmlTokensReserveData: {
     id: 'Null',
     amount: 'u128'
   },
   /**
-   * Lookup426: orml_tokens::module::Error<T>
+   * Lookup462: orml_tokens::module::Error<T>
    **/
   OrmlTokensModuleError: {
     _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup431: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>
+   * Lookup467: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>
    **/
   PalletIdentityRegistrarInfo: {
     account: 'AccountId32',
@@ -3401,13 +4149,13 @@
     fields: 'PalletIdentityBitFlags'
   },
   /**
-   * Lookup433: pallet_identity::pallet::Error<T>
+   * Lookup469: pallet_identity::pallet::Error<T>
    **/
   PalletIdentityError: {
     _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed']
   },
   /**
-   * Lookup434: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>
+   * Lookup470: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>
    **/
   PalletPreimageRequestStatus: {
     _enum: {
@@ -3423,33 +4171,235 @@
     }
   },
   /**
-   * Lookup439: pallet_preimage::pallet::Error<T>
+   * Lookup475: pallet_preimage::pallet::Error<T>
    **/
   PalletPreimageError: {
     _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested']
   },
   /**
-   * Lookup441: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup481: pallet_democracy::types::ReferendumInfo<BlockNumber, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance>
+   **/
+  PalletDemocracyReferendumInfo: {
+    _enum: {
+      Ongoing: 'PalletDemocracyReferendumStatus',
+      Finished: {
+        approved: 'bool',
+        end: 'u32'
+      }
+    }
+  },
+  /**
+   * Lookup482: pallet_democracy::types::ReferendumStatus<BlockNumber, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance>
+   **/
+  PalletDemocracyReferendumStatus: {
+    end: 'u32',
+    proposal: 'FrameSupportPreimagesBounded',
+    threshold: 'PalletDemocracyVoteThreshold',
+    delay: 'u32',
+    tally: 'PalletDemocracyTally'
+  },
+  /**
+   * Lookup483: pallet_democracy::types::Tally<Balance>
+   **/
+  PalletDemocracyTally: {
+    ayes: 'u128',
+    nays: 'u128',
+    turnout: 'u128'
+  },
+  /**
+   * Lookup484: pallet_democracy::vote::Voting<Balance, sp_core::crypto::AccountId32, BlockNumber, MaxVotes>
+   **/
+  PalletDemocracyVoteVoting: {
+    _enum: {
+      Direct: {
+        votes: 'Vec<(u32,PalletDemocracyVoteAccountVote)>',
+        delegations: 'PalletDemocracyDelegations',
+        prior: 'PalletDemocracyVotePriorLock',
+      },
+      Delegating: {
+        balance: 'u128',
+        target: 'AccountId32',
+        conviction: 'PalletDemocracyConviction',
+        delegations: 'PalletDemocracyDelegations',
+        prior: 'PalletDemocracyVotePriorLock'
+      }
+    }
+  },
+  /**
+   * Lookup488: pallet_democracy::types::Delegations<Balance>
+   **/
+  PalletDemocracyDelegations: {
+    votes: 'u128',
+    capital: 'u128'
+  },
+  /**
+   * Lookup489: pallet_democracy::vote::PriorLock<BlockNumber, Balance>
+   **/
+  PalletDemocracyVotePriorLock: '(u32,u128)',
+  /**
+   * Lookup492: pallet_democracy::pallet::Error<T>
+   **/
+  PalletDemocracyError: {
+    _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist']
+  },
+  /**
+   * Lookup494: pallet_collective::Votes<sp_core::crypto::AccountId32, BlockNumber>
+   **/
+  PalletCollectiveVotes: {
+    index: 'u32',
+    threshold: 'u32',
+    ayes: 'Vec<AccountId32>',
+    nays: 'Vec<AccountId32>',
+    end: 'u32'
+  },
+  /**
+   * Lookup495: pallet_collective::pallet::Error<T, I>
+   **/
+  PalletCollectiveError: {
+    _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength']
+  },
+  /**
+   * Lookup499: pallet_membership::pallet::Error<T, I>
+   **/
+  PalletMembershipError: {
+    _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers']
+  },
+  /**
+   * Lookup502: pallet_ranked_collective::MemberRecord
+   **/
+  PalletRankedCollectiveMemberRecord: {
+    rank: 'u16'
+  },
+  /**
+   * Lookup507: pallet_ranked_collective::pallet::Error<T, I>
+   **/
+  PalletRankedCollectiveError: {
+    _enum: ['AlreadyMember', 'NotMember', 'NotPolling', 'Ongoing', 'NoneRemaining', 'Corruption', 'RankTooLow', 'InvalidWitness', 'NoPermission']
+  },
+  /**
+   * 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>
+   **/
+  PalletReferendaReferendumInfo: {
+    _enum: {
+      Ongoing: 'PalletReferendaReferendumStatus',
+      Approved: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',
+      Rejected: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',
+      Cancelled: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',
+      TimedOut: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',
+      Killed: 'u32'
+    }
+  },
+  /**
+   * 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>
    **/
+  PalletReferendaReferendumStatus: {
+    track: 'u16',
+    origin: 'QuartzRuntimeOriginCaller',
+    proposal: 'FrameSupportPreimagesBounded',
+    enactment: 'FrameSupportScheduleDispatchTime',
+    submitted: 'u32',
+    submissionDeposit: 'PalletReferendaDeposit',
+    decisionDeposit: 'Option<PalletReferendaDeposit>',
+    deciding: 'Option<PalletReferendaDecidingStatus>',
+    tally: 'PalletRankedCollectiveTally',
+    inQueue: 'bool',
+    alarm: 'Option<(u32,(u32,u32))>'
+  },
+  /**
+   * Lookup510: pallet_referenda::types::Deposit<sp_core::crypto::AccountId32, Balance>
+   **/
+  PalletReferendaDeposit: {
+    who: 'AccountId32',
+    amount: 'u128'
+  },
+  /**
+   * Lookup513: pallet_referenda::types::DecidingStatus<BlockNumber>
+   **/
+  PalletReferendaDecidingStatus: {
+    since: 'u32',
+    confirming: 'Option<u32>'
+  },
+  /**
+   * Lookup519: pallet_referenda::types::TrackInfo<Balance, Moment>
+   **/
+  PalletReferendaTrackInfo: {
+    name: 'Text',
+    maxDeciding: 'u32',
+    decisionDeposit: 'u128',
+    preparePeriod: 'u32',
+    decisionPeriod: 'u32',
+    confirmPeriod: 'u32',
+    minEnactmentPeriod: 'u32',
+    minApproval: 'PalletReferendaCurve',
+    minSupport: 'PalletReferendaCurve'
+  },
+  /**
+   * Lookup520: pallet_referenda::types::Curve
+   **/
+  PalletReferendaCurve: {
+    _enum: {
+      LinearDecreasing: {
+        length: 'Perbill',
+        floor: 'Perbill',
+        ceil: 'Perbill',
+      },
+      SteppedDecreasing: {
+        begin: 'Perbill',
+        end: 'Perbill',
+        step: 'Perbill',
+        period: 'Perbill',
+      },
+      Reciprocal: {
+        factor: 'i64',
+        xOffset: 'i64',
+        yOffset: 'i64'
+      }
+    }
+  },
+  /**
+   * Lookup523: pallet_referenda::pallet::Error<T, I>
+   **/
+  PalletReferendaError: {
+    _enum: ['NotOngoing', 'HasDeposit', 'BadTrack', 'Full', 'QueueEmpty', 'BadReferendum', 'NothingToDo', 'NoTrack', 'Unfinished', 'NoPermission', 'NoDeposit', 'BadStatus', 'PreimageNotExist']
+  },
+  /**
+   * Lookup526: pallet_scheduler::Scheduled<Name, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, BlockNumber, quartz_runtime::OriginCaller, sp_core::crypto::AccountId32>
+   **/
+  PalletSchedulerScheduled: {
+    maybeId: 'Option<[u8;32]>',
+    priority: 'u8',
+    call: 'FrameSupportPreimagesBounded',
+    maybePeriodic: 'Option<(u32,u32)>',
+    origin: 'QuartzRuntimeOriginCaller'
+  },
+  /**
+   * Lookup528: pallet_scheduler::pallet::Error<T>
+   **/
+  PalletSchedulerError: {
+    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named']
+  },
+  /**
+   * Lookup530: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
     state: 'CumulusPalletXcmpQueueInboundState',
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup442: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup531: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup445: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup534: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup448: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup537: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -3459,13 +4409,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup449: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup538: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup451: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup540: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -3476,13 +4426,13 @@
     xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup453: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup542: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup454: pallet_xcm::pallet::QueryStatus<BlockNumber>
+   * Lookup543: pallet_xcm::pallet::QueryStatus<BlockNumber>
    **/
   PalletXcmQueryStatus: {
     _enum: {
@@ -3503,7 +4453,7 @@
     }
   },
   /**
-   * Lookup458: xcm::VersionedResponse
+   * Lookup547: xcm::VersionedResponse
    **/
   XcmVersionedResponse: {
     _enum: {
@@ -3514,7 +4464,7 @@
     }
   },
   /**
-   * Lookup464: pallet_xcm::pallet::VersionMigrationStage
+   * Lookup553: pallet_xcm::pallet::VersionMigrationStage
    **/
   PalletXcmVersionMigrationStage: {
     _enum: {
@@ -3525,7 +4475,7 @@
     }
   },
   /**
-   * Lookup467: xcm::VersionedAssetId
+   * Lookup556: xcm::VersionedAssetId
    **/
   XcmVersionedAssetId: {
     _enum: {
@@ -3536,7 +4486,7 @@
     }
   },
   /**
-   * Lookup468: pallet_xcm::pallet::RemoteLockedFungibleRecord<ConsumerIdentifier, MaxConsumers>
+   * Lookup557: pallet_xcm::pallet::RemoteLockedFungibleRecord<ConsumerIdentifier, MaxConsumers>
    **/
   PalletXcmRemoteLockedFungibleRecord: {
     amount: 'u128',
@@ -3545,23 +4495,23 @@
     consumers: 'Vec<(Null,u128)>'
   },
   /**
-   * Lookup475: pallet_xcm::pallet::Error<T>
+   * Lookup564: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse']
   },
   /**
-   * Lookup476: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup565: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup477: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup566: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'SpWeightsWeightV2Weight'
   },
   /**
-   * Lookup478: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup567: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -3569,25 +4519,25 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup481: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup570: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup485: pallet_unique::pallet::Error<T>
+   * Lookup574: pallet_unique::pallet::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
   },
   /**
-   * Lookup486: pallet_configuration::pallet::Error<T>
+   * Lookup575: pallet_configuration::pallet::Error<T>
    **/
   PalletConfigurationError: {
     _enum: ['InconsistentConfiguration']
   },
   /**
-   * Lookup487: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup576: up_data_structs::Collection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
@@ -3601,7 +4551,7 @@
     flags: '[u8;1]'
   },
   /**
-   * Lookup488: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup577: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipStateAccountId32: {
     _enum: {
@@ -3611,7 +4561,7 @@
     }
   },
   /**
-   * Lookup489: up_data_structs::Properties
+   * Lookup578: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -3619,15 +4569,15 @@
     reserved: 'u32'
   },
   /**
-   * Lookup490: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>
+   * Lookup579: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup495: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup584: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup502: up_data_structs::CollectionStats
+   * Lookup591: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -3635,18 +4585,18 @@
     alive: 'u32'
   },
   /**
-   * Lookup503: up_data_structs::TokenChild
+   * Lookup592: up_data_structs::TokenChild
    **/
   UpDataStructsTokenChild: {
     token: 'u32',
     collection: 'u32'
   },
   /**
-   * Lookup504: PhantomType::up_data_structs<T>
+   * Lookup593: PhantomType::up_data_structs<T>
    **/
   PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]',
   /**
-   * Lookup506: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup595: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
@@ -3654,7 +4604,7 @@
     pieces: 'u128'
   },
   /**
-   * Lookup507: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup596: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -3671,14 +4621,14 @@
     flags: 'UpDataStructsRpcCollectionFlags'
   },
   /**
-   * Lookup508: up_data_structs::RpcCollectionFlags
+   * Lookup597: up_data_structs::RpcCollectionFlags
    **/
   UpDataStructsRpcCollectionFlags: {
     foreign: 'bool',
     erc721metadata: 'bool'
   },
   /**
-   * Lookup509: up_pov_estimate_rpc::PovInfo
+   * Lookup598: up_pov_estimate_rpc::PovInfo
    **/
   UpPovEstimateRpcPovInfo: {
     proofSize: 'u64',
@@ -3688,7 +4638,7 @@
     keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'
   },
   /**
-   * Lookup512: sp_runtime::transaction_validity::TransactionValidityError
+   * Lookup601: sp_runtime::transaction_validity::TransactionValidityError
    **/
   SpRuntimeTransactionValidityTransactionValidityError: {
     _enum: {
@@ -3697,7 +4647,7 @@
     }
   },
   /**
-   * Lookup513: sp_runtime::transaction_validity::InvalidTransaction
+   * Lookup602: sp_runtime::transaction_validity::InvalidTransaction
    **/
   SpRuntimeTransactionValidityInvalidTransaction: {
     _enum: {
@@ -3715,7 +4665,7 @@
     }
   },
   /**
-   * Lookup514: sp_runtime::transaction_validity::UnknownTransaction
+   * Lookup603: sp_runtime::transaction_validity::UnknownTransaction
    **/
   SpRuntimeTransactionValidityUnknownTransaction: {
     _enum: {
@@ -3725,68 +4675,68 @@
     }
   },
   /**
-   * Lookup516: up_pov_estimate_rpc::TrieKeyValue
+   * Lookup605: up_pov_estimate_rpc::TrieKeyValue
    **/
   UpPovEstimateRpcTrieKeyValue: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup518: pallet_common::pallet::Error<T>
+   * Lookup607: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
   },
   /**
-   * Lookup520: pallet_fungible::pallet::Error<T>
+   * Lookup609: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
   },
   /**
-   * Lookup525: pallet_refungible::pallet::Error<T>
+   * Lookup614: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup526: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup615: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup528: up_data_structs::PropertyScope
+   * Lookup617: up_data_structs::PropertyScope
    **/
   UpDataStructsPropertyScope: {
     _enum: ['None', 'Rmrk']
   },
   /**
-   * Lookup531: pallet_nonfungible::pallet::Error<T>
+   * Lookup620: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup532: pallet_structure::pallet::Error<T>
+   * Lookup621: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection']
   },
   /**
-   * Lookup537: pallet_app_promotion::pallet::Error<T>
+   * Lookup626: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
     _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'InsufficientStakedBalance', 'InconsistencyState']
   },
   /**
-   * Lookup538: pallet_foreign_assets::module::Error<T>
+   * Lookup627: pallet_foreign_assets::module::Error<T>
    **/
   PalletForeignAssetsModuleError: {
     _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
   },
   /**
-   * Lookup539: pallet_evm::CodeMetadata
+   * Lookup628: pallet_evm::CodeMetadata
    **/
   PalletEvmCodeMetadata: {
     _alias: {
@@ -3797,13 +4747,13 @@
     hash_: 'H256'
   },
   /**
-   * Lookup541: pallet_evm::pallet::Error<T>
+   * Lookup630: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']
   },
   /**
-   * Lookup544: fp_rpc::TransactionStatus
+   * Lookup633: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -3815,11 +4765,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup546: ethbloom::Bloom
+   * Lookup635: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup548: ethereum::receipt::ReceiptV3
+   * Lookup637: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -3829,7 +4779,7 @@
     }
   },
   /**
-   * Lookup549: ethereum::receipt::EIP658ReceiptData
+   * Lookup638: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -3838,7 +4788,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup550: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup639: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -3846,7 +4796,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup551: ethereum::header::Header
+   * Lookup640: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -3866,23 +4816,23 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup552: ethereum_types::hash::H64
+   * Lookup641: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup557: pallet_ethereum::pallet::Error<T>
+   * Lookup646: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup558: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup647: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup559: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup648: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
     _enum: {
@@ -3892,35 +4842,35 @@
     }
   },
   /**
-   * Lookup560: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup649: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup566: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup655: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
   },
   /**
-   * Lookup567: pallet_evm_migration::pallet::Error<T>
+   * Lookup656: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
   },
   /**
-   * Lookup568: pallet_maintenance::pallet::Error<T>
+   * Lookup657: pallet_maintenance::pallet::Error<T>
    **/
   PalletMaintenanceError: 'Null',
   /**
-   * Lookup569: pallet_test_utils::pallet::Error<T>
+   * Lookup658: pallet_test_utils::pallet::Error<T>
    **/
   PalletTestUtilsError: {
     _enum: ['TestPalletDisabled', 'TriggerRollback']
   },
   /**
-   * Lookup571: sp_runtime::MultiSignature
+   * Lookup660: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -3930,55 +4880,55 @@
     }
   },
   /**
-   * Lookup572: sp_core::ed25519::Signature
+   * Lookup661: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup574: sp_core::sr25519::Signature
+   * Lookup663: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup575: sp_core::ecdsa::Signature
+   * Lookup664: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup578: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup667: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup579: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+   * Lookup668: frame_system::extensions::check_tx_version::CheckTxVersion<T>
    **/
   FrameSystemExtensionsCheckTxVersion: 'Null',
   /**
-   * Lookup580: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup669: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup583: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup672: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup584: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup673: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup585: opal_runtime::runtime_common::maintenance::CheckMaintenance
+   * Lookup674: quartz_runtime::runtime_common::maintenance::CheckMaintenance
    **/
-  OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
+  QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
   /**
-   * Lookup586: opal_runtime::runtime_common::identity::DisableIdentityCalls
+   * Lookup675: quartz_runtime::runtime_common::identity::DisableIdentityCalls
    **/
-  OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',
+  QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',
   /**
-   * Lookup587: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup676: pallet_template_transaction_payment::ChargeTransactionPayment<quartz_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup588: opal_runtime::Runtime
+   * Lookup677: quartz_runtime::Runtime
    **/
-  OpalRuntimeRuntime: 'Null',
+  QuartzRuntimeRuntime: 'Null',
   /**
-   * Lookup589: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup678: pallet_ethereum::FakeTransactionFinalizer<quartz_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/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;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { Data } from '@polkadot/types';9import 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';10import type { ITuple } from '@polkadot/types-codec/types';11import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';12import type { Event } from '@polkadot/types/interfaces/system';1314declare module '@polkadot/types/lookup' {15  /** @name FrameSystemAccountInfo (3) */16  interface FrameSystemAccountInfo extends Struct {17    readonly nonce: u32;18    readonly consumers: u32;19    readonly providers: u32;20    readonly sufficients: u32;21    readonly data: PalletBalancesAccountData;22  }2324  /** @name PalletBalancesAccountData (5) */25  interface PalletBalancesAccountData extends Struct {26    readonly free: u128;27    readonly reserved: u128;28    readonly frozen: u128;29    readonly flags: u128;30  }3132  /** @name FrameSupportDispatchPerDispatchClassWeight (8) */33  interface FrameSupportDispatchPerDispatchClassWeight extends Struct {34    readonly normal: SpWeightsWeightV2Weight;35    readonly operational: SpWeightsWeightV2Weight;36    readonly mandatory: SpWeightsWeightV2Weight;37  }3839  /** @name SpWeightsWeightV2Weight (9) */40  interface SpWeightsWeightV2Weight extends Struct {41    readonly refTime: Compact<u64>;42    readonly proofSize: Compact<u64>;43  }4445  /** @name SpRuntimeDigest (14) */46  interface SpRuntimeDigest extends Struct {47    readonly logs: Vec<SpRuntimeDigestDigestItem>;48  }4950  /** @name SpRuntimeDigestDigestItem (16) */51  interface SpRuntimeDigestDigestItem extends Enum {52    readonly isOther: boolean;53    readonly asOther: Bytes;54    readonly isConsensus: boolean;55    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;56    readonly isSeal: boolean;57    readonly asSeal: ITuple<[U8aFixed, Bytes]>;58    readonly isPreRuntime: boolean;59    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;60    readonly isRuntimeEnvironmentUpdated: boolean;61    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';62  }6364  /** @name FrameSystemEventRecord (19) */65  interface FrameSystemEventRecord extends Struct {66    readonly phase: FrameSystemPhase;67    readonly event: Event;68    readonly topics: Vec<H256>;69  }7071  /** @name FrameSystemEvent (21) */72  interface FrameSystemEvent extends Enum {73    readonly isExtrinsicSuccess: boolean;74    readonly asExtrinsicSuccess: {75      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;76    } & Struct;77    readonly isExtrinsicFailed: boolean;78    readonly asExtrinsicFailed: {79      readonly dispatchError: SpRuntimeDispatchError;80      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;81    } & Struct;82    readonly isCodeUpdated: boolean;83    readonly isNewAccount: boolean;84    readonly asNewAccount: {85      readonly account: AccountId32;86    } & Struct;87    readonly isKilledAccount: boolean;88    readonly asKilledAccount: {89      readonly account: AccountId32;90    } & Struct;91    readonly isRemarked: boolean;92    readonly asRemarked: {93      readonly sender: AccountId32;94      readonly hash_: H256;95    } & Struct;96    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';97  }9899  /** @name FrameSupportDispatchDispatchInfo (22) */100  interface FrameSupportDispatchDispatchInfo extends Struct {101    readonly weight: SpWeightsWeightV2Weight;102    readonly class: FrameSupportDispatchDispatchClass;103    readonly paysFee: FrameSupportDispatchPays;104  }105106  /** @name FrameSupportDispatchDispatchClass (23) */107  interface FrameSupportDispatchDispatchClass extends Enum {108    readonly isNormal: boolean;109    readonly isOperational: boolean;110    readonly isMandatory: boolean;111    readonly type: 'Normal' | 'Operational' | 'Mandatory';112  }113114  /** @name FrameSupportDispatchPays (24) */115  interface FrameSupportDispatchPays extends Enum {116    readonly isYes: boolean;117    readonly isNo: boolean;118    readonly type: 'Yes' | 'No';119  }120121  /** @name SpRuntimeDispatchError (25) */122  interface SpRuntimeDispatchError extends Enum {123    readonly isOther: boolean;124    readonly isCannotLookup: boolean;125    readonly isBadOrigin: boolean;126    readonly isModule: boolean;127    readonly asModule: SpRuntimeModuleError;128    readonly isConsumerRemaining: boolean;129    readonly isNoProviders: boolean;130    readonly isTooManyConsumers: boolean;131    readonly isToken: boolean;132    readonly asToken: SpRuntimeTokenError;133    readonly isArithmetic: boolean;134    readonly asArithmetic: SpArithmeticArithmeticError;135    readonly isTransactional: boolean;136    readonly asTransactional: SpRuntimeTransactionalError;137    readonly isExhausted: boolean;138    readonly isCorruption: boolean;139    readonly isUnavailable: boolean;140    readonly isRootNotAllowed: boolean;141    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable' | 'RootNotAllowed';142  }143144  /** @name SpRuntimeModuleError (26) */145  interface SpRuntimeModuleError extends Struct {146    readonly index: u8;147    readonly error: U8aFixed;148  }149150  /** @name SpRuntimeTokenError (27) */151  interface SpRuntimeTokenError extends Enum {152    readonly isFundsUnavailable: boolean;153    readonly isOnlyProvider: boolean;154    readonly isBelowMinimum: boolean;155    readonly isCannotCreate: boolean;156    readonly isUnknownAsset: boolean;157    readonly isFrozen: boolean;158    readonly isUnsupported: boolean;159    readonly isCannotCreateHold: boolean;160    readonly isNotExpendable: boolean;161    readonly isBlocked: boolean;162    readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable' | 'Blocked';163  }164165  /** @name SpArithmeticArithmeticError (28) */166  interface SpArithmeticArithmeticError extends Enum {167    readonly isUnderflow: boolean;168    readonly isOverflow: boolean;169    readonly isDivisionByZero: boolean;170    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';171  }172173  /** @name SpRuntimeTransactionalError (29) */174  interface SpRuntimeTransactionalError extends Enum {175    readonly isLimitReached: boolean;176    readonly isNoLayer: boolean;177    readonly type: 'LimitReached' | 'NoLayer';178  }179180  /** @name PalletStateTrieMigrationEvent (30) */181  interface PalletStateTrieMigrationEvent extends Enum {182    readonly isMigrated: boolean;183    readonly asMigrated: {184      readonly top: u32;185      readonly child: u32;186      readonly compute: PalletStateTrieMigrationMigrationCompute;187    } & Struct;188    readonly isSlashed: boolean;189    readonly asSlashed: {190      readonly who: AccountId32;191      readonly amount: u128;192    } & Struct;193    readonly isAutoMigrationFinished: boolean;194    readonly isHalted: boolean;195    readonly asHalted: {196      readonly error: PalletStateTrieMigrationError;197    } & Struct;198    readonly type: 'Migrated' | 'Slashed' | 'AutoMigrationFinished' | 'Halted';199  }200201  /** @name PalletStateTrieMigrationMigrationCompute (31) */202  interface PalletStateTrieMigrationMigrationCompute extends Enum {203    readonly isSigned: boolean;204    readonly isAuto: boolean;205    readonly type: 'Signed' | 'Auto';206  }207208  /** @name PalletStateTrieMigrationError (32) */209  interface PalletStateTrieMigrationError extends Enum {210    readonly isMaxSignedLimits: boolean;211    readonly isKeyTooLong: boolean;212    readonly isNotEnoughFunds: boolean;213    readonly isBadWitness: boolean;214    readonly isSignedMigrationNotAllowed: boolean;215    readonly isBadChildRoot: boolean;216    readonly type: 'MaxSignedLimits' | 'KeyTooLong' | 'NotEnoughFunds' | 'BadWitness' | 'SignedMigrationNotAllowed' | 'BadChildRoot';217  }218219  /** @name CumulusPalletParachainSystemEvent (33) */220  interface CumulusPalletParachainSystemEvent extends Enum {221    readonly isValidationFunctionStored: boolean;222    readonly isValidationFunctionApplied: boolean;223    readonly asValidationFunctionApplied: {224      readonly relayChainBlockNum: u32;225    } & Struct;226    readonly isValidationFunctionDiscarded: boolean;227    readonly isUpgradeAuthorized: boolean;228    readonly asUpgradeAuthorized: {229      readonly codeHash: H256;230    } & Struct;231    readonly isDownwardMessagesReceived: boolean;232    readonly asDownwardMessagesReceived: {233      readonly count: u32;234    } & Struct;235    readonly isDownwardMessagesProcessed: boolean;236    readonly asDownwardMessagesProcessed: {237      readonly weightUsed: SpWeightsWeightV2Weight;238      readonly dmqHead: H256;239    } & Struct;240    readonly isUpwardMessageSent: boolean;241    readonly asUpwardMessageSent: {242      readonly messageHash: Option<U8aFixed>;243    } & Struct;244    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent';245  }246247  /** @name PalletCollatorSelectionEvent (35) */248  interface PalletCollatorSelectionEvent extends Enum {249    readonly isInvulnerableAdded: boolean;250    readonly asInvulnerableAdded: {251      readonly invulnerable: AccountId32;252    } & Struct;253    readonly isInvulnerableRemoved: boolean;254    readonly asInvulnerableRemoved: {255      readonly invulnerable: AccountId32;256    } & Struct;257    readonly isLicenseObtained: boolean;258    readonly asLicenseObtained: {259      readonly accountId: AccountId32;260      readonly deposit: u128;261    } & Struct;262    readonly isLicenseReleased: boolean;263    readonly asLicenseReleased: {264      readonly accountId: AccountId32;265      readonly depositReturned: u128;266    } & Struct;267    readonly isCandidateAdded: boolean;268    readonly asCandidateAdded: {269      readonly accountId: AccountId32;270    } & Struct;271    readonly isCandidateRemoved: boolean;272    readonly asCandidateRemoved: {273      readonly accountId: AccountId32;274    } & Struct;275    readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';276  }277278  /** @name PalletSessionEvent (36) */279  interface PalletSessionEvent extends Enum {280    readonly isNewSession: boolean;281    readonly asNewSession: {282      readonly sessionIndex: u32;283    } & Struct;284    readonly type: 'NewSession';285  }286287  /** @name PalletBalancesEvent (37) */288  interface PalletBalancesEvent extends Enum {289    readonly isEndowed: boolean;290    readonly asEndowed: {291      readonly account: AccountId32;292      readonly freeBalance: u128;293    } & Struct;294    readonly isDustLost: boolean;295    readonly asDustLost: {296      readonly account: AccountId32;297      readonly amount: u128;298    } & Struct;299    readonly isTransfer: boolean;300    readonly asTransfer: {301      readonly from: AccountId32;302      readonly to: AccountId32;303      readonly amount: u128;304    } & Struct;305    readonly isBalanceSet: boolean;306    readonly asBalanceSet: {307      readonly who: AccountId32;308      readonly free: u128;309    } & Struct;310    readonly isReserved: boolean;311    readonly asReserved: {312      readonly who: AccountId32;313      readonly amount: u128;314    } & Struct;315    readonly isUnreserved: boolean;316    readonly asUnreserved: {317      readonly who: AccountId32;318      readonly amount: u128;319    } & Struct;320    readonly isReserveRepatriated: boolean;321    readonly asReserveRepatriated: {322      readonly from: AccountId32;323      readonly to: AccountId32;324      readonly amount: u128;325      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;326    } & Struct;327    readonly isDeposit: boolean;328    readonly asDeposit: {329      readonly who: AccountId32;330      readonly amount: u128;331    } & Struct;332    readonly isWithdraw: boolean;333    readonly asWithdraw: {334      readonly who: AccountId32;335      readonly amount: u128;336    } & Struct;337    readonly isSlashed: boolean;338    readonly asSlashed: {339      readonly who: AccountId32;340      readonly amount: u128;341    } & Struct;342    readonly isMinted: boolean;343    readonly asMinted: {344      readonly who: AccountId32;345      readonly amount: u128;346    } & Struct;347    readonly isBurned: boolean;348    readonly asBurned: {349      readonly who: AccountId32;350      readonly amount: u128;351    } & Struct;352    readonly isSuspended: boolean;353    readonly asSuspended: {354      readonly who: AccountId32;355      readonly amount: u128;356    } & Struct;357    readonly isRestored: boolean;358    readonly asRestored: {359      readonly who: AccountId32;360      readonly amount: u128;361    } & Struct;362    readonly isUpgraded: boolean;363    readonly asUpgraded: {364      readonly who: AccountId32;365    } & Struct;366    readonly isIssued: boolean;367    readonly asIssued: {368      readonly amount: u128;369    } & Struct;370    readonly isRescinded: boolean;371    readonly asRescinded: {372      readonly amount: u128;373    } & Struct;374    readonly isLocked: boolean;375    readonly asLocked: {376      readonly who: AccountId32;377      readonly amount: u128;378    } & Struct;379    readonly isUnlocked: boolean;380    readonly asUnlocked: {381      readonly who: AccountId32;382      readonly amount: u128;383    } & Struct;384    readonly isFrozen: boolean;385    readonly asFrozen: {386      readonly who: AccountId32;387      readonly amount: u128;388    } & Struct;389    readonly isThawed: boolean;390    readonly asThawed: {391      readonly who: AccountId32;392      readonly amount: u128;393    } & Struct;394    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed' | 'Minted' | 'Burned' | 'Suspended' | 'Restored' | 'Upgraded' | 'Issued' | 'Rescinded' | 'Locked' | 'Unlocked' | 'Frozen' | 'Thawed';395  }396397  /** @name FrameSupportTokensMiscBalanceStatus (38) */398  interface FrameSupportTokensMiscBalanceStatus extends Enum {399    readonly isFree: boolean;400    readonly isReserved: boolean;401    readonly type: 'Free' | 'Reserved';402  }403404  /** @name PalletTransactionPaymentEvent (39) */405  interface PalletTransactionPaymentEvent extends Enum {406    readonly isTransactionFeePaid: boolean;407    readonly asTransactionFeePaid: {408      readonly who: AccountId32;409      readonly actualFee: u128;410      readonly tip: u128;411    } & Struct;412    readonly type: 'TransactionFeePaid';413  }414415  /** @name PalletTreasuryEvent (40) */416  interface PalletTreasuryEvent extends Enum {417    readonly isProposed: boolean;418    readonly asProposed: {419      readonly proposalIndex: u32;420    } & Struct;421    readonly isSpending: boolean;422    readonly asSpending: {423      readonly budgetRemaining: u128;424    } & Struct;425    readonly isAwarded: boolean;426    readonly asAwarded: {427      readonly proposalIndex: u32;428      readonly award: u128;429      readonly account: AccountId32;430    } & Struct;431    readonly isRejected: boolean;432    readonly asRejected: {433      readonly proposalIndex: u32;434      readonly slashed: u128;435    } & Struct;436    readonly isBurnt: boolean;437    readonly asBurnt: {438      readonly burntFunds: u128;439    } & Struct;440    readonly isRollover: boolean;441    readonly asRollover: {442      readonly rolloverBalance: u128;443    } & Struct;444    readonly isDeposit: boolean;445    readonly asDeposit: {446      readonly value: u128;447    } & Struct;448    readonly isSpendApproved: boolean;449    readonly asSpendApproved: {450      readonly proposalIndex: u32;451      readonly amount: u128;452      readonly beneficiary: AccountId32;453    } & Struct;454    readonly isUpdatedInactive: boolean;455    readonly asUpdatedInactive: {456      readonly reactivated: u128;457      readonly deactivated: u128;458    } & Struct;459    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive';460  }461462  /** @name PalletSudoEvent (41) */463  interface PalletSudoEvent extends Enum {464    readonly isSudid: boolean;465    readonly asSudid: {466      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;467    } & Struct;468    readonly isKeyChanged: boolean;469    readonly asKeyChanged: {470      readonly oldSudoer: Option<AccountId32>;471    } & Struct;472    readonly isSudoAsDone: boolean;473    readonly asSudoAsDone: {474      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;475    } & Struct;476    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';477  }478479  /** @name OrmlVestingModuleEvent (45) */480  interface OrmlVestingModuleEvent extends Enum {481    readonly isVestingScheduleAdded: boolean;482    readonly asVestingScheduleAdded: {483      readonly from: AccountId32;484      readonly to: AccountId32;485      readonly vestingSchedule: OrmlVestingVestingSchedule;486    } & Struct;487    readonly isClaimed: boolean;488    readonly asClaimed: {489      readonly who: AccountId32;490      readonly amount: u128;491    } & Struct;492    readonly isVestingSchedulesUpdated: boolean;493    readonly asVestingSchedulesUpdated: {494      readonly who: AccountId32;495    } & Struct;496    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';497  }498499  /** @name OrmlVestingVestingSchedule (46) */500  interface OrmlVestingVestingSchedule extends Struct {501    readonly start: u32;502    readonly period: u32;503    readonly periodCount: u32;504    readonly perPeriod: Compact<u128>;505  }506507  /** @name OrmlXtokensModuleEvent (48) */508  interface OrmlXtokensModuleEvent extends Enum {509    readonly isTransferredMultiAssets: boolean;510    readonly asTransferredMultiAssets: {511      readonly sender: AccountId32;512      readonly assets: XcmV3MultiassetMultiAssets;513      readonly fee: XcmV3MultiAsset;514      readonly dest: XcmV3MultiLocation;515    } & Struct;516    readonly type: 'TransferredMultiAssets';517  }518519  /** @name XcmV3MultiassetMultiAssets (49) */520  interface XcmV3MultiassetMultiAssets extends Vec<XcmV3MultiAsset> {}521522  /** @name XcmV3MultiAsset (51) */523  interface XcmV3MultiAsset extends Struct {524    readonly id: XcmV3MultiassetAssetId;525    readonly fun: XcmV3MultiassetFungibility;526  }527528  /** @name XcmV3MultiassetAssetId (52) */529  interface XcmV3MultiassetAssetId extends Enum {530    readonly isConcrete: boolean;531    readonly asConcrete: XcmV3MultiLocation;532    readonly isAbstract: boolean;533    readonly asAbstract: U8aFixed;534    readonly type: 'Concrete' | 'Abstract';535  }536537  /** @name XcmV3MultiLocation (53) */538  interface XcmV3MultiLocation extends Struct {539    readonly parents: u8;540    readonly interior: XcmV3Junctions;541  }542543  /** @name XcmV3Junctions (54) */544  interface XcmV3Junctions extends Enum {545    readonly isHere: boolean;546    readonly isX1: boolean;547    readonly asX1: XcmV3Junction;548    readonly isX2: boolean;549    readonly asX2: ITuple<[XcmV3Junction, XcmV3Junction]>;550    readonly isX3: boolean;551    readonly asX3: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction]>;552    readonly isX4: boolean;553    readonly asX4: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;554    readonly isX5: boolean;555    readonly asX5: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;556    readonly isX6: boolean;557    readonly asX6: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;558    readonly isX7: boolean;559    readonly asX7: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;560    readonly isX8: boolean;561    readonly asX8: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;562    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';563  }564565  /** @name XcmV3Junction (55) */566  interface XcmV3Junction extends Enum {567    readonly isParachain: boolean;568    readonly asParachain: Compact<u32>;569    readonly isAccountId32: boolean;570    readonly asAccountId32: {571      readonly network: Option<XcmV3JunctionNetworkId>;572      readonly id: U8aFixed;573    } & Struct;574    readonly isAccountIndex64: boolean;575    readonly asAccountIndex64: {576      readonly network: Option<XcmV3JunctionNetworkId>;577      readonly index: Compact<u64>;578    } & Struct;579    readonly isAccountKey20: boolean;580    readonly asAccountKey20: {581      readonly network: Option<XcmV3JunctionNetworkId>;582      readonly key: U8aFixed;583    } & Struct;584    readonly isPalletInstance: boolean;585    readonly asPalletInstance: u8;586    readonly isGeneralIndex: boolean;587    readonly asGeneralIndex: Compact<u128>;588    readonly isGeneralKey: boolean;589    readonly asGeneralKey: {590      readonly length: u8;591      readonly data: U8aFixed;592    } & Struct;593    readonly isOnlyChild: boolean;594    readonly isPlurality: boolean;595    readonly asPlurality: {596      readonly id: XcmV3JunctionBodyId;597      readonly part: XcmV3JunctionBodyPart;598    } & Struct;599    readonly isGlobalConsensus: boolean;600    readonly asGlobalConsensus: XcmV3JunctionNetworkId;601    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus';602  }603604  /** @name XcmV3JunctionNetworkId (58) */605  interface XcmV3JunctionNetworkId extends Enum {606    readonly isByGenesis: boolean;607    readonly asByGenesis: U8aFixed;608    readonly isByFork: boolean;609    readonly asByFork: {610      readonly blockNumber: u64;611      readonly blockHash: U8aFixed;612    } & Struct;613    readonly isPolkadot: boolean;614    readonly isKusama: boolean;615    readonly isWestend: boolean;616    readonly isRococo: boolean;617    readonly isWococo: boolean;618    readonly isEthereum: boolean;619    readonly asEthereum: {620      readonly chainId: Compact<u64>;621    } & Struct;622    readonly isBitcoinCore: boolean;623    readonly isBitcoinCash: boolean;624    readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash';625  }626627  /** @name XcmV3JunctionBodyId (60) */628  interface XcmV3JunctionBodyId extends Enum {629    readonly isUnit: boolean;630    readonly isMoniker: boolean;631    readonly asMoniker: U8aFixed;632    readonly isIndex: boolean;633    readonly asIndex: Compact<u32>;634    readonly isExecutive: boolean;635    readonly isTechnical: boolean;636    readonly isLegislative: boolean;637    readonly isJudicial: boolean;638    readonly isDefense: boolean;639    readonly isAdministration: boolean;640    readonly isTreasury: boolean;641    readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';642  }643644  /** @name XcmV3JunctionBodyPart (61) */645  interface XcmV3JunctionBodyPart extends Enum {646    readonly isVoice: boolean;647    readonly isMembers: boolean;648    readonly asMembers: {649      readonly count: Compact<u32>;650    } & Struct;651    readonly isFraction: boolean;652    readonly asFraction: {653      readonly nom: Compact<u32>;654      readonly denom: Compact<u32>;655    } & Struct;656    readonly isAtLeastProportion: boolean;657    readonly asAtLeastProportion: {658      readonly nom: Compact<u32>;659      readonly denom: Compact<u32>;660    } & Struct;661    readonly isMoreThanProportion: boolean;662    readonly asMoreThanProportion: {663      readonly nom: Compact<u32>;664      readonly denom: Compact<u32>;665    } & Struct;666    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';667  }668669  /** @name XcmV3MultiassetFungibility (62) */670  interface XcmV3MultiassetFungibility extends Enum {671    readonly isFungible: boolean;672    readonly asFungible: Compact<u128>;673    readonly isNonFungible: boolean;674    readonly asNonFungible: XcmV3MultiassetAssetInstance;675    readonly type: 'Fungible' | 'NonFungible';676  }677678  /** @name XcmV3MultiassetAssetInstance (63) */679  interface XcmV3MultiassetAssetInstance extends Enum {680    readonly isUndefined: boolean;681    readonly isIndex: boolean;682    readonly asIndex: Compact<u128>;683    readonly isArray4: boolean;684    readonly asArray4: U8aFixed;685    readonly isArray8: boolean;686    readonly asArray8: U8aFixed;687    readonly isArray16: boolean;688    readonly asArray16: U8aFixed;689    readonly isArray32: boolean;690    readonly asArray32: U8aFixed;691    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32';692  }693694  /** @name OrmlTokensModuleEvent (66) */695  interface OrmlTokensModuleEvent extends Enum {696    readonly isEndowed: boolean;697    readonly asEndowed: {698      readonly currencyId: PalletForeignAssetsAssetIds;699      readonly who: AccountId32;700      readonly amount: u128;701    } & Struct;702    readonly isDustLost: boolean;703    readonly asDustLost: {704      readonly currencyId: PalletForeignAssetsAssetIds;705      readonly who: AccountId32;706      readonly amount: u128;707    } & Struct;708    readonly isTransfer: boolean;709    readonly asTransfer: {710      readonly currencyId: PalletForeignAssetsAssetIds;711      readonly from: AccountId32;712      readonly to: AccountId32;713      readonly amount: u128;714    } & Struct;715    readonly isReserved: boolean;716    readonly asReserved: {717      readonly currencyId: PalletForeignAssetsAssetIds;718      readonly who: AccountId32;719      readonly amount: u128;720    } & Struct;721    readonly isUnreserved: boolean;722    readonly asUnreserved: {723      readonly currencyId: PalletForeignAssetsAssetIds;724      readonly who: AccountId32;725      readonly amount: u128;726    } & Struct;727    readonly isReserveRepatriated: boolean;728    readonly asReserveRepatriated: {729      readonly currencyId: PalletForeignAssetsAssetIds;730      readonly from: AccountId32;731      readonly to: AccountId32;732      readonly amount: u128;733      readonly status: FrameSupportTokensMiscBalanceStatus;734    } & Struct;735    readonly isBalanceSet: boolean;736    readonly asBalanceSet: {737      readonly currencyId: PalletForeignAssetsAssetIds;738      readonly who: AccountId32;739      readonly free: u128;740      readonly reserved: u128;741    } & Struct;742    readonly isTotalIssuanceSet: boolean;743    readonly asTotalIssuanceSet: {744      readonly currencyId: PalletForeignAssetsAssetIds;745      readonly amount: u128;746    } & Struct;747    readonly isWithdrawn: boolean;748    readonly asWithdrawn: {749      readonly currencyId: PalletForeignAssetsAssetIds;750      readonly who: AccountId32;751      readonly amount: u128;752    } & Struct;753    readonly isSlashed: boolean;754    readonly asSlashed: {755      readonly currencyId: PalletForeignAssetsAssetIds;756      readonly who: AccountId32;757      readonly freeAmount: u128;758      readonly reservedAmount: u128;759    } & Struct;760    readonly isDeposited: boolean;761    readonly asDeposited: {762      readonly currencyId: PalletForeignAssetsAssetIds;763      readonly who: AccountId32;764      readonly amount: u128;765    } & Struct;766    readonly isLockSet: boolean;767    readonly asLockSet: {768      readonly lockId: U8aFixed;769      readonly currencyId: PalletForeignAssetsAssetIds;770      readonly who: AccountId32;771      readonly amount: u128;772    } & Struct;773    readonly isLockRemoved: boolean;774    readonly asLockRemoved: {775      readonly lockId: U8aFixed;776      readonly currencyId: PalletForeignAssetsAssetIds;777      readonly who: AccountId32;778    } & Struct;779    readonly isLocked: boolean;780    readonly asLocked: {781      readonly currencyId: PalletForeignAssetsAssetIds;782      readonly who: AccountId32;783      readonly amount: u128;784    } & Struct;785    readonly isUnlocked: boolean;786    readonly asUnlocked: {787      readonly currencyId: PalletForeignAssetsAssetIds;788      readonly who: AccountId32;789      readonly amount: u128;790    } & Struct;791    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved' | 'Locked' | 'Unlocked';792  }793794  /** @name PalletForeignAssetsAssetIds (67) */795  interface PalletForeignAssetsAssetIds extends Enum {796    readonly isForeignAssetId: boolean;797    readonly asForeignAssetId: u32;798    readonly isNativeAssetId: boolean;799    readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;800    readonly type: 'ForeignAssetId' | 'NativeAssetId';801  }802803  /** @name PalletForeignAssetsNativeCurrency (68) */804  interface PalletForeignAssetsNativeCurrency extends Enum {805    readonly isHere: boolean;806    readonly isParent: boolean;807    readonly type: 'Here' | 'Parent';808  }809810  /** @name PalletIdentityEvent (69) */811  interface PalletIdentityEvent extends Enum {812    readonly isIdentitySet: boolean;813    readonly asIdentitySet: {814      readonly who: AccountId32;815    } & Struct;816    readonly isIdentityCleared: boolean;817    readonly asIdentityCleared: {818      readonly who: AccountId32;819      readonly deposit: u128;820    } & Struct;821    readonly isIdentityKilled: boolean;822    readonly asIdentityKilled: {823      readonly who: AccountId32;824      readonly deposit: u128;825    } & Struct;826    readonly isIdentitiesInserted: boolean;827    readonly asIdentitiesInserted: {828      readonly amount: u32;829    } & Struct;830    readonly isIdentitiesRemoved: boolean;831    readonly asIdentitiesRemoved: {832      readonly amount: u32;833    } & Struct;834    readonly isJudgementRequested: boolean;835    readonly asJudgementRequested: {836      readonly who: AccountId32;837      readonly registrarIndex: u32;838    } & Struct;839    readonly isJudgementUnrequested: boolean;840    readonly asJudgementUnrequested: {841      readonly who: AccountId32;842      readonly registrarIndex: u32;843    } & Struct;844    readonly isJudgementGiven: boolean;845    readonly asJudgementGiven: {846      readonly target: AccountId32;847      readonly registrarIndex: u32;848    } & Struct;849    readonly isRegistrarAdded: boolean;850    readonly asRegistrarAdded: {851      readonly registrarIndex: u32;852    } & Struct;853    readonly isSubIdentityAdded: boolean;854    readonly asSubIdentityAdded: {855      readonly sub: AccountId32;856      readonly main: AccountId32;857      readonly deposit: u128;858    } & Struct;859    readonly isSubIdentityRemoved: boolean;860    readonly asSubIdentityRemoved: {861      readonly sub: AccountId32;862      readonly main: AccountId32;863      readonly deposit: u128;864    } & Struct;865    readonly isSubIdentityRevoked: boolean;866    readonly asSubIdentityRevoked: {867      readonly sub: AccountId32;868      readonly main: AccountId32;869      readonly deposit: u128;870    } & Struct;871    readonly isSubIdentitiesInserted: boolean;872    readonly asSubIdentitiesInserted: {873      readonly amount: u32;874    } & Struct;875    readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'IdentitiesInserted' | 'IdentitiesRemoved' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'SubIdentitiesInserted';876  }877878  /** @name PalletPreimageEvent (70) */879  interface PalletPreimageEvent extends Enum {880    readonly isNoted: boolean;881    readonly asNoted: {882      readonly hash_: H256;883    } & Struct;884    readonly isRequested: boolean;885    readonly asRequested: {886      readonly hash_: H256;887    } & Struct;888    readonly isCleared: boolean;889    readonly asCleared: {890      readonly hash_: H256;891    } & Struct;892    readonly type: 'Noted' | 'Requested' | 'Cleared';893  }894895  /** @name CumulusPalletXcmpQueueEvent (71) */896  interface CumulusPalletXcmpQueueEvent extends Enum {897    readonly isSuccess: boolean;898    readonly asSuccess: {899      readonly messageHash: Option<U8aFixed>;900      readonly weight: SpWeightsWeightV2Weight;901    } & Struct;902    readonly isFail: boolean;903    readonly asFail: {904      readonly messageHash: Option<U8aFixed>;905      readonly error: XcmV3TraitsError;906      readonly weight: SpWeightsWeightV2Weight;907    } & Struct;908    readonly isBadVersion: boolean;909    readonly asBadVersion: {910      readonly messageHash: Option<U8aFixed>;911    } & Struct;912    readonly isBadFormat: boolean;913    readonly asBadFormat: {914      readonly messageHash: Option<U8aFixed>;915    } & Struct;916    readonly isXcmpMessageSent: boolean;917    readonly asXcmpMessageSent: {918      readonly messageHash: Option<U8aFixed>;919    } & Struct;920    readonly isOverweightEnqueued: boolean;921    readonly asOverweightEnqueued: {922      readonly sender: u32;923      readonly sentAt: u32;924      readonly index: u64;925      readonly required: SpWeightsWeightV2Weight;926    } & Struct;927    readonly isOverweightServiced: boolean;928    readonly asOverweightServiced: {929      readonly index: u64;930      readonly used: SpWeightsWeightV2Weight;931    } & Struct;932    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';933  }934935  /** @name XcmV3TraitsError (72) */936  interface XcmV3TraitsError extends Enum {937    readonly isOverflow: boolean;938    readonly isUnimplemented: boolean;939    readonly isUntrustedReserveLocation: boolean;940    readonly isUntrustedTeleportLocation: boolean;941    readonly isLocationFull: boolean;942    readonly isLocationNotInvertible: boolean;943    readonly isBadOrigin: boolean;944    readonly isInvalidLocation: boolean;945    readonly isAssetNotFound: boolean;946    readonly isFailedToTransactAsset: boolean;947    readonly isNotWithdrawable: boolean;948    readonly isLocationCannotHold: boolean;949    readonly isExceedsMaxMessageSize: boolean;950    readonly isDestinationUnsupported: boolean;951    readonly isTransport: boolean;952    readonly isUnroutable: boolean;953    readonly isUnknownClaim: boolean;954    readonly isFailedToDecode: boolean;955    readonly isMaxWeightInvalid: boolean;956    readonly isNotHoldingFees: boolean;957    readonly isTooExpensive: boolean;958    readonly isTrap: boolean;959    readonly asTrap: u64;960    readonly isExpectationFalse: boolean;961    readonly isPalletNotFound: boolean;962    readonly isNameMismatch: boolean;963    readonly isVersionIncompatible: boolean;964    readonly isHoldingWouldOverflow: boolean;965    readonly isExportError: boolean;966    readonly isReanchorFailed: boolean;967    readonly isNoDeal: boolean;968    readonly isFeesNotMet: boolean;969    readonly isLockError: boolean;970    readonly isNoPermission: boolean;971    readonly isUnanchored: boolean;972    readonly isNotDepositable: boolean;973    readonly isUnhandledXcmVersion: boolean;974    readonly isWeightLimitReached: boolean;975    readonly asWeightLimitReached: SpWeightsWeightV2Weight;976    readonly isBarrier: boolean;977    readonly isWeightNotComputable: boolean;978    readonly isExceedsStackLimit: boolean;979    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';980  }981982  /** @name PalletXcmEvent (74) */983  interface PalletXcmEvent extends Enum {984    readonly isAttempted: boolean;985    readonly asAttempted: XcmV3TraitsOutcome;986    readonly isSent: boolean;987    readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>;988    readonly isUnexpectedResponse: boolean;989    readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>;990    readonly isResponseReady: boolean;991    readonly asResponseReady: ITuple<[u64, XcmV3Response]>;992    readonly isNotified: boolean;993    readonly asNotified: ITuple<[u64, u8, u8]>;994    readonly isNotifyOverweight: boolean;995    readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;996    readonly isNotifyDispatchError: boolean;997    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;998    readonly isNotifyDecodeFailed: boolean;999    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1000    readonly isInvalidResponder: boolean;1001    readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option<XcmV3MultiLocation>]>;1002    readonly isInvalidResponderVersion: boolean;1003    readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>;1004    readonly isResponseTaken: boolean;1005    readonly asResponseTaken: u64;1006    readonly isAssetsTrapped: boolean;1007    readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;1008    readonly isVersionChangeNotified: boolean;1009    readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>;1010    readonly isSupportedVersionChanged: boolean;1011    readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>;1012    readonly isNotifyTargetSendFail: boolean;1013    readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>;1014    readonly isNotifyTargetMigrationFail: boolean;1015    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1016    readonly isInvalidQuerierVersion: boolean;1017    readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>;1018    readonly isInvalidQuerier: boolean;1019    readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option<XcmV3MultiLocation>]>;1020    readonly isVersionNotifyStarted: boolean;1021    readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;1022    readonly isVersionNotifyRequested: boolean;1023    readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;1024    readonly isVersionNotifyUnrequested: boolean;1025    readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;1026    readonly isFeesPaid: boolean;1027    readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;1028    readonly isAssetsClaimed: boolean;1029    readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;1030    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';1031  }10321033  /** @name XcmV3TraitsOutcome (75) */1034  interface XcmV3TraitsOutcome extends Enum {1035    readonly isComplete: boolean;1036    readonly asComplete: SpWeightsWeightV2Weight;1037    readonly isIncomplete: boolean;1038    readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>;1039    readonly isError: boolean;1040    readonly asError: XcmV3TraitsError;1041    readonly type: 'Complete' | 'Incomplete' | 'Error';1042  }10431044  /** @name XcmV3Xcm (76) */1045  interface XcmV3Xcm extends Vec<XcmV3Instruction> {}10461047  /** @name XcmV3Instruction (78) */1048  interface XcmV3Instruction extends Enum {1049    readonly isWithdrawAsset: boolean;1050    readonly asWithdrawAsset: XcmV3MultiassetMultiAssets;1051    readonly isReserveAssetDeposited: boolean;1052    readonly asReserveAssetDeposited: XcmV3MultiassetMultiAssets;1053    readonly isReceiveTeleportedAsset: boolean;1054    readonly asReceiveTeleportedAsset: XcmV3MultiassetMultiAssets;1055    readonly isQueryResponse: boolean;1056    readonly asQueryResponse: {1057      readonly queryId: Compact<u64>;1058      readonly response: XcmV3Response;1059      readonly maxWeight: SpWeightsWeightV2Weight;1060      readonly querier: Option<XcmV3MultiLocation>;1061    } & Struct;1062    readonly isTransferAsset: boolean;1063    readonly asTransferAsset: {1064      readonly assets: XcmV3MultiassetMultiAssets;1065      readonly beneficiary: XcmV3MultiLocation;1066    } & Struct;1067    readonly isTransferReserveAsset: boolean;1068    readonly asTransferReserveAsset: {1069      readonly assets: XcmV3MultiassetMultiAssets;1070      readonly dest: XcmV3MultiLocation;1071      readonly xcm: XcmV3Xcm;1072    } & Struct;1073    readonly isTransact: boolean;1074    readonly asTransact: {1075      readonly originKind: XcmV2OriginKind;1076      readonly requireWeightAtMost: SpWeightsWeightV2Weight;1077      readonly call: XcmDoubleEncoded;1078    } & Struct;1079    readonly isHrmpNewChannelOpenRequest: boolean;1080    readonly asHrmpNewChannelOpenRequest: {1081      readonly sender: Compact<u32>;1082      readonly maxMessageSize: Compact<u32>;1083      readonly maxCapacity: Compact<u32>;1084    } & Struct;1085    readonly isHrmpChannelAccepted: boolean;1086    readonly asHrmpChannelAccepted: {1087      readonly recipient: Compact<u32>;1088    } & Struct;1089    readonly isHrmpChannelClosing: boolean;1090    readonly asHrmpChannelClosing: {1091      readonly initiator: Compact<u32>;1092      readonly sender: Compact<u32>;1093      readonly recipient: Compact<u32>;1094    } & Struct;1095    readonly isClearOrigin: boolean;1096    readonly isDescendOrigin: boolean;1097    readonly asDescendOrigin: XcmV3Junctions;1098    readonly isReportError: boolean;1099    readonly asReportError: XcmV3QueryResponseInfo;1100    readonly isDepositAsset: boolean;1101    readonly asDepositAsset: {1102      readonly assets: XcmV3MultiassetMultiAssetFilter;1103      readonly beneficiary: XcmV3MultiLocation;1104    } & Struct;1105    readonly isDepositReserveAsset: boolean;1106    readonly asDepositReserveAsset: {1107      readonly assets: XcmV3MultiassetMultiAssetFilter;1108      readonly dest: XcmV3MultiLocation;1109      readonly xcm: XcmV3Xcm;1110    } & Struct;1111    readonly isExchangeAsset: boolean;1112    readonly asExchangeAsset: {1113      readonly give: XcmV3MultiassetMultiAssetFilter;1114      readonly want: XcmV3MultiassetMultiAssets;1115      readonly maximal: bool;1116    } & Struct;1117    readonly isInitiateReserveWithdraw: boolean;1118    readonly asInitiateReserveWithdraw: {1119      readonly assets: XcmV3MultiassetMultiAssetFilter;1120      readonly reserve: XcmV3MultiLocation;1121      readonly xcm: XcmV3Xcm;1122    } & Struct;1123    readonly isInitiateTeleport: boolean;1124    readonly asInitiateTeleport: {1125      readonly assets: XcmV3MultiassetMultiAssetFilter;1126      readonly dest: XcmV3MultiLocation;1127      readonly xcm: XcmV3Xcm;1128    } & Struct;1129    readonly isReportHolding: boolean;1130    readonly asReportHolding: {1131      readonly responseInfo: XcmV3QueryResponseInfo;1132      readonly assets: XcmV3MultiassetMultiAssetFilter;1133    } & Struct;1134    readonly isBuyExecution: boolean;1135    readonly asBuyExecution: {1136      readonly fees: XcmV3MultiAsset;1137      readonly weightLimit: XcmV3WeightLimit;1138    } & Struct;1139    readonly isRefundSurplus: boolean;1140    readonly isSetErrorHandler: boolean;1141    readonly asSetErrorHandler: XcmV3Xcm;1142    readonly isSetAppendix: boolean;1143    readonly asSetAppendix: XcmV3Xcm;1144    readonly isClearError: boolean;1145    readonly isClaimAsset: boolean;1146    readonly asClaimAsset: {1147      readonly assets: XcmV3MultiassetMultiAssets;1148      readonly ticket: XcmV3MultiLocation;1149    } & Struct;1150    readonly isTrap: boolean;1151    readonly asTrap: Compact<u64>;1152    readonly isSubscribeVersion: boolean;1153    readonly asSubscribeVersion: {1154      readonly queryId: Compact<u64>;1155      readonly maxResponseWeight: SpWeightsWeightV2Weight;1156    } & Struct;1157    readonly isUnsubscribeVersion: boolean;1158    readonly isBurnAsset: boolean;1159    readonly asBurnAsset: XcmV3MultiassetMultiAssets;1160    readonly isExpectAsset: boolean;1161    readonly asExpectAsset: XcmV3MultiassetMultiAssets;1162    readonly isExpectOrigin: boolean;1163    readonly asExpectOrigin: Option<XcmV3MultiLocation>;1164    readonly isExpectError: boolean;1165    readonly asExpectError: Option<ITuple<[u32, XcmV3TraitsError]>>;1166    readonly isExpectTransactStatus: boolean;1167    readonly asExpectTransactStatus: XcmV3MaybeErrorCode;1168    readonly isQueryPallet: boolean;1169    readonly asQueryPallet: {1170      readonly moduleName: Bytes;1171      readonly responseInfo: XcmV3QueryResponseInfo;1172    } & Struct;1173    readonly isExpectPallet: boolean;1174    readonly asExpectPallet: {1175      readonly index: Compact<u32>;1176      readonly name: Bytes;1177      readonly moduleName: Bytes;1178      readonly crateMajor: Compact<u32>;1179      readonly minCrateMinor: Compact<u32>;1180    } & Struct;1181    readonly isReportTransactStatus: boolean;1182    readonly asReportTransactStatus: XcmV3QueryResponseInfo;1183    readonly isClearTransactStatus: boolean;1184    readonly isUniversalOrigin: boolean;1185    readonly asUniversalOrigin: XcmV3Junction;1186    readonly isExportMessage: boolean;1187    readonly asExportMessage: {1188      readonly network: XcmV3JunctionNetworkId;1189      readonly destination: XcmV3Junctions;1190      readonly xcm: XcmV3Xcm;1191    } & Struct;1192    readonly isLockAsset: boolean;1193    readonly asLockAsset: {1194      readonly asset: XcmV3MultiAsset;1195      readonly unlocker: XcmV3MultiLocation;1196    } & Struct;1197    readonly isUnlockAsset: boolean;1198    readonly asUnlockAsset: {1199      readonly asset: XcmV3MultiAsset;1200      readonly target: XcmV3MultiLocation;1201    } & Struct;1202    readonly isNoteUnlockable: boolean;1203    readonly asNoteUnlockable: {1204      readonly asset: XcmV3MultiAsset;1205      readonly owner: XcmV3MultiLocation;1206    } & Struct;1207    readonly isRequestUnlock: boolean;1208    readonly asRequestUnlock: {1209      readonly asset: XcmV3MultiAsset;1210      readonly locker: XcmV3MultiLocation;1211    } & Struct;1212    readonly isSetFeesMode: boolean;1213    readonly asSetFeesMode: {1214      readonly jitWithdraw: bool;1215    } & Struct;1216    readonly isSetTopic: boolean;1217    readonly asSetTopic: U8aFixed;1218    readonly isClearTopic: boolean;1219    readonly isAliasOrigin: boolean;1220    readonly asAliasOrigin: XcmV3MultiLocation;1221    readonly isUnpaidExecution: boolean;1222    readonly asUnpaidExecution: {1223      readonly weightLimit: XcmV3WeightLimit;1224      readonly checkOrigin: Option<XcmV3MultiLocation>;1225    } & Struct;1226    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';1227  }12281229  /** @name XcmV3Response (79) */1230  interface XcmV3Response extends Enum {1231    readonly isNull: boolean;1232    readonly isAssets: boolean;1233    readonly asAssets: XcmV3MultiassetMultiAssets;1234    readonly isExecutionResult: boolean;1235    readonly asExecutionResult: Option<ITuple<[u32, XcmV3TraitsError]>>;1236    readonly isVersion: boolean;1237    readonly asVersion: u32;1238    readonly isPalletsInfo: boolean;1239    readonly asPalletsInfo: Vec<XcmV3PalletInfo>;1240    readonly isDispatchResult: boolean;1241    readonly asDispatchResult: XcmV3MaybeErrorCode;1242    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult';1243  }12441245  /** @name XcmV3PalletInfo (83) */1246  interface XcmV3PalletInfo extends Struct {1247    readonly index: Compact<u32>;1248    readonly name: Bytes;1249    readonly moduleName: Bytes;1250    readonly major: Compact<u32>;1251    readonly minor: Compact<u32>;1252    readonly patch: Compact<u32>;1253  }12541255  /** @name XcmV3MaybeErrorCode (86) */1256  interface XcmV3MaybeErrorCode extends Enum {1257    readonly isSuccess: boolean;1258    readonly isError: boolean;1259    readonly asError: Bytes;1260    readonly isTruncatedError: boolean;1261    readonly asTruncatedError: Bytes;1262    readonly type: 'Success' | 'Error' | 'TruncatedError';1263  }12641265  /** @name XcmV2OriginKind (89) */1266  interface XcmV2OriginKind extends Enum {1267    readonly isNative: boolean;1268    readonly isSovereignAccount: boolean;1269    readonly isSuperuser: boolean;1270    readonly isXcm: boolean;1271    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';1272  }12731274  /** @name XcmDoubleEncoded (90) */1275  interface XcmDoubleEncoded extends Struct {1276    readonly encoded: Bytes;1277  }12781279  /** @name XcmV3QueryResponseInfo (91) */1280  interface XcmV3QueryResponseInfo extends Struct {1281    readonly destination: XcmV3MultiLocation;1282    readonly queryId: Compact<u64>;1283    readonly maxWeight: SpWeightsWeightV2Weight;1284  }12851286  /** @name XcmV3MultiassetMultiAssetFilter (92) */1287  interface XcmV3MultiassetMultiAssetFilter extends Enum {1288    readonly isDefinite: boolean;1289    readonly asDefinite: XcmV3MultiassetMultiAssets;1290    readonly isWild: boolean;1291    readonly asWild: XcmV3MultiassetWildMultiAsset;1292    readonly type: 'Definite' | 'Wild';1293  }12941295  /** @name XcmV3MultiassetWildMultiAsset (93) */1296  interface XcmV3MultiassetWildMultiAsset extends Enum {1297    readonly isAll: boolean;1298    readonly isAllOf: boolean;1299    readonly asAllOf: {1300      readonly id: XcmV3MultiassetAssetId;1301      readonly fun: XcmV3MultiassetWildFungibility;1302    } & Struct;1303    readonly isAllCounted: boolean;1304    readonly asAllCounted: Compact<u32>;1305    readonly isAllOfCounted: boolean;1306    readonly asAllOfCounted: {1307      readonly id: XcmV3MultiassetAssetId;1308      readonly fun: XcmV3MultiassetWildFungibility;1309      readonly count: Compact<u32>;1310    } & Struct;1311    readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted';1312  }13131314  /** @name XcmV3MultiassetWildFungibility (94) */1315  interface XcmV3MultiassetWildFungibility extends Enum {1316    readonly isFungible: boolean;1317    readonly isNonFungible: boolean;1318    readonly type: 'Fungible' | 'NonFungible';1319  }13201321  /** @name XcmV3WeightLimit (96) */1322  interface XcmV3WeightLimit extends Enum {1323    readonly isUnlimited: boolean;1324    readonly isLimited: boolean;1325    readonly asLimited: SpWeightsWeightV2Weight;1326    readonly type: 'Unlimited' | 'Limited';1327  }13281329  /** @name XcmVersionedMultiAssets (97) */1330  interface XcmVersionedMultiAssets extends Enum {1331    readonly isV2: boolean;1332    readonly asV2: XcmV2MultiassetMultiAssets;1333    readonly isV3: boolean;1334    readonly asV3: XcmV3MultiassetMultiAssets;1335    readonly type: 'V2' | 'V3';1336  }13371338  /** @name XcmV2MultiassetMultiAssets (98) */1339  interface XcmV2MultiassetMultiAssets extends Vec<XcmV2MultiAsset> {}13401341  /** @name XcmV2MultiAsset (100) */1342  interface XcmV2MultiAsset extends Struct {1343    readonly id: XcmV2MultiassetAssetId;1344    readonly fun: XcmV2MultiassetFungibility;1345  }13461347  /** @name XcmV2MultiassetAssetId (101) */1348  interface XcmV2MultiassetAssetId extends Enum {1349    readonly isConcrete: boolean;1350    readonly asConcrete: XcmV2MultiLocation;1351    readonly isAbstract: boolean;1352    readonly asAbstract: Bytes;1353    readonly type: 'Concrete' | 'Abstract';1354  }13551356  /** @name XcmV2MultiLocation (102) */1357  interface XcmV2MultiLocation extends Struct {1358    readonly parents: u8;1359    readonly interior: XcmV2MultilocationJunctions;1360  }13611362  /** @name XcmV2MultilocationJunctions (103) */1363  interface XcmV2MultilocationJunctions extends Enum {1364    readonly isHere: boolean;1365    readonly isX1: boolean;1366    readonly asX1: XcmV2Junction;1367    readonly isX2: boolean;1368    readonly asX2: ITuple<[XcmV2Junction, XcmV2Junction]>;1369    readonly isX3: boolean;1370    readonly asX3: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1371    readonly isX4: boolean;1372    readonly asX4: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1373    readonly isX5: boolean;1374    readonly asX5: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1375    readonly isX6: boolean;1376    readonly asX6: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1377    readonly isX7: boolean;1378    readonly asX7: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1379    readonly isX8: boolean;1380    readonly asX8: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1381    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1382  }13831384  /** @name XcmV2Junction (104) */1385  interface XcmV2Junction extends Enum {1386    readonly isParachain: boolean;1387    readonly asParachain: Compact<u32>;1388    readonly isAccountId32: boolean;1389    readonly asAccountId32: {1390      readonly network: XcmV2NetworkId;1391      readonly id: U8aFixed;1392    } & Struct;1393    readonly isAccountIndex64: boolean;1394    readonly asAccountIndex64: {1395      readonly network: XcmV2NetworkId;1396      readonly index: Compact<u64>;1397    } & Struct;1398    readonly isAccountKey20: boolean;1399    readonly asAccountKey20: {1400      readonly network: XcmV2NetworkId;1401      readonly key: U8aFixed;1402    } & Struct;1403    readonly isPalletInstance: boolean;1404    readonly asPalletInstance: u8;1405    readonly isGeneralIndex: boolean;1406    readonly asGeneralIndex: Compact<u128>;1407    readonly isGeneralKey: boolean;1408    readonly asGeneralKey: Bytes;1409    readonly isOnlyChild: boolean;1410    readonly isPlurality: boolean;1411    readonly asPlurality: {1412      readonly id: XcmV2BodyId;1413      readonly part: XcmV2BodyPart;1414    } & Struct;1415    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1416  }14171418  /** @name XcmV2NetworkId (105) */1419  interface XcmV2NetworkId extends Enum {1420    readonly isAny: boolean;1421    readonly isNamed: boolean;1422    readonly asNamed: Bytes;1423    readonly isPolkadot: boolean;1424    readonly isKusama: boolean;1425    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';1426  }14271428  /** @name XcmV2BodyId (107) */1429  interface XcmV2BodyId extends Enum {1430    readonly isUnit: boolean;1431    readonly isNamed: boolean;1432    readonly asNamed: Bytes;1433    readonly isIndex: boolean;1434    readonly asIndex: Compact<u32>;1435    readonly isExecutive: boolean;1436    readonly isTechnical: boolean;1437    readonly isLegislative: boolean;1438    readonly isJudicial: boolean;1439    readonly isDefense: boolean;1440    readonly isAdministration: boolean;1441    readonly isTreasury: boolean;1442    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';1443  }14441445  /** @name XcmV2BodyPart (108) */1446  interface XcmV2BodyPart extends Enum {1447    readonly isVoice: boolean;1448    readonly isMembers: boolean;1449    readonly asMembers: {1450      readonly count: Compact<u32>;1451    } & Struct;1452    readonly isFraction: boolean;1453    readonly asFraction: {1454      readonly nom: Compact<u32>;1455      readonly denom: Compact<u32>;1456    } & Struct;1457    readonly isAtLeastProportion: boolean;1458    readonly asAtLeastProportion: {1459      readonly nom: Compact<u32>;1460      readonly denom: Compact<u32>;1461    } & Struct;1462    readonly isMoreThanProportion: boolean;1463    readonly asMoreThanProportion: {1464      readonly nom: Compact<u32>;1465      readonly denom: Compact<u32>;1466    } & Struct;1467    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';1468  }14691470  /** @name XcmV2MultiassetFungibility (109) */1471  interface XcmV2MultiassetFungibility extends Enum {1472    readonly isFungible: boolean;1473    readonly asFungible: Compact<u128>;1474    readonly isNonFungible: boolean;1475    readonly asNonFungible: XcmV2MultiassetAssetInstance;1476    readonly type: 'Fungible' | 'NonFungible';1477  }14781479  /** @name XcmV2MultiassetAssetInstance (110) */1480  interface XcmV2MultiassetAssetInstance extends Enum {1481    readonly isUndefined: boolean;1482    readonly isIndex: boolean;1483    readonly asIndex: Compact<u128>;1484    readonly isArray4: boolean;1485    readonly asArray4: U8aFixed;1486    readonly isArray8: boolean;1487    readonly asArray8: U8aFixed;1488    readonly isArray16: boolean;1489    readonly asArray16: U8aFixed;1490    readonly isArray32: boolean;1491    readonly asArray32: U8aFixed;1492    readonly isBlob: boolean;1493    readonly asBlob: Bytes;1494    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';1495  }14961497  /** @name XcmVersionedMultiLocation (111) */1498  interface XcmVersionedMultiLocation extends Enum {1499    readonly isV2: boolean;1500    readonly asV2: XcmV2MultiLocation;1501    readonly isV3: boolean;1502    readonly asV3: XcmV3MultiLocation;1503    readonly type: 'V2' | 'V3';1504  }15051506  /** @name CumulusPalletXcmEvent (112) */1507  interface CumulusPalletXcmEvent extends Enum {1508    readonly isInvalidFormat: boolean;1509    readonly asInvalidFormat: U8aFixed;1510    readonly isUnsupportedVersion: boolean;1511    readonly asUnsupportedVersion: U8aFixed;1512    readonly isExecutedDownward: boolean;1513    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>;1514    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1515  }15161517  /** @name CumulusPalletDmpQueueEvent (113) */1518  interface CumulusPalletDmpQueueEvent extends Enum {1519    readonly isInvalidFormat: boolean;1520    readonly asInvalidFormat: {1521      readonly messageId: U8aFixed;1522    } & Struct;1523    readonly isUnsupportedVersion: boolean;1524    readonly asUnsupportedVersion: {1525      readonly messageId: U8aFixed;1526    } & Struct;1527    readonly isExecutedDownward: boolean;1528    readonly asExecutedDownward: {1529      readonly messageId: U8aFixed;1530      readonly outcome: XcmV3TraitsOutcome;1531    } & Struct;1532    readonly isWeightExhausted: boolean;1533    readonly asWeightExhausted: {1534      readonly messageId: U8aFixed;1535      readonly remainingWeight: SpWeightsWeightV2Weight;1536      readonly requiredWeight: SpWeightsWeightV2Weight;1537    } & Struct;1538    readonly isOverweightEnqueued: boolean;1539    readonly asOverweightEnqueued: {1540      readonly messageId: U8aFixed;1541      readonly overweightIndex: u64;1542      readonly requiredWeight: SpWeightsWeightV2Weight;1543    } & Struct;1544    readonly isOverweightServiced: boolean;1545    readonly asOverweightServiced: {1546      readonly overweightIndex: u64;1547      readonly weightUsed: SpWeightsWeightV2Weight;1548    } & Struct;1549    readonly isMaxMessagesExhausted: boolean;1550    readonly asMaxMessagesExhausted: {1551      readonly messageId: U8aFixed;1552    } & Struct;1553    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted';1554  }15551556  /** @name PalletConfigurationEvent (114) */1557  interface PalletConfigurationEvent extends Enum {1558    readonly isNewDesiredCollators: boolean;1559    readonly asNewDesiredCollators: {1560      readonly desiredCollators: Option<u32>;1561    } & Struct;1562    readonly isNewCollatorLicenseBond: boolean;1563    readonly asNewCollatorLicenseBond: {1564      readonly bondCost: Option<u128>;1565    } & Struct;1566    readonly isNewCollatorKickThreshold: boolean;1567    readonly asNewCollatorKickThreshold: {1568      readonly lengthInBlocks: Option<u32>;1569    } & Struct;1570    readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';1571  }15721573  /** @name PalletCommonEvent (117) */1574  interface PalletCommonEvent extends Enum {1575    readonly isCollectionCreated: boolean;1576    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1577    readonly isCollectionDestroyed: boolean;1578    readonly asCollectionDestroyed: u32;1579    readonly isItemCreated: boolean;1580    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1581    readonly isItemDestroyed: boolean;1582    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1583    readonly isTransfer: boolean;1584    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1585    readonly isApproved: boolean;1586    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1587    readonly isApprovedForAll: boolean;1588    readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;1589    readonly isCollectionPropertySet: boolean;1590    readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1591    readonly isCollectionPropertyDeleted: boolean;1592    readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1593    readonly isTokenPropertySet: boolean;1594    readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1595    readonly isTokenPropertyDeleted: boolean;1596    readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1597    readonly isPropertyPermissionSet: boolean;1598    readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1599    readonly isAllowListAddressAdded: boolean;1600    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1601    readonly isAllowListAddressRemoved: boolean;1602    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1603    readonly isCollectionAdminAdded: boolean;1604    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1605    readonly isCollectionAdminRemoved: boolean;1606    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1607    readonly isCollectionLimitSet: boolean;1608    readonly asCollectionLimitSet: u32;1609    readonly isCollectionOwnerChanged: boolean;1610    readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>;1611    readonly isCollectionPermissionSet: boolean;1612    readonly asCollectionPermissionSet: u32;1613    readonly isCollectionSponsorSet: boolean;1614    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1615    readonly isSponsorshipConfirmed: boolean;1616    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1617    readonly isCollectionSponsorRemoved: boolean;1618    readonly asCollectionSponsorRemoved: u32;1619    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';1620  }16211622  /** @name PalletEvmAccountBasicCrossAccountIdRepr (120) */1623  interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1624    readonly isSubstrate: boolean;1625    readonly asSubstrate: AccountId32;1626    readonly isEthereum: boolean;1627    readonly asEthereum: H160;1628    readonly type: 'Substrate' | 'Ethereum';1629  }16301631  /** @name PalletStructureEvent (123) */1632  interface PalletStructureEvent extends Enum {1633    readonly isExecuted: boolean;1634    readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1635    readonly type: 'Executed';1636  }16371638  /** @name PalletAppPromotionEvent (124) */1639  interface PalletAppPromotionEvent extends Enum {1640    readonly isStakingRecalculation: boolean;1641    readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1642    readonly isStake: boolean;1643    readonly asStake: ITuple<[AccountId32, u128]>;1644    readonly isUnstake: boolean;1645    readonly asUnstake: ITuple<[AccountId32, u128]>;1646    readonly isSetAdmin: boolean;1647    readonly asSetAdmin: AccountId32;1648    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1649  }16501651  /** @name PalletForeignAssetsModuleEvent (125) */1652  interface PalletForeignAssetsModuleEvent extends Enum {1653    readonly isForeignAssetRegistered: boolean;1654    readonly asForeignAssetRegistered: {1655      readonly assetId: u32;1656      readonly assetAddress: XcmV3MultiLocation;1657      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1658    } & Struct;1659    readonly isForeignAssetUpdated: boolean;1660    readonly asForeignAssetUpdated: {1661      readonly assetId: u32;1662      readonly assetAddress: XcmV3MultiLocation;1663      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1664    } & Struct;1665    readonly isAssetRegistered: boolean;1666    readonly asAssetRegistered: {1667      readonly assetId: PalletForeignAssetsAssetIds;1668      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1669    } & Struct;1670    readonly isAssetUpdated: boolean;1671    readonly asAssetUpdated: {1672      readonly assetId: PalletForeignAssetsAssetIds;1673      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1674    } & Struct;1675    readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1676  }16771678  /** @name PalletForeignAssetsModuleAssetMetadata (126) */1679  interface PalletForeignAssetsModuleAssetMetadata extends Struct {1680    readonly name: Bytes;1681    readonly symbol: Bytes;1682    readonly decimals: u8;1683    readonly minimalBalance: u128;1684  }16851686  /** @name PalletEvmEvent (129) */1687  interface PalletEvmEvent extends Enum {1688    readonly isLog: boolean;1689    readonly asLog: {1690      readonly log: EthereumLog;1691    } & Struct;1692    readonly isCreated: boolean;1693    readonly asCreated: {1694      readonly address: H160;1695    } & Struct;1696    readonly isCreatedFailed: boolean;1697    readonly asCreatedFailed: {1698      readonly address: H160;1699    } & Struct;1700    readonly isExecuted: boolean;1701    readonly asExecuted: {1702      readonly address: H160;1703    } & Struct;1704    readonly isExecutedFailed: boolean;1705    readonly asExecutedFailed: {1706      readonly address: H160;1707    } & Struct;1708    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';1709  }17101711  /** @name EthereumLog (130) */1712  interface EthereumLog extends Struct {1713    readonly address: H160;1714    readonly topics: Vec<H256>;1715    readonly data: Bytes;1716  }17171718  /** @name PalletEthereumEvent (132) */1719  interface PalletEthereumEvent extends Enum {1720    readonly isExecuted: boolean;1721    readonly asExecuted: {1722      readonly from: H160;1723      readonly to: H160;1724      readonly transactionHash: H256;1725      readonly exitReason: EvmCoreErrorExitReason;1726      readonly extraData: Bytes;1727    } & Struct;1728    readonly type: 'Executed';1729  }17301731  /** @name EvmCoreErrorExitReason (133) */1732  interface EvmCoreErrorExitReason extends Enum {1733    readonly isSucceed: boolean;1734    readonly asSucceed: EvmCoreErrorExitSucceed;1735    readonly isError: boolean;1736    readonly asError: EvmCoreErrorExitError;1737    readonly isRevert: boolean;1738    readonly asRevert: EvmCoreErrorExitRevert;1739    readonly isFatal: boolean;1740    readonly asFatal: EvmCoreErrorExitFatal;1741    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1742  }17431744  /** @name EvmCoreErrorExitSucceed (134) */1745  interface EvmCoreErrorExitSucceed extends Enum {1746    readonly isStopped: boolean;1747    readonly isReturned: boolean;1748    readonly isSuicided: boolean;1749    readonly type: 'Stopped' | 'Returned' | 'Suicided';1750  }17511752  /** @name EvmCoreErrorExitError (135) */1753  interface EvmCoreErrorExitError extends Enum {1754    readonly isStackUnderflow: boolean;1755    readonly isStackOverflow: boolean;1756    readonly isInvalidJump: boolean;1757    readonly isInvalidRange: boolean;1758    readonly isDesignatedInvalid: boolean;1759    readonly isCallTooDeep: boolean;1760    readonly isCreateCollision: boolean;1761    readonly isCreateContractLimit: boolean;1762    readonly isOutOfOffset: boolean;1763    readonly isOutOfGas: boolean;1764    readonly isOutOfFund: boolean;1765    readonly isPcUnderflow: boolean;1766    readonly isCreateEmpty: boolean;1767    readonly isOther: boolean;1768    readonly asOther: Text;1769    readonly isMaxNonce: boolean;1770    readonly isInvalidCode: boolean;1771    readonly asInvalidCode: u8;1772    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode';1773  }17741775  /** @name EvmCoreErrorExitRevert (139) */1776  interface EvmCoreErrorExitRevert extends Enum {1777    readonly isReverted: boolean;1778    readonly type: 'Reverted';1779  }17801781  /** @name EvmCoreErrorExitFatal (140) */1782  interface EvmCoreErrorExitFatal extends Enum {1783    readonly isNotSupported: boolean;1784    readonly isUnhandledInterrupt: boolean;1785    readonly isCallErrorAsFatal: boolean;1786    readonly asCallErrorAsFatal: EvmCoreErrorExitError;1787    readonly isOther: boolean;1788    readonly asOther: Text;1789    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1790  }17911792  /** @name PalletEvmContractHelpersEvent (141) */1793  interface PalletEvmContractHelpersEvent extends Enum {1794    readonly isContractSponsorSet: boolean;1795    readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1796    readonly isContractSponsorshipConfirmed: boolean;1797    readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1798    readonly isContractSponsorRemoved: boolean;1799    readonly asContractSponsorRemoved: H160;1800    readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1801  }18021803  /** @name PalletEvmMigrationEvent (142) */1804  interface PalletEvmMigrationEvent extends Enum {1805    readonly isTestEvent: boolean;1806    readonly type: 'TestEvent';1807  }18081809  /** @name PalletMaintenanceEvent (143) */1810  interface PalletMaintenanceEvent extends Enum {1811    readonly isMaintenanceEnabled: boolean;1812    readonly isMaintenanceDisabled: boolean;1813    readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';1814  }18151816  /** @name PalletTestUtilsEvent (144) */1817  interface PalletTestUtilsEvent extends Enum {1818    readonly isValueIsSet: boolean;1819    readonly isShouldRollback: boolean;1820    readonly isBatchCompleted: boolean;1821    readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';1822  }18231824  /** @name FrameSystemPhase (145) */1825  interface FrameSystemPhase extends Enum {1826    readonly isApplyExtrinsic: boolean;1827    readonly asApplyExtrinsic: u32;1828    readonly isFinalization: boolean;1829    readonly isInitialization: boolean;1830    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1831  }18321833  /** @name FrameSystemLastRuntimeUpgradeInfo (148) */1834  interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1835    readonly specVersion: Compact<u32>;1836    readonly specName: Text;1837  }18381839  /** @name FrameSystemCall (149) */1840  interface FrameSystemCall extends Enum {1841    readonly isRemark: boolean;1842    readonly asRemark: {1843      readonly remark: Bytes;1844    } & Struct;1845    readonly isSetHeapPages: boolean;1846    readonly asSetHeapPages: {1847      readonly pages: u64;1848    } & Struct;1849    readonly isSetCode: boolean;1850    readonly asSetCode: {1851      readonly code: Bytes;1852    } & Struct;1853    readonly isSetCodeWithoutChecks: boolean;1854    readonly asSetCodeWithoutChecks: {1855      readonly code: Bytes;1856    } & Struct;1857    readonly isSetStorage: boolean;1858    readonly asSetStorage: {1859      readonly items: Vec<ITuple<[Bytes, Bytes]>>;1860    } & Struct;1861    readonly isKillStorage: boolean;1862    readonly asKillStorage: {1863      readonly keys_: Vec<Bytes>;1864    } & Struct;1865    readonly isKillPrefix: boolean;1866    readonly asKillPrefix: {1867      readonly prefix: Bytes;1868      readonly subkeys: u32;1869    } & Struct;1870    readonly isRemarkWithEvent: boolean;1871    readonly asRemarkWithEvent: {1872      readonly remark: Bytes;1873    } & Struct;1874    readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1875  }18761877  /** @name FrameSystemLimitsBlockWeights (153) */1878  interface FrameSystemLimitsBlockWeights extends Struct {1879    readonly baseBlock: SpWeightsWeightV2Weight;1880    readonly maxBlock: SpWeightsWeightV2Weight;1881    readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1882  }18831884  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (154) */1885  interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1886    readonly normal: FrameSystemLimitsWeightsPerClass;1887    readonly operational: FrameSystemLimitsWeightsPerClass;1888    readonly mandatory: FrameSystemLimitsWeightsPerClass;1889  }18901891  /** @name FrameSystemLimitsWeightsPerClass (155) */1892  interface FrameSystemLimitsWeightsPerClass extends Struct {1893    readonly baseExtrinsic: SpWeightsWeightV2Weight;1894    readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;1895    readonly maxTotal: Option<SpWeightsWeightV2Weight>;1896    readonly reserved: Option<SpWeightsWeightV2Weight>;1897  }18981899  /** @name FrameSystemLimitsBlockLength (157) */1900  interface FrameSystemLimitsBlockLength extends Struct {1901    readonly max: FrameSupportDispatchPerDispatchClassU32;1902  }19031904  /** @name FrameSupportDispatchPerDispatchClassU32 (158) */1905  interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1906    readonly normal: u32;1907    readonly operational: u32;1908    readonly mandatory: u32;1909  }19101911  /** @name SpWeightsRuntimeDbWeight (159) */1912  interface SpWeightsRuntimeDbWeight extends Struct {1913    readonly read: u64;1914    readonly write: u64;1915  }19161917  /** @name SpVersionRuntimeVersion (160) */1918  interface SpVersionRuntimeVersion extends Struct {1919    readonly specName: Text;1920    readonly implName: Text;1921    readonly authoringVersion: u32;1922    readonly specVersion: u32;1923    readonly implVersion: u32;1924    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1925    readonly transactionVersion: u32;1926    readonly stateVersion: u8;1927  }19281929  /** @name FrameSystemError (165) */1930  interface FrameSystemError extends Enum {1931    readonly isInvalidSpecName: boolean;1932    readonly isSpecVersionNeedsToIncrease: boolean;1933    readonly isFailedToExtractRuntimeVersion: boolean;1934    readonly isNonDefaultComposite: boolean;1935    readonly isNonZeroRefCount: boolean;1936    readonly isCallFiltered: boolean;1937    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1938  }19391940  /** @name PalletStateTrieMigrationMigrationTask (166) */1941  interface PalletStateTrieMigrationMigrationTask extends Struct {1942    readonly progressTop: PalletStateTrieMigrationProgress;1943    readonly progressChild: PalletStateTrieMigrationProgress;1944    readonly size_: u32;1945    readonly topItems: u32;1946    readonly childItems: u32;1947  }19481949  /** @name PalletStateTrieMigrationProgress (167) */1950  interface PalletStateTrieMigrationProgress extends Enum {1951    readonly isToStart: boolean;1952    readonly isLastKey: boolean;1953    readonly asLastKey: Bytes;1954    readonly isComplete: boolean;1955    readonly type: 'ToStart' | 'LastKey' | 'Complete';1956  }19571958  /** @name PalletStateTrieMigrationMigrationLimits (170) */1959  interface PalletStateTrieMigrationMigrationLimits extends Struct {1960    readonly size_: u32;1961    readonly item: u32;1962  }19631964  /** @name PalletStateTrieMigrationCall (171) */1965  interface PalletStateTrieMigrationCall extends Enum {1966    readonly isControlAutoMigration: boolean;1967    readonly asControlAutoMigration: {1968      readonly maybeConfig: Option<PalletStateTrieMigrationMigrationLimits>;1969    } & Struct;1970    readonly isContinueMigrate: boolean;1971    readonly asContinueMigrate: {1972      readonly limits: PalletStateTrieMigrationMigrationLimits;1973      readonly realSizeUpper: u32;1974      readonly witnessTask: PalletStateTrieMigrationMigrationTask;1975    } & Struct;1976    readonly isMigrateCustomTop: boolean;1977    readonly asMigrateCustomTop: {1978      readonly keys_: Vec<Bytes>;1979      readonly witnessSize: u32;1980    } & Struct;1981    readonly isMigrateCustomChild: boolean;1982    readonly asMigrateCustomChild: {1983      readonly root: Bytes;1984      readonly childKeys: Vec<Bytes>;1985      readonly totalSize: u32;1986    } & Struct;1987    readonly isSetSignedMaxLimits: boolean;1988    readonly asSetSignedMaxLimits: {1989      readonly limits: PalletStateTrieMigrationMigrationLimits;1990    } & Struct;1991    readonly isForceSetProgress: boolean;1992    readonly asForceSetProgress: {1993      readonly progressTop: PalletStateTrieMigrationProgress;1994      readonly progressChild: PalletStateTrieMigrationProgress;1995    } & Struct;1996    readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress';1997  }19981999  /** @name PolkadotPrimitivesV4PersistedValidationData (172) */2000  interface PolkadotPrimitivesV4PersistedValidationData extends Struct {2001    readonly parentHead: Bytes;2002    readonly relayParentNumber: u32;2003    readonly relayParentStorageRoot: H256;2004    readonly maxPovSize: u32;2005  }20062007  /** @name PolkadotPrimitivesV4UpgradeRestriction (175) */2008  interface PolkadotPrimitivesV4UpgradeRestriction extends Enum {2009    readonly isPresent: boolean;2010    readonly type: 'Present';2011  }20122013  /** @name SpTrieStorageProof (176) */2014  interface SpTrieStorageProof extends Struct {2015    readonly trieNodes: BTreeSet<Bytes>;2016  }20172018  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (178) */2019  interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {2020    readonly dmqMqcHead: H256;2021    readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;2022    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;2023    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;2024  }20252026  /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (179) */2027  interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {2028    readonly remainingCount: u32;2029    readonly remainingSize: u32;2030  }20312032  /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (182) */2033  interface PolkadotPrimitivesV4AbridgedHrmpChannel extends Struct {2034    readonly maxCapacity: u32;2035    readonly maxTotalSize: u32;2036    readonly maxMessageSize: u32;2037    readonly msgCount: u32;2038    readonly totalSize: u32;2039    readonly mqcHead: Option<H256>;2040  }20412042  /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (184) */2043  interface PolkadotPrimitivesV4AbridgedHostConfiguration extends Struct {2044    readonly maxCodeSize: u32;2045    readonly maxHeadDataSize: u32;2046    readonly maxUpwardQueueCount: u32;2047    readonly maxUpwardQueueSize: u32;2048    readonly maxUpwardMessageSize: u32;2049    readonly maxUpwardMessageNumPerCandidate: u32;2050    readonly hrmpMaxMessageNumPerCandidate: u32;2051    readonly validationUpgradeCooldown: u32;2052    readonly validationUpgradeDelay: u32;2053  }20542055  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (190) */2056  interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {2057    readonly recipient: u32;2058    readonly data: Bytes;2059  }20602061  /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (191) */2062  interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct {2063    readonly codeHash: H256;2064    readonly checkVersion: bool;2065  }20662067  /** @name CumulusPalletParachainSystemCall (192) */2068  interface CumulusPalletParachainSystemCall extends Enum {2069    readonly isSetValidationData: boolean;2070    readonly asSetValidationData: {2071      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;2072    } & Struct;2073    readonly isSudoSendUpwardMessage: boolean;2074    readonly asSudoSendUpwardMessage: {2075      readonly message: Bytes;2076    } & Struct;2077    readonly isAuthorizeUpgrade: boolean;2078    readonly asAuthorizeUpgrade: {2079      readonly codeHash: H256;2080      readonly checkVersion: bool;2081    } & Struct;2082    readonly isEnactAuthorizedUpgrade: boolean;2083    readonly asEnactAuthorizedUpgrade: {2084      readonly code: Bytes;2085    } & Struct;2086    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';2087  }20882089  /** @name CumulusPrimitivesParachainInherentParachainInherentData (193) */2090  interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {2091    readonly validationData: PolkadotPrimitivesV4PersistedValidationData;2092    readonly relayChainState: SpTrieStorageProof;2093    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;2094    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;2095  }20962097  /** @name PolkadotCorePrimitivesInboundDownwardMessage (195) */2098  interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {2099    readonly sentAt: u32;2100    readonly msg: Bytes;2101  }21022103  /** @name PolkadotCorePrimitivesInboundHrmpMessage (198) */2104  interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {2105    readonly sentAt: u32;2106    readonly data: Bytes;2107  }21082109  /** @name CumulusPalletParachainSystemError (201) */2110  interface CumulusPalletParachainSystemError extends Enum {2111    readonly isOverlappingUpgrades: boolean;2112    readonly isProhibitedByPolkadot: boolean;2113    readonly isTooBig: boolean;2114    readonly isValidationDataNotAvailable: boolean;2115    readonly isHostConfigurationNotAvailable: boolean;2116    readonly isNotScheduled: boolean;2117    readonly isNothingAuthorized: boolean;2118    readonly isUnauthorized: boolean;2119    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';2120  }21212122  /** @name ParachainInfoCall (202) */2123  type ParachainInfoCall = Null;21242125  /** @name PalletCollatorSelectionCall (205) */2126  interface PalletCollatorSelectionCall extends Enum {2127    readonly isAddInvulnerable: boolean;2128    readonly asAddInvulnerable: {2129      readonly new_: AccountId32;2130    } & Struct;2131    readonly isRemoveInvulnerable: boolean;2132    readonly asRemoveInvulnerable: {2133      readonly who: AccountId32;2134    } & Struct;2135    readonly isGetLicense: boolean;2136    readonly isOnboard: boolean;2137    readonly isOffboard: boolean;2138    readonly isReleaseLicense: boolean;2139    readonly isForceReleaseLicense: boolean;2140    readonly asForceReleaseLicense: {2141      readonly who: AccountId32;2142    } & Struct;2143    readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';2144  }21452146  /** @name PalletCollatorSelectionError (206) */2147  interface PalletCollatorSelectionError extends Enum {2148    readonly isTooManyCandidates: boolean;2149    readonly isUnknown: boolean;2150    readonly isPermission: boolean;2151    readonly isAlreadyHoldingLicense: boolean;2152    readonly isNoLicense: boolean;2153    readonly isAlreadyCandidate: boolean;2154    readonly isNotCandidate: boolean;2155    readonly isTooManyInvulnerables: boolean;2156    readonly isTooFewInvulnerables: boolean;2157    readonly isAlreadyInvulnerable: boolean;2158    readonly isNotInvulnerable: boolean;2159    readonly isNoAssociatedValidatorId: boolean;2160    readonly isValidatorNotRegistered: boolean;2161    readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';2162  }21632164  /** @name OpalRuntimeRuntimeCommonSessionKeys (209) */2165  interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {2166    readonly aura: SpConsensusAuraSr25519AppSr25519Public;2167  }21682169  /** @name SpConsensusAuraSr25519AppSr25519Public (210) */2170  interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}21712172  /** @name SpCoreSr25519Public (211) */2173  interface SpCoreSr25519Public extends U8aFixed {}21742175  /** @name SpCoreCryptoKeyTypeId (214) */2176  interface SpCoreCryptoKeyTypeId extends U8aFixed {}21772178  /** @name PalletSessionCall (215) */2179  interface PalletSessionCall extends Enum {2180    readonly isSetKeys: boolean;2181    readonly asSetKeys: {2182      readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;2183      readonly proof: Bytes;2184    } & Struct;2185    readonly isPurgeKeys: boolean;2186    readonly type: 'SetKeys' | 'PurgeKeys';2187  }21882189  /** @name PalletSessionError (216) */2190  interface PalletSessionError extends Enum {2191    readonly isInvalidProof: boolean;2192    readonly isNoAssociatedValidatorId: boolean;2193    readonly isDuplicatedKey: boolean;2194    readonly isNoKeys: boolean;2195    readonly isNoAccount: boolean;2196    readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';2197  }21982199  /** @name PalletBalancesBalanceLock (221) */2200  interface PalletBalancesBalanceLock extends Struct {2201    readonly id: U8aFixed;2202    readonly amount: u128;2203    readonly reasons: PalletBalancesReasons;2204  }22052206  /** @name PalletBalancesReasons (222) */2207  interface PalletBalancesReasons extends Enum {2208    readonly isFee: boolean;2209    readonly isMisc: boolean;2210    readonly isAll: boolean;2211    readonly type: 'Fee' | 'Misc' | 'All';2212  }22132214  /** @name PalletBalancesReserveData (225) */2215  interface PalletBalancesReserveData extends Struct {2216    readonly id: U8aFixed;2217    readonly amount: u128;2218  }22192220  /** @name PalletBalancesIdAmount (228) */2221  interface PalletBalancesIdAmount extends Struct {2222    readonly id: U8aFixed;2223    readonly amount: u128;2224  }22252226  /** @name PalletBalancesCall (231) */2227  interface PalletBalancesCall extends Enum {2228    readonly isTransferAllowDeath: boolean;2229    readonly asTransferAllowDeath: {2230      readonly dest: MultiAddress;2231      readonly value: Compact<u128>;2232    } & Struct;2233    readonly isSetBalanceDeprecated: boolean;2234    readonly asSetBalanceDeprecated: {2235      readonly who: MultiAddress;2236      readonly newFree: Compact<u128>;2237      readonly oldReserved: Compact<u128>;2238    } & Struct;2239    readonly isForceTransfer: boolean;2240    readonly asForceTransfer: {2241      readonly source: MultiAddress;2242      readonly dest: MultiAddress;2243      readonly value: Compact<u128>;2244    } & Struct;2245    readonly isTransferKeepAlive: boolean;2246    readonly asTransferKeepAlive: {2247      readonly dest: MultiAddress;2248      readonly value: Compact<u128>;2249    } & Struct;2250    readonly isTransferAll: boolean;2251    readonly asTransferAll: {2252      readonly dest: MultiAddress;2253      readonly keepAlive: bool;2254    } & Struct;2255    readonly isForceUnreserve: boolean;2256    readonly asForceUnreserve: {2257      readonly who: MultiAddress;2258      readonly amount: u128;2259    } & Struct;2260    readonly isUpgradeAccounts: boolean;2261    readonly asUpgradeAccounts: {2262      readonly who: Vec<AccountId32>;2263    } & Struct;2264    readonly isTransfer: boolean;2265    readonly asTransfer: {2266      readonly dest: MultiAddress;2267      readonly value: Compact<u128>;2268    } & Struct;2269    readonly isForceSetBalance: boolean;2270    readonly asForceSetBalance: {2271      readonly who: MultiAddress;2272      readonly newFree: Compact<u128>;2273    } & Struct;2274    readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance';2275  }22762277  /** @name PalletBalancesError (234) */2278  interface PalletBalancesError extends Enum {2279    readonly isVestingBalance: boolean;2280    readonly isLiquidityRestrictions: boolean;2281    readonly isInsufficientBalance: boolean;2282    readonly isExistentialDeposit: boolean;2283    readonly isExpendability: boolean;2284    readonly isExistingVestingSchedule: boolean;2285    readonly isDeadAccount: boolean;2286    readonly isTooManyReserves: boolean;2287    readonly isTooManyHolds: boolean;2288    readonly isTooManyFreezes: boolean;2289    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes';2290  }22912292  /** @name PalletTimestampCall (235) */2293  interface PalletTimestampCall extends Enum {2294    readonly isSet: boolean;2295    readonly asSet: {2296      readonly now: Compact<u64>;2297    } & Struct;2298    readonly type: 'Set';2299  }23002301  /** @name PalletTransactionPaymentReleases (237) */2302  interface PalletTransactionPaymentReleases extends Enum {2303    readonly isV1Ancient: boolean;2304    readonly isV2: boolean;2305    readonly type: 'V1Ancient' | 'V2';2306  }23072308  /** @name PalletTreasuryProposal (238) */2309  interface PalletTreasuryProposal extends Struct {2310    readonly proposer: AccountId32;2311    readonly value: u128;2312    readonly beneficiary: AccountId32;2313    readonly bond: u128;2314  }23152316  /** @name PalletTreasuryCall (240) */2317  interface PalletTreasuryCall extends Enum {2318    readonly isProposeSpend: boolean;2319    readonly asProposeSpend: {2320      readonly value: Compact<u128>;2321      readonly beneficiary: MultiAddress;2322    } & Struct;2323    readonly isRejectProposal: boolean;2324    readonly asRejectProposal: {2325      readonly proposalId: Compact<u32>;2326    } & Struct;2327    readonly isApproveProposal: boolean;2328    readonly asApproveProposal: {2329      readonly proposalId: Compact<u32>;2330    } & Struct;2331    readonly isSpend: boolean;2332    readonly asSpend: {2333      readonly amount: Compact<u128>;2334      readonly beneficiary: MultiAddress;2335    } & Struct;2336    readonly isRemoveApproval: boolean;2337    readonly asRemoveApproval: {2338      readonly proposalId: Compact<u32>;2339    } & Struct;2340    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';2341  }23422343  /** @name FrameSupportPalletId (242) */2344  interface FrameSupportPalletId extends U8aFixed {}23452346  /** @name PalletTreasuryError (243) */2347  interface PalletTreasuryError extends Enum {2348    readonly isInsufficientProposersBalance: boolean;2349    readonly isInvalidIndex: boolean;2350    readonly isTooManyApprovals: boolean;2351    readonly isInsufficientPermission: boolean;2352    readonly isProposalNotApproved: boolean;2353    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';2354  }23552356  /** @name PalletSudoCall (244) */2357  interface PalletSudoCall extends Enum {2358    readonly isSudo: boolean;2359    readonly asSudo: {2360      readonly call: Call;2361    } & Struct;2362    readonly isSudoUncheckedWeight: boolean;2363    readonly asSudoUncheckedWeight: {2364      readonly call: Call;2365      readonly weight: SpWeightsWeightV2Weight;2366    } & Struct;2367    readonly isSetKey: boolean;2368    readonly asSetKey: {2369      readonly new_: MultiAddress;2370    } & Struct;2371    readonly isSudoAs: boolean;2372    readonly asSudoAs: {2373      readonly who: MultiAddress;2374      readonly call: Call;2375    } & Struct;2376    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';2377  }23782379  /** @name OrmlVestingModuleCall (246) */2380  interface OrmlVestingModuleCall extends Enum {2381    readonly isClaim: boolean;2382    readonly isVestedTransfer: boolean;2383    readonly asVestedTransfer: {2384      readonly dest: MultiAddress;2385      readonly schedule: OrmlVestingVestingSchedule;2386    } & Struct;2387    readonly isUpdateVestingSchedules: boolean;2388    readonly asUpdateVestingSchedules: {2389      readonly who: MultiAddress;2390      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;2391    } & Struct;2392    readonly isClaimFor: boolean;2393    readonly asClaimFor: {2394      readonly dest: MultiAddress;2395    } & Struct;2396    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';2397  }23982399  /** @name OrmlXtokensModuleCall (248) */2400  interface OrmlXtokensModuleCall extends Enum {2401    readonly isTransfer: boolean;2402    readonly asTransfer: {2403      readonly currencyId: PalletForeignAssetsAssetIds;2404      readonly amount: u128;2405      readonly dest: XcmVersionedMultiLocation;2406      readonly destWeightLimit: XcmV3WeightLimit;2407    } & Struct;2408    readonly isTransferMultiasset: boolean;2409    readonly asTransferMultiasset: {2410      readonly asset: XcmVersionedMultiAsset;2411      readonly dest: XcmVersionedMultiLocation;2412      readonly destWeightLimit: XcmV3WeightLimit;2413    } & Struct;2414    readonly isTransferWithFee: boolean;2415    readonly asTransferWithFee: {2416      readonly currencyId: PalletForeignAssetsAssetIds;2417      readonly amount: u128;2418      readonly fee: u128;2419      readonly dest: XcmVersionedMultiLocation;2420      readonly destWeightLimit: XcmV3WeightLimit;2421    } & Struct;2422    readonly isTransferMultiassetWithFee: boolean;2423    readonly asTransferMultiassetWithFee: {2424      readonly asset: XcmVersionedMultiAsset;2425      readonly fee: XcmVersionedMultiAsset;2426      readonly dest: XcmVersionedMultiLocation;2427      readonly destWeightLimit: XcmV3WeightLimit;2428    } & Struct;2429    readonly isTransferMulticurrencies: boolean;2430    readonly asTransferMulticurrencies: {2431      readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;2432      readonly feeItem: u32;2433      readonly dest: XcmVersionedMultiLocation;2434      readonly destWeightLimit: XcmV3WeightLimit;2435    } & Struct;2436    readonly isTransferMultiassets: boolean;2437    readonly asTransferMultiassets: {2438      readonly assets: XcmVersionedMultiAssets;2439      readonly feeItem: u32;2440      readonly dest: XcmVersionedMultiLocation;2441      readonly destWeightLimit: XcmV3WeightLimit;2442    } & Struct;2443    readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';2444  }24452446  /** @name XcmVersionedMultiAsset (249) */2447  interface XcmVersionedMultiAsset extends Enum {2448    readonly isV2: boolean;2449    readonly asV2: XcmV2MultiAsset;2450    readonly isV3: boolean;2451    readonly asV3: XcmV3MultiAsset;2452    readonly type: 'V2' | 'V3';2453  }24542455  /** @name OrmlTokensModuleCall (252) */2456  interface OrmlTokensModuleCall extends Enum {2457    readonly isTransfer: boolean;2458    readonly asTransfer: {2459      readonly dest: MultiAddress;2460      readonly currencyId: PalletForeignAssetsAssetIds;2461      readonly amount: Compact<u128>;2462    } & Struct;2463    readonly isTransferAll: boolean;2464    readonly asTransferAll: {2465      readonly dest: MultiAddress;2466      readonly currencyId: PalletForeignAssetsAssetIds;2467      readonly keepAlive: bool;2468    } & Struct;2469    readonly isTransferKeepAlive: boolean;2470    readonly asTransferKeepAlive: {2471      readonly dest: MultiAddress;2472      readonly currencyId: PalletForeignAssetsAssetIds;2473      readonly amount: Compact<u128>;2474    } & Struct;2475    readonly isForceTransfer: boolean;2476    readonly asForceTransfer: {2477      readonly source: MultiAddress;2478      readonly dest: MultiAddress;2479      readonly currencyId: PalletForeignAssetsAssetIds;2480      readonly amount: Compact<u128>;2481    } & Struct;2482    readonly isSetBalance: boolean;2483    readonly asSetBalance: {2484      readonly who: MultiAddress;2485      readonly currencyId: PalletForeignAssetsAssetIds;2486      readonly newFree: Compact<u128>;2487      readonly newReserved: Compact<u128>;2488    } & Struct;2489    readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';2490  }24912492  /** @name PalletIdentityCall (253) */2493  interface PalletIdentityCall extends Enum {2494    readonly isAddRegistrar: boolean;2495    readonly asAddRegistrar: {2496      readonly account: MultiAddress;2497    } & Struct;2498    readonly isSetIdentity: boolean;2499    readonly asSetIdentity: {2500      readonly info: PalletIdentityIdentityInfo;2501    } & Struct;2502    readonly isSetSubs: boolean;2503    readonly asSetSubs: {2504      readonly subs: Vec<ITuple<[AccountId32, Data]>>;2505    } & Struct;2506    readonly isClearIdentity: boolean;2507    readonly isRequestJudgement: boolean;2508    readonly asRequestJudgement: {2509      readonly regIndex: Compact<u32>;2510      readonly maxFee: Compact<u128>;2511    } & Struct;2512    readonly isCancelRequest: boolean;2513    readonly asCancelRequest: {2514      readonly regIndex: u32;2515    } & Struct;2516    readonly isSetFee: boolean;2517    readonly asSetFee: {2518      readonly index: Compact<u32>;2519      readonly fee: Compact<u128>;2520    } & Struct;2521    readonly isSetAccountId: boolean;2522    readonly asSetAccountId: {2523      readonly index: Compact<u32>;2524      readonly new_: MultiAddress;2525    } & Struct;2526    readonly isSetFields: boolean;2527    readonly asSetFields: {2528      readonly index: Compact<u32>;2529      readonly fields: PalletIdentityBitFlags;2530    } & Struct;2531    readonly isProvideJudgement: boolean;2532    readonly asProvideJudgement: {2533      readonly regIndex: Compact<u32>;2534      readonly target: MultiAddress;2535      readonly judgement: PalletIdentityJudgement;2536      readonly identity: H256;2537    } & Struct;2538    readonly isKillIdentity: boolean;2539    readonly asKillIdentity: {2540      readonly target: MultiAddress;2541    } & Struct;2542    readonly isAddSub: boolean;2543    readonly asAddSub: {2544      readonly sub: MultiAddress;2545      readonly data: Data;2546    } & Struct;2547    readonly isRenameSub: boolean;2548    readonly asRenameSub: {2549      readonly sub: MultiAddress;2550      readonly data: Data;2551    } & Struct;2552    readonly isRemoveSub: boolean;2553    readonly asRemoveSub: {2554      readonly sub: MultiAddress;2555    } & Struct;2556    readonly isQuitSub: boolean;2557    readonly isForceInsertIdentities: boolean;2558    readonly asForceInsertIdentities: {2559      readonly identities: Vec<ITuple<[AccountId32, PalletIdentityRegistration]>>;2560    } & Struct;2561    readonly isForceRemoveIdentities: boolean;2562    readonly asForceRemoveIdentities: {2563      readonly identities: Vec<AccountId32>;2564    } & Struct;2565    readonly isForceSetSubs: boolean;2566    readonly asForceSetSubs: {2567      readonly subs: Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>>;2568    } & Struct;2569    readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';2570  }25712572  /** @name PalletIdentityIdentityInfo (254) */2573  interface PalletIdentityIdentityInfo extends Struct {2574    readonly additional: Vec<ITuple<[Data, Data]>>;2575    readonly display: Data;2576    readonly legal: Data;2577    readonly web: Data;2578    readonly riot: Data;2579    readonly email: Data;2580    readonly pgpFingerprint: Option<U8aFixed>;2581    readonly image: Data;2582    readonly twitter: Data;2583  }25842585  /** @name PalletIdentityBitFlags (290) */2586  interface PalletIdentityBitFlags extends Set {2587    readonly isDisplay: boolean;2588    readonly isLegal: boolean;2589    readonly isWeb: boolean;2590    readonly isRiot: boolean;2591    readonly isEmail: boolean;2592    readonly isPgpFingerprint: boolean;2593    readonly isImage: boolean;2594    readonly isTwitter: boolean;2595  }25962597  /** @name PalletIdentityIdentityField (291) */2598  interface PalletIdentityIdentityField extends Enum {2599    readonly isDisplay: boolean;2600    readonly isLegal: boolean;2601    readonly isWeb: boolean;2602    readonly isRiot: boolean;2603    readonly isEmail: boolean;2604    readonly isPgpFingerprint: boolean;2605    readonly isImage: boolean;2606    readonly isTwitter: boolean;2607    readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';2608  }26092610  /** @name PalletIdentityJudgement (292) */2611  interface PalletIdentityJudgement extends Enum {2612    readonly isUnknown: boolean;2613    readonly isFeePaid: boolean;2614    readonly asFeePaid: u128;2615    readonly isReasonable: boolean;2616    readonly isKnownGood: boolean;2617    readonly isOutOfDate: boolean;2618    readonly isLowQuality: boolean;2619    readonly isErroneous: boolean;2620    readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';2621  }26222623  /** @name PalletIdentityRegistration (295) */2624  interface PalletIdentityRegistration extends Struct {2625    readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;2626    readonly deposit: u128;2627    readonly info: PalletIdentityIdentityInfo;2628  }26292630  /** @name PalletPreimageCall (303) */2631  interface PalletPreimageCall extends Enum {2632    readonly isNotePreimage: boolean;2633    readonly asNotePreimage: {2634      readonly bytes: Bytes;2635    } & Struct;2636    readonly isUnnotePreimage: boolean;2637    readonly asUnnotePreimage: {2638      readonly hash_: H256;2639    } & Struct;2640    readonly isRequestPreimage: boolean;2641    readonly asRequestPreimage: {2642      readonly hash_: H256;2643    } & Struct;2644    readonly isUnrequestPreimage: boolean;2645    readonly asUnrequestPreimage: {2646      readonly hash_: H256;2647    } & Struct;2648    readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';2649  }26502651  /** @name CumulusPalletXcmpQueueCall (304) */2652  interface CumulusPalletXcmpQueueCall extends Enum {2653    readonly isServiceOverweight: boolean;2654    readonly asServiceOverweight: {2655      readonly index: u64;2656      readonly weightLimit: SpWeightsWeightV2Weight;2657    } & Struct;2658    readonly isSuspendXcmExecution: boolean;2659    readonly isResumeXcmExecution: boolean;2660    readonly isUpdateSuspendThreshold: boolean;2661    readonly asUpdateSuspendThreshold: {2662      readonly new_: u32;2663    } & Struct;2664    readonly isUpdateDropThreshold: boolean;2665    readonly asUpdateDropThreshold: {2666      readonly new_: u32;2667    } & Struct;2668    readonly isUpdateResumeThreshold: boolean;2669    readonly asUpdateResumeThreshold: {2670      readonly new_: u32;2671    } & Struct;2672    readonly isUpdateThresholdWeight: boolean;2673    readonly asUpdateThresholdWeight: {2674      readonly new_: SpWeightsWeightV2Weight;2675    } & Struct;2676    readonly isUpdateWeightRestrictDecay: boolean;2677    readonly asUpdateWeightRestrictDecay: {2678      readonly new_: SpWeightsWeightV2Weight;2679    } & Struct;2680    readonly isUpdateXcmpMaxIndividualWeight: boolean;2681    readonly asUpdateXcmpMaxIndividualWeight: {2682      readonly new_: SpWeightsWeightV2Weight;2683    } & Struct;2684    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2685  }26862687  /** @name PalletXcmCall (305) */2688  interface PalletXcmCall extends Enum {2689    readonly isSend: boolean;2690    readonly asSend: {2691      readonly dest: XcmVersionedMultiLocation;2692      readonly message: XcmVersionedXcm;2693    } & Struct;2694    readonly isTeleportAssets: boolean;2695    readonly asTeleportAssets: {2696      readonly dest: XcmVersionedMultiLocation;2697      readonly beneficiary: XcmVersionedMultiLocation;2698      readonly assets: XcmVersionedMultiAssets;2699      readonly feeAssetItem: u32;2700    } & Struct;2701    readonly isReserveTransferAssets: boolean;2702    readonly asReserveTransferAssets: {2703      readonly dest: XcmVersionedMultiLocation;2704      readonly beneficiary: XcmVersionedMultiLocation;2705      readonly assets: XcmVersionedMultiAssets;2706      readonly feeAssetItem: u32;2707    } & Struct;2708    readonly isExecute: boolean;2709    readonly asExecute: {2710      readonly message: XcmVersionedXcm;2711      readonly maxWeight: SpWeightsWeightV2Weight;2712    } & Struct;2713    readonly isForceXcmVersion: boolean;2714    readonly asForceXcmVersion: {2715      readonly location: XcmV3MultiLocation;2716      readonly xcmVersion: u32;2717    } & Struct;2718    readonly isForceDefaultXcmVersion: boolean;2719    readonly asForceDefaultXcmVersion: {2720      readonly maybeXcmVersion: Option<u32>;2721    } & Struct;2722    readonly isForceSubscribeVersionNotify: boolean;2723    readonly asForceSubscribeVersionNotify: {2724      readonly location: XcmVersionedMultiLocation;2725    } & Struct;2726    readonly isForceUnsubscribeVersionNotify: boolean;2727    readonly asForceUnsubscribeVersionNotify: {2728      readonly location: XcmVersionedMultiLocation;2729    } & Struct;2730    readonly isLimitedReserveTransferAssets: boolean;2731    readonly asLimitedReserveTransferAssets: {2732      readonly dest: XcmVersionedMultiLocation;2733      readonly beneficiary: XcmVersionedMultiLocation;2734      readonly assets: XcmVersionedMultiAssets;2735      readonly feeAssetItem: u32;2736      readonly weightLimit: XcmV3WeightLimit;2737    } & Struct;2738    readonly isLimitedTeleportAssets: boolean;2739    readonly asLimitedTeleportAssets: {2740      readonly dest: XcmVersionedMultiLocation;2741      readonly beneficiary: XcmVersionedMultiLocation;2742      readonly assets: XcmVersionedMultiAssets;2743      readonly feeAssetItem: u32;2744      readonly weightLimit: XcmV3WeightLimit;2745    } & Struct;2746    readonly isForceSuspension: boolean;2747    readonly asForceSuspension: {2748      readonly suspended: bool;2749    } & Struct;2750    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension';2751  }27522753  /** @name XcmVersionedXcm (306) */2754  interface XcmVersionedXcm extends Enum {2755    readonly isV2: boolean;2756    readonly asV2: XcmV2Xcm;2757    readonly isV3: boolean;2758    readonly asV3: XcmV3Xcm;2759    readonly type: 'V2' | 'V3';2760  }27612762  /** @name XcmV2Xcm (307) */2763  interface XcmV2Xcm extends Vec<XcmV2Instruction> {}27642765  /** @name XcmV2Instruction (309) */2766  interface XcmV2Instruction extends Enum {2767    readonly isWithdrawAsset: boolean;2768    readonly asWithdrawAsset: XcmV2MultiassetMultiAssets;2769    readonly isReserveAssetDeposited: boolean;2770    readonly asReserveAssetDeposited: XcmV2MultiassetMultiAssets;2771    readonly isReceiveTeleportedAsset: boolean;2772    readonly asReceiveTeleportedAsset: XcmV2MultiassetMultiAssets;2773    readonly isQueryResponse: boolean;2774    readonly asQueryResponse: {2775      readonly queryId: Compact<u64>;2776      readonly response: XcmV2Response;2777      readonly maxWeight: Compact<u64>;2778    } & Struct;2779    readonly isTransferAsset: boolean;2780    readonly asTransferAsset: {2781      readonly assets: XcmV2MultiassetMultiAssets;2782      readonly beneficiary: XcmV2MultiLocation;2783    } & Struct;2784    readonly isTransferReserveAsset: boolean;2785    readonly asTransferReserveAsset: {2786      readonly assets: XcmV2MultiassetMultiAssets;2787      readonly dest: XcmV2MultiLocation;2788      readonly xcm: XcmV2Xcm;2789    } & Struct;2790    readonly isTransact: boolean;2791    readonly asTransact: {2792      readonly originType: XcmV2OriginKind;2793      readonly requireWeightAtMost: Compact<u64>;2794      readonly call: XcmDoubleEncoded;2795    } & Struct;2796    readonly isHrmpNewChannelOpenRequest: boolean;2797    readonly asHrmpNewChannelOpenRequest: {2798      readonly sender: Compact<u32>;2799      readonly maxMessageSize: Compact<u32>;2800      readonly maxCapacity: Compact<u32>;2801    } & Struct;2802    readonly isHrmpChannelAccepted: boolean;2803    readonly asHrmpChannelAccepted: {2804      readonly recipient: Compact<u32>;2805    } & Struct;2806    readonly isHrmpChannelClosing: boolean;2807    readonly asHrmpChannelClosing: {2808      readonly initiator: Compact<u32>;2809      readonly sender: Compact<u32>;2810      readonly recipient: Compact<u32>;2811    } & Struct;2812    readonly isClearOrigin: boolean;2813    readonly isDescendOrigin: boolean;2814    readonly asDescendOrigin: XcmV2MultilocationJunctions;2815    readonly isReportError: boolean;2816    readonly asReportError: {2817      readonly queryId: Compact<u64>;2818      readonly dest: XcmV2MultiLocation;2819      readonly maxResponseWeight: Compact<u64>;2820    } & Struct;2821    readonly isDepositAsset: boolean;2822    readonly asDepositAsset: {2823      readonly assets: XcmV2MultiassetMultiAssetFilter;2824      readonly maxAssets: Compact<u32>;2825      readonly beneficiary: XcmV2MultiLocation;2826    } & Struct;2827    readonly isDepositReserveAsset: boolean;2828    readonly asDepositReserveAsset: {2829      readonly assets: XcmV2MultiassetMultiAssetFilter;2830      readonly maxAssets: Compact<u32>;2831      readonly dest: XcmV2MultiLocation;2832      readonly xcm: XcmV2Xcm;2833    } & Struct;2834    readonly isExchangeAsset: boolean;2835    readonly asExchangeAsset: {2836      readonly give: XcmV2MultiassetMultiAssetFilter;2837      readonly receive: XcmV2MultiassetMultiAssets;2838    } & Struct;2839    readonly isInitiateReserveWithdraw: boolean;2840    readonly asInitiateReserveWithdraw: {2841      readonly assets: XcmV2MultiassetMultiAssetFilter;2842      readonly reserve: XcmV2MultiLocation;2843      readonly xcm: XcmV2Xcm;2844    } & Struct;2845    readonly isInitiateTeleport: boolean;2846    readonly asInitiateTeleport: {2847      readonly assets: XcmV2MultiassetMultiAssetFilter;2848      readonly dest: XcmV2MultiLocation;2849      readonly xcm: XcmV2Xcm;2850    } & Struct;2851    readonly isQueryHolding: boolean;2852    readonly asQueryHolding: {2853      readonly queryId: Compact<u64>;2854      readonly dest: XcmV2MultiLocation;2855      readonly assets: XcmV2MultiassetMultiAssetFilter;2856      readonly maxResponseWeight: Compact<u64>;2857    } & Struct;2858    readonly isBuyExecution: boolean;2859    readonly asBuyExecution: {2860      readonly fees: XcmV2MultiAsset;2861      readonly weightLimit: XcmV2WeightLimit;2862    } & Struct;2863    readonly isRefundSurplus: boolean;2864    readonly isSetErrorHandler: boolean;2865    readonly asSetErrorHandler: XcmV2Xcm;2866    readonly isSetAppendix: boolean;2867    readonly asSetAppendix: XcmV2Xcm;2868    readonly isClearError: boolean;2869    readonly isClaimAsset: boolean;2870    readonly asClaimAsset: {2871      readonly assets: XcmV2MultiassetMultiAssets;2872      readonly ticket: XcmV2MultiLocation;2873    } & Struct;2874    readonly isTrap: boolean;2875    readonly asTrap: Compact<u64>;2876    readonly isSubscribeVersion: boolean;2877    readonly asSubscribeVersion: {2878      readonly queryId: Compact<u64>;2879      readonly maxResponseWeight: Compact<u64>;2880    } & Struct;2881    readonly isUnsubscribeVersion: boolean;2882    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';2883  }28842885  /** @name XcmV2Response (310) */2886  interface XcmV2Response extends Enum {2887    readonly isNull: boolean;2888    readonly isAssets: boolean;2889    readonly asAssets: XcmV2MultiassetMultiAssets;2890    readonly isExecutionResult: boolean;2891    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2892    readonly isVersion: boolean;2893    readonly asVersion: u32;2894    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2895  }28962897  /** @name XcmV2TraitsError (313) */2898  interface XcmV2TraitsError extends Enum {2899    readonly isOverflow: boolean;2900    readonly isUnimplemented: boolean;2901    readonly isUntrustedReserveLocation: boolean;2902    readonly isUntrustedTeleportLocation: boolean;2903    readonly isMultiLocationFull: boolean;2904    readonly isMultiLocationNotInvertible: boolean;2905    readonly isBadOrigin: boolean;2906    readonly isInvalidLocation: boolean;2907    readonly isAssetNotFound: boolean;2908    readonly isFailedToTransactAsset: boolean;2909    readonly isNotWithdrawable: boolean;2910    readonly isLocationCannotHold: boolean;2911    readonly isExceedsMaxMessageSize: boolean;2912    readonly isDestinationUnsupported: boolean;2913    readonly isTransport: boolean;2914    readonly isUnroutable: boolean;2915    readonly isUnknownClaim: boolean;2916    readonly isFailedToDecode: boolean;2917    readonly isMaxWeightInvalid: boolean;2918    readonly isNotHoldingFees: boolean;2919    readonly isTooExpensive: boolean;2920    readonly isTrap: boolean;2921    readonly asTrap: u64;2922    readonly isUnhandledXcmVersion: boolean;2923    readonly isWeightLimitReached: boolean;2924    readonly asWeightLimitReached: u64;2925    readonly isBarrier: boolean;2926    readonly isWeightNotComputable: boolean;2927    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';2928  }29292930  /** @name XcmV2MultiassetMultiAssetFilter (314) */2931  interface XcmV2MultiassetMultiAssetFilter extends Enum {2932    readonly isDefinite: boolean;2933    readonly asDefinite: XcmV2MultiassetMultiAssets;2934    readonly isWild: boolean;2935    readonly asWild: XcmV2MultiassetWildMultiAsset;2936    readonly type: 'Definite' | 'Wild';2937  }29382939  /** @name XcmV2MultiassetWildMultiAsset (315) */2940  interface XcmV2MultiassetWildMultiAsset extends Enum {2941    readonly isAll: boolean;2942    readonly isAllOf: boolean;2943    readonly asAllOf: {2944      readonly id: XcmV2MultiassetAssetId;2945      readonly fun: XcmV2MultiassetWildFungibility;2946    } & Struct;2947    readonly type: 'All' | 'AllOf';2948  }29492950  /** @name XcmV2MultiassetWildFungibility (316) */2951  interface XcmV2MultiassetWildFungibility extends Enum {2952    readonly isFungible: boolean;2953    readonly isNonFungible: boolean;2954    readonly type: 'Fungible' | 'NonFungible';2955  }29562957  /** @name XcmV2WeightLimit (317) */2958  interface XcmV2WeightLimit extends Enum {2959    readonly isUnlimited: boolean;2960    readonly isLimited: boolean;2961    readonly asLimited: Compact<u64>;2962    readonly type: 'Unlimited' | 'Limited';2963  }29642965  /** @name CumulusPalletXcmCall (326) */2966  type CumulusPalletXcmCall = Null;29672968  /** @name CumulusPalletDmpQueueCall (327) */2969  interface CumulusPalletDmpQueueCall extends Enum {2970    readonly isServiceOverweight: boolean;2971    readonly asServiceOverweight: {2972      readonly index: u64;2973      readonly weightLimit: SpWeightsWeightV2Weight;2974    } & Struct;2975    readonly type: 'ServiceOverweight';2976  }29772978  /** @name PalletInflationCall (328) */2979  interface PalletInflationCall extends Enum {2980    readonly isStartInflation: boolean;2981    readonly asStartInflation: {2982      readonly inflationStartRelayBlock: u32;2983    } & Struct;2984    readonly type: 'StartInflation';2985  }29862987  /** @name PalletUniqueCall (329) */2988  interface PalletUniqueCall extends Enum {2989    readonly isCreateCollection: boolean;2990    readonly asCreateCollection: {2991      readonly collectionName: Vec<u16>;2992      readonly collectionDescription: Vec<u16>;2993      readonly tokenPrefix: Bytes;2994      readonly mode: UpDataStructsCollectionMode;2995    } & Struct;2996    readonly isCreateCollectionEx: boolean;2997    readonly asCreateCollectionEx: {2998      readonly data: UpDataStructsCreateCollectionData;2999    } & Struct;3000    readonly isDestroyCollection: boolean;3001    readonly asDestroyCollection: {3002      readonly collectionId: u32;3003    } & Struct;3004    readonly isAddToAllowList: boolean;3005    readonly asAddToAllowList: {3006      readonly collectionId: u32;3007      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;3008    } & Struct;3009    readonly isRemoveFromAllowList: boolean;3010    readonly asRemoveFromAllowList: {3011      readonly collectionId: u32;3012      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;3013    } & Struct;3014    readonly isChangeCollectionOwner: boolean;3015    readonly asChangeCollectionOwner: {3016      readonly collectionId: u32;3017      readonly newOwner: AccountId32;3018    } & Struct;3019    readonly isAddCollectionAdmin: boolean;3020    readonly asAddCollectionAdmin: {3021      readonly collectionId: u32;3022      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;3023    } & Struct;3024    readonly isRemoveCollectionAdmin: boolean;3025    readonly asRemoveCollectionAdmin: {3026      readonly collectionId: u32;3027      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;3028    } & Struct;3029    readonly isSetCollectionSponsor: boolean;3030    readonly asSetCollectionSponsor: {3031      readonly collectionId: u32;3032      readonly newSponsor: AccountId32;3033    } & Struct;3034    readonly isConfirmSponsorship: boolean;3035    readonly asConfirmSponsorship: {3036      readonly collectionId: u32;3037    } & Struct;3038    readonly isRemoveCollectionSponsor: boolean;3039    readonly asRemoveCollectionSponsor: {3040      readonly collectionId: u32;3041    } & Struct;3042    readonly isCreateItem: boolean;3043    readonly asCreateItem: {3044      readonly collectionId: u32;3045      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3046      readonly data: UpDataStructsCreateItemData;3047    } & Struct;3048    readonly isCreateMultipleItems: boolean;3049    readonly asCreateMultipleItems: {3050      readonly collectionId: u32;3051      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3052      readonly itemsData: Vec<UpDataStructsCreateItemData>;3053    } & Struct;3054    readonly isSetCollectionProperties: boolean;3055    readonly asSetCollectionProperties: {3056      readonly collectionId: u32;3057      readonly properties: Vec<UpDataStructsProperty>;3058    } & Struct;3059    readonly isDeleteCollectionProperties: boolean;3060    readonly asDeleteCollectionProperties: {3061      readonly collectionId: u32;3062      readonly propertyKeys: Vec<Bytes>;3063    } & Struct;3064    readonly isSetTokenProperties: boolean;3065    readonly asSetTokenProperties: {3066      readonly collectionId: u32;3067      readonly tokenId: u32;3068      readonly properties: Vec<UpDataStructsProperty>;3069    } & Struct;3070    readonly isDeleteTokenProperties: boolean;3071    readonly asDeleteTokenProperties: {3072      readonly collectionId: u32;3073      readonly tokenId: u32;3074      readonly propertyKeys: Vec<Bytes>;3075    } & Struct;3076    readonly isSetTokenPropertyPermissions: boolean;3077    readonly asSetTokenPropertyPermissions: {3078      readonly collectionId: u32;3079      readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3080    } & Struct;3081    readonly isCreateMultipleItemsEx: boolean;3082    readonly asCreateMultipleItemsEx: {3083      readonly collectionId: u32;3084      readonly data: UpDataStructsCreateItemExData;3085    } & Struct;3086    readonly isSetTransfersEnabledFlag: boolean;3087    readonly asSetTransfersEnabledFlag: {3088      readonly collectionId: u32;3089      readonly value: bool;3090    } & Struct;3091    readonly isBurnItem: boolean;3092    readonly asBurnItem: {3093      readonly collectionId: u32;3094      readonly itemId: u32;3095      readonly value: u128;3096    } & Struct;3097    readonly isBurnFrom: boolean;3098    readonly asBurnFrom: {3099      readonly collectionId: u32;3100      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3101      readonly itemId: u32;3102      readonly value: u128;3103    } & Struct;3104    readonly isTransfer: boolean;3105    readonly asTransfer: {3106      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;3107      readonly collectionId: u32;3108      readonly itemId: u32;3109      readonly value: u128;3110    } & Struct;3111    readonly isApprove: boolean;3112    readonly asApprove: {3113      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;3114      readonly collectionId: u32;3115      readonly itemId: u32;3116      readonly amount: u128;3117    } & Struct;3118    readonly isApproveFrom: boolean;3119    readonly asApproveFrom: {3120      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3121      readonly to: PalletEvmAccountBasicCrossAccountIdRepr;3122      readonly collectionId: u32;3123      readonly itemId: u32;3124      readonly amount: u128;3125    } & Struct;3126    readonly isTransferFrom: boolean;3127    readonly asTransferFrom: {3128      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3129      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;3130      readonly collectionId: u32;3131      readonly itemId: u32;3132      readonly value: u128;3133    } & Struct;3134    readonly isSetCollectionLimits: boolean;3135    readonly asSetCollectionLimits: {3136      readonly collectionId: u32;3137      readonly newLimit: UpDataStructsCollectionLimits;3138    } & Struct;3139    readonly isSetCollectionPermissions: boolean;3140    readonly asSetCollectionPermissions: {3141      readonly collectionId: u32;3142      readonly newPermission: UpDataStructsCollectionPermissions;3143    } & Struct;3144    readonly isRepartition: boolean;3145    readonly asRepartition: {3146      readonly collectionId: u32;3147      readonly tokenId: u32;3148      readonly amount: u128;3149    } & Struct;3150    readonly isSetAllowanceForAll: boolean;3151    readonly asSetAllowanceForAll: {3152      readonly collectionId: u32;3153      readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;3154      readonly approve: bool;3155    } & Struct;3156    readonly isForceRepairCollection: boolean;3157    readonly asForceRepairCollection: {3158      readonly collectionId: u32;3159    } & Struct;3160    readonly isForceRepairItem: boolean;3161    readonly asForceRepairItem: {3162      readonly collectionId: u32;3163      readonly itemId: u32;3164    } & Struct;3165    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';3166  }31673168  /** @name UpDataStructsCollectionMode (334) */3169  interface UpDataStructsCollectionMode extends Enum {3170    readonly isNft: boolean;3171    readonly isFungible: boolean;3172    readonly asFungible: u8;3173    readonly isReFungible: boolean;3174    readonly type: 'Nft' | 'Fungible' | 'ReFungible';3175  }31763177  /** @name UpDataStructsCreateCollectionData (335) */3178  interface UpDataStructsCreateCollectionData extends Struct {3179    readonly mode: UpDataStructsCollectionMode;3180    readonly access: Option<UpDataStructsAccessMode>;3181    readonly name: Vec<u16>;3182    readonly description: Vec<u16>;3183    readonly tokenPrefix: Bytes;3184    readonly limits: Option<UpDataStructsCollectionLimits>;3185    readonly permissions: Option<UpDataStructsCollectionPermissions>;3186    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3187    readonly properties: Vec<UpDataStructsProperty>;3188    readonly adminList: Vec<PalletEvmAccountBasicCrossAccountIdRepr>;3189    readonly pendingSponsor: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3190    readonly flags: U8aFixed;3191  }31923193  /** @name UpDataStructsAccessMode (337) */3194  interface UpDataStructsAccessMode extends Enum {3195    readonly isNormal: boolean;3196    readonly isAllowList: boolean;3197    readonly type: 'Normal' | 'AllowList';3198  }31993200  /** @name UpDataStructsCollectionLimits (339) */3201  interface UpDataStructsCollectionLimits extends Struct {3202    readonly accountTokenOwnershipLimit: Option<u32>;3203    readonly sponsoredDataSize: Option<u32>;3204    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;3205    readonly tokenLimit: Option<u32>;3206    readonly sponsorTransferTimeout: Option<u32>;3207    readonly sponsorApproveTimeout: Option<u32>;3208    readonly ownerCanTransfer: Option<bool>;3209    readonly ownerCanDestroy: Option<bool>;3210    readonly transfersEnabled: Option<bool>;3211  }32123213  /** @name UpDataStructsSponsoringRateLimit (341) */3214  interface UpDataStructsSponsoringRateLimit extends Enum {3215    readonly isSponsoringDisabled: boolean;3216    readonly isBlocks: boolean;3217    readonly asBlocks: u32;3218    readonly type: 'SponsoringDisabled' | 'Blocks';3219  }32203221  /** @name UpDataStructsCollectionPermissions (344) */3222  interface UpDataStructsCollectionPermissions extends Struct {3223    readonly access: Option<UpDataStructsAccessMode>;3224    readonly mintMode: Option<bool>;3225    readonly nesting: Option<UpDataStructsNestingPermissions>;3226  }32273228  /** @name UpDataStructsNestingPermissions (346) */3229  interface UpDataStructsNestingPermissions extends Struct {3230    readonly tokenOwner: bool;3231    readonly collectionAdmin: bool;3232    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;3233  }32343235  /** @name UpDataStructsOwnerRestrictedSet (348) */3236  interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}32373238  /** @name UpDataStructsPropertyKeyPermission (353) */3239  interface UpDataStructsPropertyKeyPermission extends Struct {3240    readonly key: Bytes;3241    readonly permission: UpDataStructsPropertyPermission;3242  }32433244  /** @name UpDataStructsPropertyPermission (354) */3245  interface UpDataStructsPropertyPermission extends Struct {3246    readonly mutable: bool;3247    readonly collectionAdmin: bool;3248    readonly tokenOwner: bool;3249  }32503251  /** @name UpDataStructsProperty (357) */3252  interface UpDataStructsProperty extends Struct {3253    readonly key: Bytes;3254    readonly value: Bytes;3255  }32563257  /** @name UpDataStructsCreateItemData (362) */3258  interface UpDataStructsCreateItemData extends Enum {3259    readonly isNft: boolean;3260    readonly asNft: UpDataStructsCreateNftData;3261    readonly isFungible: boolean;3262    readonly asFungible: UpDataStructsCreateFungibleData;3263    readonly isReFungible: boolean;3264    readonly asReFungible: UpDataStructsCreateReFungibleData;3265    readonly type: 'Nft' | 'Fungible' | 'ReFungible';3266  }32673268  /** @name UpDataStructsCreateNftData (363) */3269  interface UpDataStructsCreateNftData extends Struct {3270    readonly properties: Vec<UpDataStructsProperty>;3271  }32723273  /** @name UpDataStructsCreateFungibleData (364) */3274  interface UpDataStructsCreateFungibleData extends Struct {3275    readonly value: u128;3276  }32773278  /** @name UpDataStructsCreateReFungibleData (365) */3279  interface UpDataStructsCreateReFungibleData extends Struct {3280    readonly pieces: u128;3281    readonly properties: Vec<UpDataStructsProperty>;3282  }32833284  /** @name UpDataStructsCreateItemExData (368) */3285  interface UpDataStructsCreateItemExData extends Enum {3286    readonly isNft: boolean;3287    readonly asNft: Vec<UpDataStructsCreateNftExData>;3288    readonly isFungible: boolean;3289    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;3290    readonly isRefungibleMultipleItems: boolean;3291    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;3292    readonly isRefungibleMultipleOwners: boolean;3293    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;3294    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';3295  }32963297  /** @name UpDataStructsCreateNftExData (370) */3298  interface UpDataStructsCreateNftExData extends Struct {3299    readonly properties: Vec<UpDataStructsProperty>;3300    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3301  }33023303  /** @name UpDataStructsCreateRefungibleExSingleOwner (377) */3304  interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {3305    readonly user: PalletEvmAccountBasicCrossAccountIdRepr;3306    readonly pieces: u128;3307    readonly properties: Vec<UpDataStructsProperty>;3308  }33093310  /** @name UpDataStructsCreateRefungibleExMultipleOwners (379) */3311  interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {3312    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;3313    readonly properties: Vec<UpDataStructsProperty>;3314  }33153316  /** @name PalletConfigurationCall (380) */3317  interface PalletConfigurationCall extends Enum {3318    readonly isSetWeightToFeeCoefficientOverride: boolean;3319    readonly asSetWeightToFeeCoefficientOverride: {3320      readonly coeff: Option<u64>;3321    } & Struct;3322    readonly isSetMinGasPriceOverride: boolean;3323    readonly asSetMinGasPriceOverride: {3324      readonly coeff: Option<u64>;3325    } & Struct;3326    readonly isSetAppPromotionConfigurationOverride: boolean;3327    readonly asSetAppPromotionConfigurationOverride: {3328      readonly configuration: PalletConfigurationAppPromotionConfiguration;3329    } & Struct;3330    readonly isSetCollatorSelectionDesiredCollators: boolean;3331    readonly asSetCollatorSelectionDesiredCollators: {3332      readonly max: Option<u32>;3333    } & Struct;3334    readonly isSetCollatorSelectionLicenseBond: boolean;3335    readonly asSetCollatorSelectionLicenseBond: {3336      readonly amount: Option<u128>;3337    } & Struct;3338    readonly isSetCollatorSelectionKickThreshold: boolean;3339    readonly asSetCollatorSelectionKickThreshold: {3340      readonly threshold: Option<u32>;3341    } & Struct;3342    readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';3343  }33443345  /** @name PalletConfigurationAppPromotionConfiguration (382) */3346  interface PalletConfigurationAppPromotionConfiguration extends Struct {3347    readonly recalculationInterval: Option<u32>;3348    readonly pendingInterval: Option<u32>;3349    readonly intervalIncome: Option<Perbill>;3350    readonly maxStakersPerCalculation: Option<u8>;3351  }33523353  /** @name PalletStructureCall (386) */3354  type PalletStructureCall = Null;33553356  /** @name PalletAppPromotionCall (387) */3357  interface PalletAppPromotionCall extends Enum {3358    readonly isSetAdminAddress: boolean;3359    readonly asSetAdminAddress: {3360      readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;3361    } & Struct;3362    readonly isStake: boolean;3363    readonly asStake: {3364      readonly amount: u128;3365    } & Struct;3366    readonly isUnstakeAll: boolean;3367    readonly isSponsorCollection: boolean;3368    readonly asSponsorCollection: {3369      readonly collectionId: u32;3370    } & Struct;3371    readonly isStopSponsoringCollection: boolean;3372    readonly asStopSponsoringCollection: {3373      readonly collectionId: u32;3374    } & Struct;3375    readonly isSponsorContract: boolean;3376    readonly asSponsorContract: {3377      readonly contractId: H160;3378    } & Struct;3379    readonly isStopSponsoringContract: boolean;3380    readonly asStopSponsoringContract: {3381      readonly contractId: H160;3382    } & Struct;3383    readonly isPayoutStakers: boolean;3384    readonly asPayoutStakers: {3385      readonly stakersNumber: Option<u8>;3386    } & Struct;3387    readonly isUnstakePartial: boolean;3388    readonly asUnstakePartial: {3389      readonly amount: u128;3390    } & Struct;3391    readonly isForceUnstake: boolean;3392    readonly asForceUnstake: {3393      readonly pendingBlocks: Vec<u32>;3394    } & Struct;3395    readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake';3396  }33973398  /** @name PalletForeignAssetsModuleCall (388) */3399  interface PalletForeignAssetsModuleCall extends Enum {3400    readonly isRegisterForeignAsset: boolean;3401    readonly asRegisterForeignAsset: {3402      readonly owner: AccountId32;3403      readonly location: XcmVersionedMultiLocation;3404      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3405    } & Struct;3406    readonly isUpdateForeignAsset: boolean;3407    readonly asUpdateForeignAsset: {3408      readonly foreignAssetId: u32;3409      readonly location: XcmVersionedMultiLocation;3410      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3411    } & Struct;3412    readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';3413  }34143415  /** @name PalletEvmCall (389) */3416  interface PalletEvmCall extends Enum {3417    readonly isWithdraw: boolean;3418    readonly asWithdraw: {3419      readonly address: H160;3420      readonly value: u128;3421    } & Struct;3422    readonly isCall: boolean;3423    readonly asCall: {3424      readonly source: H160;3425      readonly target: H160;3426      readonly input: Bytes;3427      readonly value: U256;3428      readonly gasLimit: u64;3429      readonly maxFeePerGas: U256;3430      readonly maxPriorityFeePerGas: Option<U256>;3431      readonly nonce: Option<U256>;3432      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3433    } & Struct;3434    readonly isCreate: boolean;3435    readonly asCreate: {3436      readonly source: H160;3437      readonly init: Bytes;3438      readonly value: U256;3439      readonly gasLimit: u64;3440      readonly maxFeePerGas: U256;3441      readonly maxPriorityFeePerGas: Option<U256>;3442      readonly nonce: Option<U256>;3443      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3444    } & Struct;3445    readonly isCreate2: boolean;3446    readonly asCreate2: {3447      readonly source: H160;3448      readonly init: Bytes;3449      readonly salt: H256;3450      readonly value: U256;3451      readonly gasLimit: u64;3452      readonly maxFeePerGas: U256;3453      readonly maxPriorityFeePerGas: Option<U256>;3454      readonly nonce: Option<U256>;3455      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3456    } & Struct;3457    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3458  }34593460  /** @name PalletEthereumCall (395) */3461  interface PalletEthereumCall extends Enum {3462    readonly isTransact: boolean;3463    readonly asTransact: {3464      readonly transaction: EthereumTransactionTransactionV2;3465    } & Struct;3466    readonly type: 'Transact';3467  }34683469  /** @name EthereumTransactionTransactionV2 (396) */3470  interface EthereumTransactionTransactionV2 extends Enum {3471    readonly isLegacy: boolean;3472    readonly asLegacy: EthereumTransactionLegacyTransaction;3473    readonly isEip2930: boolean;3474    readonly asEip2930: EthereumTransactionEip2930Transaction;3475    readonly isEip1559: boolean;3476    readonly asEip1559: EthereumTransactionEip1559Transaction;3477    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3478  }34793480  /** @name EthereumTransactionLegacyTransaction (397) */3481  interface EthereumTransactionLegacyTransaction extends Struct {3482    readonly nonce: U256;3483    readonly gasPrice: U256;3484    readonly gasLimit: U256;3485    readonly action: EthereumTransactionTransactionAction;3486    readonly value: U256;3487    readonly input: Bytes;3488    readonly signature: EthereumTransactionTransactionSignature;3489  }34903491  /** @name EthereumTransactionTransactionAction (398) */3492  interface EthereumTransactionTransactionAction extends Enum {3493    readonly isCall: boolean;3494    readonly asCall: H160;3495    readonly isCreate: boolean;3496    readonly type: 'Call' | 'Create';3497  }34983499  /** @name EthereumTransactionTransactionSignature (399) */3500  interface EthereumTransactionTransactionSignature extends Struct {3501    readonly v: u64;3502    readonly r: H256;3503    readonly s: H256;3504  }35053506  /** @name EthereumTransactionEip2930Transaction (401) */3507  interface EthereumTransactionEip2930Transaction extends Struct {3508    readonly chainId: u64;3509    readonly nonce: U256;3510    readonly gasPrice: U256;3511    readonly gasLimit: U256;3512    readonly action: EthereumTransactionTransactionAction;3513    readonly value: U256;3514    readonly input: Bytes;3515    readonly accessList: Vec<EthereumTransactionAccessListItem>;3516    readonly oddYParity: bool;3517    readonly r: H256;3518    readonly s: H256;3519  }35203521  /** @name EthereumTransactionAccessListItem (403) */3522  interface EthereumTransactionAccessListItem extends Struct {3523    readonly address: H160;3524    readonly storageKeys: Vec<H256>;3525  }35263527  /** @name EthereumTransactionEip1559Transaction (404) */3528  interface EthereumTransactionEip1559Transaction extends Struct {3529    readonly chainId: u64;3530    readonly nonce: U256;3531    readonly maxPriorityFeePerGas: U256;3532    readonly maxFeePerGas: U256;3533    readonly gasLimit: U256;3534    readonly action: EthereumTransactionTransactionAction;3535    readonly value: U256;3536    readonly input: Bytes;3537    readonly accessList: Vec<EthereumTransactionAccessListItem>;3538    readonly oddYParity: bool;3539    readonly r: H256;3540    readonly s: H256;3541  }35423543  /** @name PalletEvmContractHelpersCall (405) */3544  interface PalletEvmContractHelpersCall extends Enum {3545    readonly isMigrateFromSelfSponsoring: boolean;3546    readonly asMigrateFromSelfSponsoring: {3547      readonly addresses: Vec<H160>;3548    } & Struct;3549    readonly type: 'MigrateFromSelfSponsoring';3550  }35513552  /** @name PalletEvmMigrationCall (407) */3553  interface PalletEvmMigrationCall extends Enum {3554    readonly isBegin: boolean;3555    readonly asBegin: {3556      readonly address: H160;3557    } & Struct;3558    readonly isSetData: boolean;3559    readonly asSetData: {3560      readonly address: H160;3561      readonly data: Vec<ITuple<[H256, H256]>>;3562    } & Struct;3563    readonly isFinish: boolean;3564    readonly asFinish: {3565      readonly address: H160;3566      readonly code: Bytes;3567    } & Struct;3568    readonly isInsertEthLogs: boolean;3569    readonly asInsertEthLogs: {3570      readonly logs: Vec<EthereumLog>;3571    } & Struct;3572    readonly isInsertEvents: boolean;3573    readonly asInsertEvents: {3574      readonly events: Vec<Bytes>;3575    } & Struct;3576    readonly isRemoveRmrkData: boolean;3577    readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';3578  }35793580  /** @name PalletMaintenanceCall (411) */3581  interface PalletMaintenanceCall extends Enum {3582    readonly isEnable: boolean;3583    readonly isDisable: boolean;3584    readonly isExecutePreimage: boolean;3585    readonly asExecutePreimage: {3586      readonly hash_: H256;3587      readonly weightBound: SpWeightsWeightV2Weight;3588    } & Struct;3589    readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';3590  }35913592  /** @name PalletTestUtilsCall (412) */3593  interface PalletTestUtilsCall extends Enum {3594    readonly isEnable: boolean;3595    readonly isSetTestValue: boolean;3596    readonly asSetTestValue: {3597      readonly value: u32;3598    } & Struct;3599    readonly isSetTestValueAndRollback: boolean;3600    readonly asSetTestValueAndRollback: {3601      readonly value: u32;3602    } & Struct;3603    readonly isIncTestValue: boolean;3604    readonly isJustTakeFee: boolean;3605    readonly isBatchAll: boolean;3606    readonly asBatchAll: {3607      readonly calls: Vec<Call>;3608    } & Struct;3609    readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3610  }36113612  /** @name PalletSudoError (414) */3613  interface PalletSudoError extends Enum {3614    readonly isRequireSudo: boolean;3615    readonly type: 'RequireSudo';3616  }36173618  /** @name OrmlVestingModuleError (416) */3619  interface OrmlVestingModuleError extends Enum {3620    readonly isZeroVestingPeriod: boolean;3621    readonly isZeroVestingPeriodCount: boolean;3622    readonly isInsufficientBalanceToLock: boolean;3623    readonly isTooManyVestingSchedules: boolean;3624    readonly isAmountLow: boolean;3625    readonly isMaxVestingSchedulesExceeded: boolean;3626    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3627  }36283629  /** @name OrmlXtokensModuleError (417) */3630  interface OrmlXtokensModuleError extends Enum {3631    readonly isAssetHasNoReserve: boolean;3632    readonly isNotCrossChainTransfer: boolean;3633    readonly isInvalidDest: boolean;3634    readonly isNotCrossChainTransferableCurrency: boolean;3635    readonly isUnweighableMessage: boolean;3636    readonly isXcmExecutionFailed: boolean;3637    readonly isCannotReanchor: boolean;3638    readonly isInvalidAncestry: boolean;3639    readonly isInvalidAsset: boolean;3640    readonly isDestinationNotInvertible: boolean;3641    readonly isBadVersion: boolean;3642    readonly isDistinctReserveForAssetAndFee: boolean;3643    readonly isZeroFee: boolean;3644    readonly isZeroAmount: boolean;3645    readonly isTooManyAssetsBeingSent: boolean;3646    readonly isAssetIndexNonExistent: boolean;3647    readonly isFeeNotEnough: boolean;3648    readonly isNotSupportedMultiLocation: boolean;3649    readonly isMinXcmFeeNotDefined: boolean;3650    readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3651  }36523653  /** @name OrmlTokensBalanceLock (420) */3654  interface OrmlTokensBalanceLock extends Struct {3655    readonly id: U8aFixed;3656    readonly amount: u128;3657  }36583659  /** @name OrmlTokensAccountData (422) */3660  interface OrmlTokensAccountData extends Struct {3661    readonly free: u128;3662    readonly reserved: u128;3663    readonly frozen: u128;3664  }36653666  /** @name OrmlTokensReserveData (424) */3667  interface OrmlTokensReserveData extends Struct {3668    readonly id: Null;3669    readonly amount: u128;3670  }36713672  /** @name OrmlTokensModuleError (426) */3673  interface OrmlTokensModuleError extends Enum {3674    readonly isBalanceTooLow: boolean;3675    readonly isAmountIntoBalanceFailed: boolean;3676    readonly isLiquidityRestrictions: boolean;3677    readonly isMaxLocksExceeded: boolean;3678    readonly isKeepAlive: boolean;3679    readonly isExistentialDeposit: boolean;3680    readonly isDeadAccount: boolean;3681    readonly isTooManyReserves: boolean;3682    readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3683  }36843685  /** @name PalletIdentityRegistrarInfo (431) */3686  interface PalletIdentityRegistrarInfo extends Struct {3687    readonly account: AccountId32;3688    readonly fee: u128;3689    readonly fields: PalletIdentityBitFlags;3690  }36913692  /** @name PalletIdentityError (433) */3693  interface PalletIdentityError extends Enum {3694    readonly isTooManySubAccounts: boolean;3695    readonly isNotFound: boolean;3696    readonly isNotNamed: boolean;3697    readonly isEmptyIndex: boolean;3698    readonly isFeeChanged: boolean;3699    readonly isNoIdentity: boolean;3700    readonly isStickyJudgement: boolean;3701    readonly isJudgementGiven: boolean;3702    readonly isInvalidJudgement: boolean;3703    readonly isInvalidIndex: boolean;3704    readonly isInvalidTarget: boolean;3705    readonly isTooManyFields: boolean;3706    readonly isTooManyRegistrars: boolean;3707    readonly isAlreadyClaimed: boolean;3708    readonly isNotSub: boolean;3709    readonly isNotOwned: boolean;3710    readonly isJudgementForDifferentIdentity: boolean;3711    readonly isJudgementPaymentFailed: boolean;3712    readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed';3713  }37143715  /** @name PalletPreimageRequestStatus (434) */3716  interface PalletPreimageRequestStatus extends Enum {3717    readonly isUnrequested: boolean;3718    readonly asUnrequested: {3719      readonly deposit: ITuple<[AccountId32, u128]>;3720      readonly len: u32;3721    } & Struct;3722    readonly isRequested: boolean;3723    readonly asRequested: {3724      readonly deposit: Option<ITuple<[AccountId32, u128]>>;3725      readonly count: u32;3726      readonly len: Option<u32>;3727    } & Struct;3728    readonly type: 'Unrequested' | 'Requested';3729  }37303731  /** @name PalletPreimageError (439) */3732  interface PalletPreimageError extends Enum {3733    readonly isTooBig: boolean;3734    readonly isAlreadyNoted: boolean;3735    readonly isNotAuthorized: boolean;3736    readonly isNotNoted: boolean;3737    readonly isRequested: boolean;3738    readonly isNotRequested: boolean;3739    readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested';3740  }37413742  /** @name CumulusPalletXcmpQueueInboundChannelDetails (441) */3743  interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3744    readonly sender: u32;3745    readonly state: CumulusPalletXcmpQueueInboundState;3746    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3747  }37483749  /** @name CumulusPalletXcmpQueueInboundState (442) */3750  interface CumulusPalletXcmpQueueInboundState extends Enum {3751    readonly isOk: boolean;3752    readonly isSuspended: boolean;3753    readonly type: 'Ok' | 'Suspended';3754  }37553756  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (445) */3757  interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3758    readonly isConcatenatedVersionedXcm: boolean;3759    readonly isConcatenatedEncodedBlob: boolean;3760    readonly isSignals: boolean;3761    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3762  }37633764  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (448) */3765  interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3766    readonly recipient: u32;3767    readonly state: CumulusPalletXcmpQueueOutboundState;3768    readonly signalsExist: bool;3769    readonly firstIndex: u16;3770    readonly lastIndex: u16;3771  }37723773  /** @name CumulusPalletXcmpQueueOutboundState (449) */3774  interface CumulusPalletXcmpQueueOutboundState extends Enum {3775    readonly isOk: boolean;3776    readonly isSuspended: boolean;3777    readonly type: 'Ok' | 'Suspended';3778  }37793780  /** @name CumulusPalletXcmpQueueQueueConfigData (451) */3781  interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3782    readonly suspendThreshold: u32;3783    readonly dropThreshold: u32;3784    readonly resumeThreshold: u32;3785    readonly thresholdWeight: SpWeightsWeightV2Weight;3786    readonly weightRestrictDecay: SpWeightsWeightV2Weight;3787    readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;3788  }37893790  /** @name CumulusPalletXcmpQueueError (453) */3791  interface CumulusPalletXcmpQueueError extends Enum {3792    readonly isFailedToSend: boolean;3793    readonly isBadXcmOrigin: boolean;3794    readonly isBadXcm: boolean;3795    readonly isBadOverweightIndex: boolean;3796    readonly isWeightOverLimit: boolean;3797    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3798  }37993800  /** @name PalletXcmQueryStatus (454) */3801  interface PalletXcmQueryStatus extends Enum {3802    readonly isPending: boolean;3803    readonly asPending: {3804      readonly responder: XcmVersionedMultiLocation;3805      readonly maybeMatchQuerier: Option<XcmVersionedMultiLocation>;3806      readonly maybeNotify: Option<ITuple<[u8, u8]>>;3807      readonly timeout: u32;3808    } & Struct;3809    readonly isVersionNotifier: boolean;3810    readonly asVersionNotifier: {3811      readonly origin: XcmVersionedMultiLocation;3812      readonly isActive: bool;3813    } & Struct;3814    readonly isReady: boolean;3815    readonly asReady: {3816      readonly response: XcmVersionedResponse;3817      readonly at: u32;3818    } & Struct;3819    readonly type: 'Pending' | 'VersionNotifier' | 'Ready';3820  }38213822  /** @name XcmVersionedResponse (458) */3823  interface XcmVersionedResponse extends Enum {3824    readonly isV2: boolean;3825    readonly asV2: XcmV2Response;3826    readonly isV3: boolean;3827    readonly asV3: XcmV3Response;3828    readonly type: 'V2' | 'V3';3829  }38303831  /** @name PalletXcmVersionMigrationStage (464) */3832  interface PalletXcmVersionMigrationStage extends Enum {3833    readonly isMigrateSupportedVersion: boolean;3834    readonly isMigrateVersionNotifiers: boolean;3835    readonly isNotifyCurrentTargets: boolean;3836    readonly asNotifyCurrentTargets: Option<Bytes>;3837    readonly isMigrateAndNotifyOldTargets: boolean;3838    readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets';3839  }38403841  /** @name XcmVersionedAssetId (467) */3842  interface XcmVersionedAssetId extends Enum {3843    readonly isV3: boolean;3844    readonly asV3: XcmV3MultiassetAssetId;3845    readonly type: 'V3';3846  }38473848  /** @name PalletXcmRemoteLockedFungibleRecord (468) */3849  interface PalletXcmRemoteLockedFungibleRecord extends Struct {3850    readonly amount: u128;3851    readonly owner: XcmVersionedMultiLocation;3852    readonly locker: XcmVersionedMultiLocation;3853    readonly consumers: Vec<ITuple<[Null, u128]>>;3854  }38553856  /** @name PalletXcmError (475) */3857  interface PalletXcmError extends Enum {3858    readonly isUnreachable: boolean;3859    readonly isSendFailure: boolean;3860    readonly isFiltered: boolean;3861    readonly isUnweighableMessage: boolean;3862    readonly isDestinationNotInvertible: boolean;3863    readonly isEmpty: boolean;3864    readonly isCannotReanchor: boolean;3865    readonly isTooManyAssets: boolean;3866    readonly isInvalidOrigin: boolean;3867    readonly isBadVersion: boolean;3868    readonly isBadLocation: boolean;3869    readonly isNoSubscription: boolean;3870    readonly isAlreadySubscribed: boolean;3871    readonly isInvalidAsset: boolean;3872    readonly isLowBalance: boolean;3873    readonly isTooManyLocks: boolean;3874    readonly isAccountNotSovereign: boolean;3875    readonly isFeesNotMet: boolean;3876    readonly isLockNotFound: boolean;3877    readonly isInUse: boolean;3878    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse';3879  }38803881  /** @name CumulusPalletXcmError (476) */3882  type CumulusPalletXcmError = Null;38833884  /** @name CumulusPalletDmpQueueConfigData (477) */3885  interface CumulusPalletDmpQueueConfigData extends Struct {3886    readonly maxIndividual: SpWeightsWeightV2Weight;3887  }38883889  /** @name CumulusPalletDmpQueuePageIndexData (478) */3890  interface CumulusPalletDmpQueuePageIndexData extends Struct {3891    readonly beginUsed: u32;3892    readonly endUsed: u32;3893    readonly overweightCount: u64;3894  }38953896  /** @name CumulusPalletDmpQueueError (481) */3897  interface CumulusPalletDmpQueueError extends Enum {3898    readonly isUnknown: boolean;3899    readonly isOverLimit: boolean;3900    readonly type: 'Unknown' | 'OverLimit';3901  }39023903  /** @name PalletUniqueError (485) */3904  interface PalletUniqueError extends Enum {3905    readonly isCollectionDecimalPointLimitExceeded: boolean;3906    readonly isEmptyArgument: boolean;3907    readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3908    readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3909  }39103911  /** @name PalletConfigurationError (486) */3912  interface PalletConfigurationError extends Enum {3913    readonly isInconsistentConfiguration: boolean;3914    readonly type: 'InconsistentConfiguration';3915  }39163917  /** @name UpDataStructsCollection (487) */3918  interface UpDataStructsCollection extends Struct {3919    readonly owner: AccountId32;3920    readonly mode: UpDataStructsCollectionMode;3921    readonly name: Vec<u16>;3922    readonly description: Vec<u16>;3923    readonly tokenPrefix: Bytes;3924    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3925    readonly limits: UpDataStructsCollectionLimits;3926    readonly permissions: UpDataStructsCollectionPermissions;3927    readonly flags: U8aFixed;3928  }39293930  /** @name UpDataStructsSponsorshipStateAccountId32 (488) */3931  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3932    readonly isDisabled: boolean;3933    readonly isUnconfirmed: boolean;3934    readonly asUnconfirmed: AccountId32;3935    readonly isConfirmed: boolean;3936    readonly asConfirmed: AccountId32;3937    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3938  }39393940  /** @name UpDataStructsProperties (489) */3941  interface UpDataStructsProperties extends Struct {3942    readonly map: UpDataStructsPropertiesMapBoundedVec;3943    readonly consumedSpace: u32;3944    readonly reserved: u32;3945  }39463947  /** @name UpDataStructsPropertiesMapBoundedVec (490) */3948  interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}39493950  /** @name UpDataStructsPropertiesMapPropertyPermission (495) */3951  interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}39523953  /** @name UpDataStructsCollectionStats (502) */3954  interface UpDataStructsCollectionStats extends Struct {3955    readonly created: u32;3956    readonly destroyed: u32;3957    readonly alive: u32;3958  }39593960  /** @name UpDataStructsTokenChild (503) */3961  interface UpDataStructsTokenChild extends Struct {3962    readonly token: u32;3963    readonly collection: u32;3964  }39653966  /** @name PhantomTypeUpDataStructs (504) */3967  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}39683969  /** @name UpDataStructsTokenData (506) */3970  interface UpDataStructsTokenData extends Struct {3971    readonly properties: Vec<UpDataStructsProperty>;3972    readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3973    readonly pieces: u128;3974  }39753976  /** @name UpDataStructsRpcCollection (507) */3977  interface UpDataStructsRpcCollection extends Struct {3978    readonly owner: AccountId32;3979    readonly mode: UpDataStructsCollectionMode;3980    readonly name: Vec<u16>;3981    readonly description: Vec<u16>;3982    readonly tokenPrefix: Bytes;3983    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3984    readonly limits: UpDataStructsCollectionLimits;3985    readonly permissions: UpDataStructsCollectionPermissions;3986    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3987    readonly properties: Vec<UpDataStructsProperty>;3988    readonly readOnly: bool;3989    readonly flags: UpDataStructsRpcCollectionFlags;3990  }39913992  /** @name UpDataStructsRpcCollectionFlags (508) */3993  interface UpDataStructsRpcCollectionFlags extends Struct {3994    readonly foreign: bool;3995    readonly erc721metadata: bool;3996  }39973998  /** @name UpPovEstimateRpcPovInfo (509) */3999  interface UpPovEstimateRpcPovInfo extends Struct {4000    readonly proofSize: u64;4001    readonly compactProofSize: u64;4002    readonly compressedProofSize: u64;4003    readonly results: Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>;4004    readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;4005  }40064007  /** @name SpRuntimeTransactionValidityTransactionValidityError (512) */4008  interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {4009    readonly isInvalid: boolean;4010    readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;4011    readonly isUnknown: boolean;4012    readonly asUnknown: SpRuntimeTransactionValidityUnknownTransaction;4013    readonly type: 'Invalid' | 'Unknown';4014  }40154016  /** @name SpRuntimeTransactionValidityInvalidTransaction (513) */4017  interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {4018    readonly isCall: boolean;4019    readonly isPayment: boolean;4020    readonly isFuture: boolean;4021    readonly isStale: boolean;4022    readonly isBadProof: boolean;4023    readonly isAncientBirthBlock: boolean;4024    readonly isExhaustsResources: boolean;4025    readonly isCustom: boolean;4026    readonly asCustom: u8;4027    readonly isBadMandatory: boolean;4028    readonly isMandatoryValidation: boolean;4029    readonly isBadSigner: boolean;4030    readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';4031  }40324033  /** @name SpRuntimeTransactionValidityUnknownTransaction (514) */4034  interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {4035    readonly isCannotLookup: boolean;4036    readonly isNoUnsignedValidator: boolean;4037    readonly isCustom: boolean;4038    readonly asCustom: u8;4039    readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';4040  }40414042  /** @name UpPovEstimateRpcTrieKeyValue (516) */4043  interface UpPovEstimateRpcTrieKeyValue extends Struct {4044    readonly key: Bytes;4045    readonly value: Bytes;4046  }40474048  /** @name PalletCommonError (518) */4049  interface PalletCommonError extends Enum {4050    readonly isCollectionNotFound: boolean;4051    readonly isMustBeTokenOwner: boolean;4052    readonly isNoPermission: boolean;4053    readonly isCantDestroyNotEmptyCollection: boolean;4054    readonly isPublicMintingNotAllowed: boolean;4055    readonly isAddressNotInAllowlist: boolean;4056    readonly isCollectionNameLimitExceeded: boolean;4057    readonly isCollectionDescriptionLimitExceeded: boolean;4058    readonly isCollectionTokenPrefixLimitExceeded: boolean;4059    readonly isTotalCollectionsLimitExceeded: boolean;4060    readonly isCollectionAdminCountExceeded: boolean;4061    readonly isCollectionLimitBoundsExceeded: boolean;4062    readonly isOwnerPermissionsCantBeReverted: boolean;4063    readonly isTransferNotAllowed: boolean;4064    readonly isAccountTokenLimitExceeded: boolean;4065    readonly isCollectionTokenLimitExceeded: boolean;4066    readonly isMetadataFlagFrozen: boolean;4067    readonly isTokenNotFound: boolean;4068    readonly isTokenValueTooLow: boolean;4069    readonly isApprovedValueTooLow: boolean;4070    readonly isCantApproveMoreThanOwned: boolean;4071    readonly isAddressIsNotEthMirror: boolean;4072    readonly isAddressIsZero: boolean;4073    readonly isUnsupportedOperation: boolean;4074    readonly isNotSufficientFounds: boolean;4075    readonly isUserIsNotAllowedToNest: boolean;4076    readonly isSourceCollectionIsNotAllowedToNest: boolean;4077    readonly isCollectionFieldSizeExceeded: boolean;4078    readonly isNoSpaceForProperty: boolean;4079    readonly isPropertyLimitReached: boolean;4080    readonly isPropertyKeyIsTooLong: boolean;4081    readonly isInvalidCharacterInPropertyKey: boolean;4082    readonly isEmptyPropertyKey: boolean;4083    readonly isCollectionIsExternal: boolean;4084    readonly isCollectionIsInternal: boolean;4085    readonly isConfirmSponsorshipFail: boolean;4086    readonly isUserIsNotCollectionAdmin: boolean;4087    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';4088  }40894090  /** @name PalletFungibleError (520) */4091  interface PalletFungibleError extends Enum {4092    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;4093    readonly isFungibleItemsHaveNoId: boolean;4094    readonly isFungibleItemsDontHaveData: boolean;4095    readonly isFungibleDisallowsNesting: boolean;4096    readonly isSettingPropertiesNotAllowed: boolean;4097    readonly isSettingAllowanceForAllNotAllowed: boolean;4098    readonly isFungibleTokensAreAlwaysValid: boolean;4099    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';4100  }41014102  /** @name PalletRefungibleError (525) */4103  interface PalletRefungibleError extends Enum {4104    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;4105    readonly isWrongRefungiblePieces: boolean;4106    readonly isRepartitionWhileNotOwningAllPieces: boolean;4107    readonly isRefungibleDisallowsNesting: boolean;4108    readonly isSettingPropertiesNotAllowed: boolean;4109    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';4110  }41114112  /** @name PalletNonfungibleItemData (526) */4113  interface PalletNonfungibleItemData extends Struct {4114    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;4115  }41164117  /** @name UpDataStructsPropertyScope (528) */4118  interface UpDataStructsPropertyScope extends Enum {4119    readonly isNone: boolean;4120    readonly isRmrk: boolean;4121    readonly type: 'None' | 'Rmrk';4122  }41234124  /** @name PalletNonfungibleError (531) */4125  interface PalletNonfungibleError extends Enum {4126    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;4127    readonly isNonfungibleItemsHaveNoAmount: boolean;4128    readonly isCantBurnNftWithChildren: boolean;4129    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';4130  }41314132  /** @name PalletStructureError (532) */4133  interface PalletStructureError extends Enum {4134    readonly isOuroborosDetected: boolean;4135    readonly isDepthLimit: boolean;4136    readonly isBreadthLimit: boolean;4137    readonly isTokenNotFound: boolean;4138    readonly isCantNestTokenUnderCollection: boolean;4139    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection';4140  }41414142  /** @name PalletAppPromotionError (537) */4143  interface PalletAppPromotionError extends Enum {4144    readonly isAdminNotSet: boolean;4145    readonly isNoPermission: boolean;4146    readonly isNotSufficientFunds: boolean;4147    readonly isPendingForBlockOverflow: boolean;4148    readonly isSponsorNotSet: boolean;4149    readonly isInsufficientStakedBalance: boolean;4150    readonly isInconsistencyState: boolean;4151    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'InsufficientStakedBalance' | 'InconsistencyState';4152  }41534154  /** @name PalletForeignAssetsModuleError (538) */4155  interface PalletForeignAssetsModuleError extends Enum {4156    readonly isBadLocation: boolean;4157    readonly isMultiLocationExisted: boolean;4158    readonly isAssetIdNotExists: boolean;4159    readonly isAssetIdExisted: boolean;4160    readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';4161  }41624163  /** @name PalletEvmCodeMetadata (539) */4164  interface PalletEvmCodeMetadata extends Struct {4165    readonly size_: u64;4166    readonly hash_: H256;4167  }41684169  /** @name PalletEvmError (541) */4170  interface PalletEvmError extends Enum {4171    readonly isBalanceLow: boolean;4172    readonly isFeeOverflow: boolean;4173    readonly isPaymentOverflow: boolean;4174    readonly isWithdrawFailed: boolean;4175    readonly isGasPriceTooLow: boolean;4176    readonly isInvalidNonce: boolean;4177    readonly isGasLimitTooLow: boolean;4178    readonly isGasLimitTooHigh: boolean;4179    readonly isUndefined: boolean;4180    readonly isReentrancy: boolean;4181    readonly isTransactionMustComeFromEOA: boolean;4182    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';4183  }41844185  /** @name FpRpcTransactionStatus (544) */4186  interface FpRpcTransactionStatus extends Struct {4187    readonly transactionHash: H256;4188    readonly transactionIndex: u32;4189    readonly from: H160;4190    readonly to: Option<H160>;4191    readonly contractAddress: Option<H160>;4192    readonly logs: Vec<EthereumLog>;4193    readonly logsBloom: EthbloomBloom;4194  }41954196  /** @name EthbloomBloom (546) */4197  interface EthbloomBloom extends U8aFixed {}41984199  /** @name EthereumReceiptReceiptV3 (548) */4200  interface EthereumReceiptReceiptV3 extends Enum {4201    readonly isLegacy: boolean;4202    readonly asLegacy: EthereumReceiptEip658ReceiptData;4203    readonly isEip2930: boolean;4204    readonly asEip2930: EthereumReceiptEip658ReceiptData;4205    readonly isEip1559: boolean;4206    readonly asEip1559: EthereumReceiptEip658ReceiptData;4207    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';4208  }42094210  /** @name EthereumReceiptEip658ReceiptData (549) */4211  interface EthereumReceiptEip658ReceiptData extends Struct {4212    readonly statusCode: u8;4213    readonly usedGas: U256;4214    readonly logsBloom: EthbloomBloom;4215    readonly logs: Vec<EthereumLog>;4216  }42174218  /** @name EthereumBlock (550) */4219  interface EthereumBlock extends Struct {4220    readonly header: EthereumHeader;4221    readonly transactions: Vec<EthereumTransactionTransactionV2>;4222    readonly ommers: Vec<EthereumHeader>;4223  }42244225  /** @name EthereumHeader (551) */4226  interface EthereumHeader extends Struct {4227    readonly parentHash: H256;4228    readonly ommersHash: H256;4229    readonly beneficiary: H160;4230    readonly stateRoot: H256;4231    readonly transactionsRoot: H256;4232    readonly receiptsRoot: H256;4233    readonly logsBloom: EthbloomBloom;4234    readonly difficulty: U256;4235    readonly number: U256;4236    readonly gasLimit: U256;4237    readonly gasUsed: U256;4238    readonly timestamp: u64;4239    readonly extraData: Bytes;4240    readonly mixHash: H256;4241    readonly nonce: EthereumTypesHashH64;4242  }42434244  /** @name EthereumTypesHashH64 (552) */4245  interface EthereumTypesHashH64 extends U8aFixed {}42464247  /** @name PalletEthereumError (557) */4248  interface PalletEthereumError extends Enum {4249    readonly isInvalidSignature: boolean;4250    readonly isPreLogExists: boolean;4251    readonly type: 'InvalidSignature' | 'PreLogExists';4252  }42534254  /** @name PalletEvmCoderSubstrateError (558) */4255  interface PalletEvmCoderSubstrateError extends Enum {4256    readonly isOutOfGas: boolean;4257    readonly isOutOfFund: boolean;4258    readonly type: 'OutOfGas' | 'OutOfFund';4259  }42604261  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (559) */4262  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {4263    readonly isDisabled: boolean;4264    readonly isUnconfirmed: boolean;4265    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;4266    readonly isConfirmed: boolean;4267    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;4268    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';4269  }42704271  /** @name PalletEvmContractHelpersSponsoringModeT (560) */4272  interface PalletEvmContractHelpersSponsoringModeT extends Enum {4273    readonly isDisabled: boolean;4274    readonly isAllowlisted: boolean;4275    readonly isGenerous: boolean;4276    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';4277  }42784279  /** @name PalletEvmContractHelpersError (566) */4280  interface PalletEvmContractHelpersError extends Enum {4281    readonly isNoPermission: boolean;4282    readonly isNoPendingSponsor: boolean;4283    readonly isTooManyMethodsHaveSponsoredLimit: boolean;4284    readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';4285  }42864287  /** @name PalletEvmMigrationError (567) */4288  interface PalletEvmMigrationError extends Enum {4289    readonly isAccountNotEmpty: boolean;4290    readonly isAccountIsNotMigrating: boolean;4291    readonly isBadEvent: boolean;4292    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';4293  }42944295  /** @name PalletMaintenanceError (568) */4296  type PalletMaintenanceError = Null;42974298  /** @name PalletTestUtilsError (569) */4299  interface PalletTestUtilsError extends Enum {4300    readonly isTestPalletDisabled: boolean;4301    readonly isTriggerRollback: boolean;4302    readonly type: 'TestPalletDisabled' | 'TriggerRollback';4303  }43044305  /** @name SpRuntimeMultiSignature (571) */4306  interface SpRuntimeMultiSignature extends Enum {4307    readonly isEd25519: boolean;4308    readonly asEd25519: SpCoreEd25519Signature;4309    readonly isSr25519: boolean;4310    readonly asSr25519: SpCoreSr25519Signature;4311    readonly isEcdsa: boolean;4312    readonly asEcdsa: SpCoreEcdsaSignature;4313    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';4314  }43154316  /** @name SpCoreEd25519Signature (572) */4317  interface SpCoreEd25519Signature extends U8aFixed {}43184319  /** @name SpCoreSr25519Signature (574) */4320  interface SpCoreSr25519Signature extends U8aFixed {}43214322  /** @name SpCoreEcdsaSignature (575) */4323  interface SpCoreEcdsaSignature extends U8aFixed {}43244325  /** @name FrameSystemExtensionsCheckSpecVersion (578) */4326  type FrameSystemExtensionsCheckSpecVersion = Null;43274328  /** @name FrameSystemExtensionsCheckTxVersion (579) */4329  type FrameSystemExtensionsCheckTxVersion = Null;43304331  /** @name FrameSystemExtensionsCheckGenesis (580) */4332  type FrameSystemExtensionsCheckGenesis = Null;43334334  /** @name FrameSystemExtensionsCheckNonce (583) */4335  interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}43364337  /** @name FrameSystemExtensionsCheckWeight (584) */4338  type FrameSystemExtensionsCheckWeight = Null;43394340  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (585) */4341  type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;43424343  /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (586) */4344  type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;43454346  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (587) */4347  interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}43484349  /** @name OpalRuntimeRuntime (588) */4350  type OpalRuntimeRuntime = Null;43514352  /** @name PalletEthereumFakeTransactionFinalizer (589) */4353  type PalletEthereumFakeTransactionFinalizer = Null;43544355} // declare module
after · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { Data } from '@polkadot/types';9import 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';10import type { ITuple } from '@polkadot/types-codec/types';11import type { Vote } from '@polkadot/types/interfaces/elections';12import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';13import type { Event } from '@polkadot/types/interfaces/system';1415declare module '@polkadot/types/lookup' {16  /** @name FrameSystemAccountInfo (3) */17  interface FrameSystemAccountInfo extends Struct {18    readonly nonce: u32;19    readonly consumers: u32;20    readonly providers: u32;21    readonly sufficients: u32;22    readonly data: PalletBalancesAccountData;23  }2425  /** @name PalletBalancesAccountData (5) */26  interface PalletBalancesAccountData extends Struct {27    readonly free: u128;28    readonly reserved: u128;29    readonly frozen: u128;30    readonly flags: u128;31  }3233  /** @name FrameSupportDispatchPerDispatchClassWeight (8) */34  interface FrameSupportDispatchPerDispatchClassWeight extends Struct {35    readonly normal: SpWeightsWeightV2Weight;36    readonly operational: SpWeightsWeightV2Weight;37    readonly mandatory: SpWeightsWeightV2Weight;38  }3940  /** @name SpWeightsWeightV2Weight (9) */41  interface SpWeightsWeightV2Weight extends Struct {42    readonly refTime: Compact<u64>;43    readonly proofSize: Compact<u64>;44  }4546  /** @name SpRuntimeDigest (14) */47  interface SpRuntimeDigest extends Struct {48    readonly logs: Vec<SpRuntimeDigestDigestItem>;49  }5051  /** @name SpRuntimeDigestDigestItem (16) */52  interface SpRuntimeDigestDigestItem extends Enum {53    readonly isOther: boolean;54    readonly asOther: Bytes;55    readonly isConsensus: boolean;56    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;57    readonly isSeal: boolean;58    readonly asSeal: ITuple<[U8aFixed, Bytes]>;59    readonly isPreRuntime: boolean;60    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;61    readonly isRuntimeEnvironmentUpdated: boolean;62    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';63  }6465  /** @name FrameSystemEventRecord (19) */66  interface FrameSystemEventRecord extends Struct {67    readonly phase: FrameSystemPhase;68    readonly event: Event;69    readonly topics: Vec<H256>;70  }7172  /** @name FrameSystemEvent (21) */73  interface FrameSystemEvent extends Enum {74    readonly isExtrinsicSuccess: boolean;75    readonly asExtrinsicSuccess: {76      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;77    } & Struct;78    readonly isExtrinsicFailed: boolean;79    readonly asExtrinsicFailed: {80      readonly dispatchError: SpRuntimeDispatchError;81      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;82    } & Struct;83    readonly isCodeUpdated: boolean;84    readonly isNewAccount: boolean;85    readonly asNewAccount: {86      readonly account: AccountId32;87    } & Struct;88    readonly isKilledAccount: boolean;89    readonly asKilledAccount: {90      readonly account: AccountId32;91    } & Struct;92    readonly isRemarked: boolean;93    readonly asRemarked: {94      readonly sender: AccountId32;95      readonly hash_: H256;96    } & Struct;97    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';98  }99100  /** @name FrameSupportDispatchDispatchInfo (22) */101  interface FrameSupportDispatchDispatchInfo extends Struct {102    readonly weight: SpWeightsWeightV2Weight;103    readonly class: FrameSupportDispatchDispatchClass;104    readonly paysFee: FrameSupportDispatchPays;105  }106107  /** @name FrameSupportDispatchDispatchClass (23) */108  interface FrameSupportDispatchDispatchClass extends Enum {109    readonly isNormal: boolean;110    readonly isOperational: boolean;111    readonly isMandatory: boolean;112    readonly type: 'Normal' | 'Operational' | 'Mandatory';113  }114115  /** @name FrameSupportDispatchPays (24) */116  interface FrameSupportDispatchPays extends Enum {117    readonly isYes: boolean;118    readonly isNo: boolean;119    readonly type: 'Yes' | 'No';120  }121122  /** @name SpRuntimeDispatchError (25) */123  interface SpRuntimeDispatchError extends Enum {124    readonly isOther: boolean;125    readonly isCannotLookup: boolean;126    readonly isBadOrigin: boolean;127    readonly isModule: boolean;128    readonly asModule: SpRuntimeModuleError;129    readonly isConsumerRemaining: boolean;130    readonly isNoProviders: boolean;131    readonly isTooManyConsumers: boolean;132    readonly isToken: boolean;133    readonly asToken: SpRuntimeTokenError;134    readonly isArithmetic: boolean;135    readonly asArithmetic: SpArithmeticArithmeticError;136    readonly isTransactional: boolean;137    readonly asTransactional: SpRuntimeTransactionalError;138    readonly isExhausted: boolean;139    readonly isCorruption: boolean;140    readonly isUnavailable: boolean;141    readonly isRootNotAllowed: boolean;142    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable' | 'RootNotAllowed';143  }144145  /** @name SpRuntimeModuleError (26) */146  interface SpRuntimeModuleError extends Struct {147    readonly index: u8;148    readonly error: U8aFixed;149  }150151  /** @name SpRuntimeTokenError (27) */152  interface SpRuntimeTokenError extends Enum {153    readonly isFundsUnavailable: boolean;154    readonly isOnlyProvider: boolean;155    readonly isBelowMinimum: boolean;156    readonly isCannotCreate: boolean;157    readonly isUnknownAsset: boolean;158    readonly isFrozen: boolean;159    readonly isUnsupported: boolean;160    readonly isCannotCreateHold: boolean;161    readonly isNotExpendable: boolean;162    readonly isBlocked: boolean;163    readonly type: 'FundsUnavailable' | 'OnlyProvider' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported' | 'CannotCreateHold' | 'NotExpendable' | 'Blocked';164  }165166  /** @name SpArithmeticArithmeticError (28) */167  interface SpArithmeticArithmeticError extends Enum {168    readonly isUnderflow: boolean;169    readonly isOverflow: boolean;170    readonly isDivisionByZero: boolean;171    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';172  }173174  /** @name SpRuntimeTransactionalError (29) */175  interface SpRuntimeTransactionalError extends Enum {176    readonly isLimitReached: boolean;177    readonly isNoLayer: boolean;178    readonly type: 'LimitReached' | 'NoLayer';179  }180181  /** @name PalletStateTrieMigrationEvent (30) */182  interface PalletStateTrieMigrationEvent extends Enum {183    readonly isMigrated: boolean;184    readonly asMigrated: {185      readonly top: u32;186      readonly child: u32;187      readonly compute: PalletStateTrieMigrationMigrationCompute;188    } & Struct;189    readonly isSlashed: boolean;190    readonly asSlashed: {191      readonly who: AccountId32;192      readonly amount: u128;193    } & Struct;194    readonly isAutoMigrationFinished: boolean;195    readonly isHalted: boolean;196    readonly asHalted: {197      readonly error: PalletStateTrieMigrationError;198    } & Struct;199    readonly type: 'Migrated' | 'Slashed' | 'AutoMigrationFinished' | 'Halted';200  }201202  /** @name PalletStateTrieMigrationMigrationCompute (31) */203  interface PalletStateTrieMigrationMigrationCompute extends Enum {204    readonly isSigned: boolean;205    readonly isAuto: boolean;206    readonly type: 'Signed' | 'Auto';207  }208209  /** @name PalletStateTrieMigrationError (32) */210  interface PalletStateTrieMigrationError extends Enum {211    readonly isMaxSignedLimits: boolean;212    readonly isKeyTooLong: boolean;213    readonly isNotEnoughFunds: boolean;214    readonly isBadWitness: boolean;215    readonly isSignedMigrationNotAllowed: boolean;216    readonly isBadChildRoot: boolean;217    readonly type: 'MaxSignedLimits' | 'KeyTooLong' | 'NotEnoughFunds' | 'BadWitness' | 'SignedMigrationNotAllowed' | 'BadChildRoot';218  }219220  /** @name CumulusPalletParachainSystemEvent (33) */221  interface CumulusPalletParachainSystemEvent extends Enum {222    readonly isValidationFunctionStored: boolean;223    readonly isValidationFunctionApplied: boolean;224    readonly asValidationFunctionApplied: {225      readonly relayChainBlockNum: u32;226    } & Struct;227    readonly isValidationFunctionDiscarded: boolean;228    readonly isUpgradeAuthorized: boolean;229    readonly asUpgradeAuthorized: {230      readonly codeHash: H256;231    } & Struct;232    readonly isDownwardMessagesReceived: boolean;233    readonly asDownwardMessagesReceived: {234      readonly count: u32;235    } & Struct;236    readonly isDownwardMessagesProcessed: boolean;237    readonly asDownwardMessagesProcessed: {238      readonly weightUsed: SpWeightsWeightV2Weight;239      readonly dmqHead: H256;240    } & Struct;241    readonly isUpwardMessageSent: boolean;242    readonly asUpwardMessageSent: {243      readonly messageHash: Option<U8aFixed>;244    } & Struct;245    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed' | 'UpwardMessageSent';246  }247248  /** @name PalletCollatorSelectionEvent (35) */249  interface PalletCollatorSelectionEvent extends Enum {250    readonly isInvulnerableAdded: boolean;251    readonly asInvulnerableAdded: {252      readonly invulnerable: AccountId32;253    } & Struct;254    readonly isInvulnerableRemoved: boolean;255    readonly asInvulnerableRemoved: {256      readonly invulnerable: AccountId32;257    } & Struct;258    readonly isLicenseObtained: boolean;259    readonly asLicenseObtained: {260      readonly accountId: AccountId32;261      readonly deposit: u128;262    } & Struct;263    readonly isLicenseReleased: boolean;264    readonly asLicenseReleased: {265      readonly accountId: AccountId32;266      readonly depositReturned: u128;267    } & Struct;268    readonly isCandidateAdded: boolean;269    readonly asCandidateAdded: {270      readonly accountId: AccountId32;271    } & Struct;272    readonly isCandidateRemoved: boolean;273    readonly asCandidateRemoved: {274      readonly accountId: AccountId32;275    } & Struct;276    readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';277  }278279  /** @name PalletSessionEvent (36) */280  interface PalletSessionEvent extends Enum {281    readonly isNewSession: boolean;282    readonly asNewSession: {283      readonly sessionIndex: u32;284    } & Struct;285    readonly type: 'NewSession';286  }287288  /** @name PalletBalancesEvent (37) */289  interface PalletBalancesEvent extends Enum {290    readonly isEndowed: boolean;291    readonly asEndowed: {292      readonly account: AccountId32;293      readonly freeBalance: u128;294    } & Struct;295    readonly isDustLost: boolean;296    readonly asDustLost: {297      readonly account: AccountId32;298      readonly amount: u128;299    } & Struct;300    readonly isTransfer: boolean;301    readonly asTransfer: {302      readonly from: AccountId32;303      readonly to: AccountId32;304      readonly amount: u128;305    } & Struct;306    readonly isBalanceSet: boolean;307    readonly asBalanceSet: {308      readonly who: AccountId32;309      readonly free: u128;310    } & Struct;311    readonly isReserved: boolean;312    readonly asReserved: {313      readonly who: AccountId32;314      readonly amount: u128;315    } & Struct;316    readonly isUnreserved: boolean;317    readonly asUnreserved: {318      readonly who: AccountId32;319      readonly amount: u128;320    } & Struct;321    readonly isReserveRepatriated: boolean;322    readonly asReserveRepatriated: {323      readonly from: AccountId32;324      readonly to: AccountId32;325      readonly amount: u128;326      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;327    } & Struct;328    readonly isDeposit: boolean;329    readonly asDeposit: {330      readonly who: AccountId32;331      readonly amount: u128;332    } & Struct;333    readonly isWithdraw: boolean;334    readonly asWithdraw: {335      readonly who: AccountId32;336      readonly amount: u128;337    } & Struct;338    readonly isSlashed: boolean;339    readonly asSlashed: {340      readonly who: AccountId32;341      readonly amount: u128;342    } & Struct;343    readonly isMinted: boolean;344    readonly asMinted: {345      readonly who: AccountId32;346      readonly amount: u128;347    } & Struct;348    readonly isBurned: boolean;349    readonly asBurned: {350      readonly who: AccountId32;351      readonly amount: u128;352    } & Struct;353    readonly isSuspended: boolean;354    readonly asSuspended: {355      readonly who: AccountId32;356      readonly amount: u128;357    } & Struct;358    readonly isRestored: boolean;359    readonly asRestored: {360      readonly who: AccountId32;361      readonly amount: u128;362    } & Struct;363    readonly isUpgraded: boolean;364    readonly asUpgraded: {365      readonly who: AccountId32;366    } & Struct;367    readonly isIssued: boolean;368    readonly asIssued: {369      readonly amount: u128;370    } & Struct;371    readonly isRescinded: boolean;372    readonly asRescinded: {373      readonly amount: u128;374    } & Struct;375    readonly isLocked: boolean;376    readonly asLocked: {377      readonly who: AccountId32;378      readonly amount: u128;379    } & Struct;380    readonly isUnlocked: boolean;381    readonly asUnlocked: {382      readonly who: AccountId32;383      readonly amount: u128;384    } & Struct;385    readonly isFrozen: boolean;386    readonly asFrozen: {387      readonly who: AccountId32;388      readonly amount: u128;389    } & Struct;390    readonly isThawed: boolean;391    readonly asThawed: {392      readonly who: AccountId32;393      readonly amount: u128;394    } & Struct;395    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed' | 'Minted' | 'Burned' | 'Suspended' | 'Restored' | 'Upgraded' | 'Issued' | 'Rescinded' | 'Locked' | 'Unlocked' | 'Frozen' | 'Thawed';396  }397398  /** @name FrameSupportTokensMiscBalanceStatus (38) */399  interface FrameSupportTokensMiscBalanceStatus extends Enum {400    readonly isFree: boolean;401    readonly isReserved: boolean;402    readonly type: 'Free' | 'Reserved';403  }404405  /** @name PalletTransactionPaymentEvent (39) */406  interface PalletTransactionPaymentEvent extends Enum {407    readonly isTransactionFeePaid: boolean;408    readonly asTransactionFeePaid: {409      readonly who: AccountId32;410      readonly actualFee: u128;411      readonly tip: u128;412    } & Struct;413    readonly type: 'TransactionFeePaid';414  }415416  /** @name PalletTreasuryEvent (40) */417  interface PalletTreasuryEvent extends Enum {418    readonly isProposed: boolean;419    readonly asProposed: {420      readonly proposalIndex: u32;421    } & Struct;422    readonly isSpending: boolean;423    readonly asSpending: {424      readonly budgetRemaining: u128;425    } & Struct;426    readonly isAwarded: boolean;427    readonly asAwarded: {428      readonly proposalIndex: u32;429      readonly award: u128;430      readonly account: AccountId32;431    } & Struct;432    readonly isRejected: boolean;433    readonly asRejected: {434      readonly proposalIndex: u32;435      readonly slashed: u128;436    } & Struct;437    readonly isBurnt: boolean;438    readonly asBurnt: {439      readonly burntFunds: u128;440    } & Struct;441    readonly isRollover: boolean;442    readonly asRollover: {443      readonly rolloverBalance: u128;444    } & Struct;445    readonly isDeposit: boolean;446    readonly asDeposit: {447      readonly value: u128;448    } & Struct;449    readonly isSpendApproved: boolean;450    readonly asSpendApproved: {451      readonly proposalIndex: u32;452      readonly amount: u128;453      readonly beneficiary: AccountId32;454    } & Struct;455    readonly isUpdatedInactive: boolean;456    readonly asUpdatedInactive: {457      readonly reactivated: u128;458      readonly deactivated: u128;459    } & Struct;460    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive';461  }462463  /** @name PalletSudoEvent (41) */464  interface PalletSudoEvent extends Enum {465    readonly isSudid: boolean;466    readonly asSudid: {467      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;468    } & Struct;469    readonly isKeyChanged: boolean;470    readonly asKeyChanged: {471      readonly oldSudoer: Option<AccountId32>;472    } & Struct;473    readonly isSudoAsDone: boolean;474    readonly asSudoAsDone: {475      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;476    } & Struct;477    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';478  }479480  /** @name OrmlVestingModuleEvent (45) */481  interface OrmlVestingModuleEvent extends Enum {482    readonly isVestingScheduleAdded: boolean;483    readonly asVestingScheduleAdded: {484      readonly from: AccountId32;485      readonly to: AccountId32;486      readonly vestingSchedule: OrmlVestingVestingSchedule;487    } & Struct;488    readonly isClaimed: boolean;489    readonly asClaimed: {490      readonly who: AccountId32;491      readonly amount: u128;492    } & Struct;493    readonly isVestingSchedulesUpdated: boolean;494    readonly asVestingSchedulesUpdated: {495      readonly who: AccountId32;496    } & Struct;497    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';498  }499500  /** @name OrmlVestingVestingSchedule (46) */501  interface OrmlVestingVestingSchedule extends Struct {502    readonly start: u32;503    readonly period: u32;504    readonly periodCount: u32;505    readonly perPeriod: Compact<u128>;506  }507508  /** @name OrmlXtokensModuleEvent (48) */509  interface OrmlXtokensModuleEvent extends Enum {510    readonly isTransferredMultiAssets: boolean;511    readonly asTransferredMultiAssets: {512      readonly sender: AccountId32;513      readonly assets: XcmV3MultiassetMultiAssets;514      readonly fee: XcmV3MultiAsset;515      readonly dest: XcmV3MultiLocation;516    } & Struct;517    readonly type: 'TransferredMultiAssets';518  }519520  /** @name XcmV3MultiassetMultiAssets (49) */521  interface XcmV3MultiassetMultiAssets extends Vec<XcmV3MultiAsset> {}522523  /** @name XcmV3MultiAsset (51) */524  interface XcmV3MultiAsset extends Struct {525    readonly id: XcmV3MultiassetAssetId;526    readonly fun: XcmV3MultiassetFungibility;527  }528529  /** @name XcmV3MultiassetAssetId (52) */530  interface XcmV3MultiassetAssetId extends Enum {531    readonly isConcrete: boolean;532    readonly asConcrete: XcmV3MultiLocation;533    readonly isAbstract: boolean;534    readonly asAbstract: U8aFixed;535    readonly type: 'Concrete' | 'Abstract';536  }537538  /** @name XcmV3MultiLocation (53) */539  interface XcmV3MultiLocation extends Struct {540    readonly parents: u8;541    readonly interior: XcmV3Junctions;542  }543544  /** @name XcmV3Junctions (54) */545  interface XcmV3Junctions extends Enum {546    readonly isHere: boolean;547    readonly isX1: boolean;548    readonly asX1: XcmV3Junction;549    readonly isX2: boolean;550    readonly asX2: ITuple<[XcmV3Junction, XcmV3Junction]>;551    readonly isX3: boolean;552    readonly asX3: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction]>;553    readonly isX4: boolean;554    readonly asX4: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;555    readonly isX5: boolean;556    readonly asX5: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;557    readonly isX6: boolean;558    readonly asX6: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;559    readonly isX7: boolean;560    readonly asX7: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;561    readonly isX8: boolean;562    readonly asX8: ITuple<[XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction, XcmV3Junction]>;563    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';564  }565566  /** @name XcmV3Junction (55) */567  interface XcmV3Junction extends Enum {568    readonly isParachain: boolean;569    readonly asParachain: Compact<u32>;570    readonly isAccountId32: boolean;571    readonly asAccountId32: {572      readonly network: Option<XcmV3JunctionNetworkId>;573      readonly id: U8aFixed;574    } & Struct;575    readonly isAccountIndex64: boolean;576    readonly asAccountIndex64: {577      readonly network: Option<XcmV3JunctionNetworkId>;578      readonly index: Compact<u64>;579    } & Struct;580    readonly isAccountKey20: boolean;581    readonly asAccountKey20: {582      readonly network: Option<XcmV3JunctionNetworkId>;583      readonly key: U8aFixed;584    } & Struct;585    readonly isPalletInstance: boolean;586    readonly asPalletInstance: u8;587    readonly isGeneralIndex: boolean;588    readonly asGeneralIndex: Compact<u128>;589    readonly isGeneralKey: boolean;590    readonly asGeneralKey: {591      readonly length: u8;592      readonly data: U8aFixed;593    } & Struct;594    readonly isOnlyChild: boolean;595    readonly isPlurality: boolean;596    readonly asPlurality: {597      readonly id: XcmV3JunctionBodyId;598      readonly part: XcmV3JunctionBodyPart;599    } & Struct;600    readonly isGlobalConsensus: boolean;601    readonly asGlobalConsensus: XcmV3JunctionNetworkId;602    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality' | 'GlobalConsensus';603  }604605  /** @name XcmV3JunctionNetworkId (58) */606  interface XcmV3JunctionNetworkId extends Enum {607    readonly isByGenesis: boolean;608    readonly asByGenesis: U8aFixed;609    readonly isByFork: boolean;610    readonly asByFork: {611      readonly blockNumber: u64;612      readonly blockHash: U8aFixed;613    } & Struct;614    readonly isPolkadot: boolean;615    readonly isKusama: boolean;616    readonly isWestend: boolean;617    readonly isRococo: boolean;618    readonly isWococo: boolean;619    readonly isEthereum: boolean;620    readonly asEthereum: {621      readonly chainId: Compact<u64>;622    } & Struct;623    readonly isBitcoinCore: boolean;624    readonly isBitcoinCash: boolean;625    readonly type: 'ByGenesis' | 'ByFork' | 'Polkadot' | 'Kusama' | 'Westend' | 'Rococo' | 'Wococo' | 'Ethereum' | 'BitcoinCore' | 'BitcoinCash';626  }627628  /** @name XcmV3JunctionBodyId (60) */629  interface XcmV3JunctionBodyId extends Enum {630    readonly isUnit: boolean;631    readonly isMoniker: boolean;632    readonly asMoniker: U8aFixed;633    readonly isIndex: boolean;634    readonly asIndex: Compact<u32>;635    readonly isExecutive: boolean;636    readonly isTechnical: boolean;637    readonly isLegislative: boolean;638    readonly isJudicial: boolean;639    readonly isDefense: boolean;640    readonly isAdministration: boolean;641    readonly isTreasury: boolean;642    readonly type: 'Unit' | 'Moniker' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';643  }644645  /** @name XcmV3JunctionBodyPart (61) */646  interface XcmV3JunctionBodyPart extends Enum {647    readonly isVoice: boolean;648    readonly isMembers: boolean;649    readonly asMembers: {650      readonly count: Compact<u32>;651    } & Struct;652    readonly isFraction: boolean;653    readonly asFraction: {654      readonly nom: Compact<u32>;655      readonly denom: Compact<u32>;656    } & Struct;657    readonly isAtLeastProportion: boolean;658    readonly asAtLeastProportion: {659      readonly nom: Compact<u32>;660      readonly denom: Compact<u32>;661    } & Struct;662    readonly isMoreThanProportion: boolean;663    readonly asMoreThanProportion: {664      readonly nom: Compact<u32>;665      readonly denom: Compact<u32>;666    } & Struct;667    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';668  }669670  /** @name XcmV3MultiassetFungibility (62) */671  interface XcmV3MultiassetFungibility extends Enum {672    readonly isFungible: boolean;673    readonly asFungible: Compact<u128>;674    readonly isNonFungible: boolean;675    readonly asNonFungible: XcmV3MultiassetAssetInstance;676    readonly type: 'Fungible' | 'NonFungible';677  }678679  /** @name XcmV3MultiassetAssetInstance (63) */680  interface XcmV3MultiassetAssetInstance extends Enum {681    readonly isUndefined: boolean;682    readonly isIndex: boolean;683    readonly asIndex: Compact<u128>;684    readonly isArray4: boolean;685    readonly asArray4: U8aFixed;686    readonly isArray8: boolean;687    readonly asArray8: U8aFixed;688    readonly isArray16: boolean;689    readonly asArray16: U8aFixed;690    readonly isArray32: boolean;691    readonly asArray32: U8aFixed;692    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32';693  }694695  /** @name OrmlTokensModuleEvent (66) */696  interface OrmlTokensModuleEvent extends Enum {697    readonly isEndowed: boolean;698    readonly asEndowed: {699      readonly currencyId: PalletForeignAssetsAssetIds;700      readonly who: AccountId32;701      readonly amount: u128;702    } & Struct;703    readonly isDustLost: boolean;704    readonly asDustLost: {705      readonly currencyId: PalletForeignAssetsAssetIds;706      readonly who: AccountId32;707      readonly amount: u128;708    } & Struct;709    readonly isTransfer: boolean;710    readonly asTransfer: {711      readonly currencyId: PalletForeignAssetsAssetIds;712      readonly from: AccountId32;713      readonly to: AccountId32;714      readonly amount: u128;715    } & Struct;716    readonly isReserved: boolean;717    readonly asReserved: {718      readonly currencyId: PalletForeignAssetsAssetIds;719      readonly who: AccountId32;720      readonly amount: u128;721    } & Struct;722    readonly isUnreserved: boolean;723    readonly asUnreserved: {724      readonly currencyId: PalletForeignAssetsAssetIds;725      readonly who: AccountId32;726      readonly amount: u128;727    } & Struct;728    readonly isReserveRepatriated: boolean;729    readonly asReserveRepatriated: {730      readonly currencyId: PalletForeignAssetsAssetIds;731      readonly from: AccountId32;732      readonly to: AccountId32;733      readonly amount: u128;734      readonly status: FrameSupportTokensMiscBalanceStatus;735    } & Struct;736    readonly isBalanceSet: boolean;737    readonly asBalanceSet: {738      readonly currencyId: PalletForeignAssetsAssetIds;739      readonly who: AccountId32;740      readonly free: u128;741      readonly reserved: u128;742    } & Struct;743    readonly isTotalIssuanceSet: boolean;744    readonly asTotalIssuanceSet: {745      readonly currencyId: PalletForeignAssetsAssetIds;746      readonly amount: u128;747    } & Struct;748    readonly isWithdrawn: boolean;749    readonly asWithdrawn: {750      readonly currencyId: PalletForeignAssetsAssetIds;751      readonly who: AccountId32;752      readonly amount: u128;753    } & Struct;754    readonly isSlashed: boolean;755    readonly asSlashed: {756      readonly currencyId: PalletForeignAssetsAssetIds;757      readonly who: AccountId32;758      readonly freeAmount: u128;759      readonly reservedAmount: u128;760    } & Struct;761    readonly isDeposited: boolean;762    readonly asDeposited: {763      readonly currencyId: PalletForeignAssetsAssetIds;764      readonly who: AccountId32;765      readonly amount: u128;766    } & Struct;767    readonly isLockSet: boolean;768    readonly asLockSet: {769      readonly lockId: U8aFixed;770      readonly currencyId: PalletForeignAssetsAssetIds;771      readonly who: AccountId32;772      readonly amount: u128;773    } & Struct;774    readonly isLockRemoved: boolean;775    readonly asLockRemoved: {776      readonly lockId: U8aFixed;777      readonly currencyId: PalletForeignAssetsAssetIds;778      readonly who: AccountId32;779    } & Struct;780    readonly isLocked: boolean;781    readonly asLocked: {782      readonly currencyId: PalletForeignAssetsAssetIds;783      readonly who: AccountId32;784      readonly amount: u128;785    } & Struct;786    readonly isUnlocked: boolean;787    readonly asUnlocked: {788      readonly currencyId: PalletForeignAssetsAssetIds;789      readonly who: AccountId32;790      readonly amount: u128;791    } & Struct;792    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved' | 'Locked' | 'Unlocked';793  }794795  /** @name PalletForeignAssetsAssetIds (67) */796  interface PalletForeignAssetsAssetIds extends Enum {797    readonly isForeignAssetId: boolean;798    readonly asForeignAssetId: u32;799    readonly isNativeAssetId: boolean;800    readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;801    readonly type: 'ForeignAssetId' | 'NativeAssetId';802  }803804  /** @name PalletForeignAssetsNativeCurrency (68) */805  interface PalletForeignAssetsNativeCurrency extends Enum {806    readonly isHere: boolean;807    readonly isParent: boolean;808    readonly type: 'Here' | 'Parent';809  }810811  /** @name PalletIdentityEvent (69) */812  interface PalletIdentityEvent extends Enum {813    readonly isIdentitySet: boolean;814    readonly asIdentitySet: {815      readonly who: AccountId32;816    } & Struct;817    readonly isIdentityCleared: boolean;818    readonly asIdentityCleared: {819      readonly who: AccountId32;820      readonly deposit: u128;821    } & Struct;822    readonly isIdentityKilled: boolean;823    readonly asIdentityKilled: {824      readonly who: AccountId32;825      readonly deposit: u128;826    } & Struct;827    readonly isIdentitiesInserted: boolean;828    readonly asIdentitiesInserted: {829      readonly amount: u32;830    } & Struct;831    readonly isIdentitiesRemoved: boolean;832    readonly asIdentitiesRemoved: {833      readonly amount: u32;834    } & Struct;835    readonly isJudgementRequested: boolean;836    readonly asJudgementRequested: {837      readonly who: AccountId32;838      readonly registrarIndex: u32;839    } & Struct;840    readonly isJudgementUnrequested: boolean;841    readonly asJudgementUnrequested: {842      readonly who: AccountId32;843      readonly registrarIndex: u32;844    } & Struct;845    readonly isJudgementGiven: boolean;846    readonly asJudgementGiven: {847      readonly target: AccountId32;848      readonly registrarIndex: u32;849    } & Struct;850    readonly isRegistrarAdded: boolean;851    readonly asRegistrarAdded: {852      readonly registrarIndex: u32;853    } & Struct;854    readonly isSubIdentityAdded: boolean;855    readonly asSubIdentityAdded: {856      readonly sub: AccountId32;857      readonly main: AccountId32;858      readonly deposit: u128;859    } & Struct;860    readonly isSubIdentityRemoved: boolean;861    readonly asSubIdentityRemoved: {862      readonly sub: AccountId32;863      readonly main: AccountId32;864      readonly deposit: u128;865    } & Struct;866    readonly isSubIdentityRevoked: boolean;867    readonly asSubIdentityRevoked: {868      readonly sub: AccountId32;869      readonly main: AccountId32;870      readonly deposit: u128;871    } & Struct;872    readonly isSubIdentitiesInserted: boolean;873    readonly asSubIdentitiesInserted: {874      readonly amount: u32;875    } & Struct;876    readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'IdentitiesInserted' | 'IdentitiesRemoved' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'SubIdentitiesInserted';877  }878879  /** @name PalletPreimageEvent (70) */880  interface PalletPreimageEvent extends Enum {881    readonly isNoted: boolean;882    readonly asNoted: {883      readonly hash_: H256;884    } & Struct;885    readonly isRequested: boolean;886    readonly asRequested: {887      readonly hash_: H256;888    } & Struct;889    readonly isCleared: boolean;890    readonly asCleared: {891      readonly hash_: H256;892    } & Struct;893    readonly type: 'Noted' | 'Requested' | 'Cleared';894  }895896  /** @name PalletDemocracyEvent (71) */897  interface PalletDemocracyEvent extends Enum {898    readonly isProposed: boolean;899    readonly asProposed: {900      readonly proposalIndex: u32;901      readonly deposit: u128;902    } & Struct;903    readonly isTabled: boolean;904    readonly asTabled: {905      readonly proposalIndex: u32;906      readonly deposit: u128;907    } & Struct;908    readonly isExternalTabled: boolean;909    readonly isStarted: boolean;910    readonly asStarted: {911      readonly refIndex: u32;912      readonly threshold: PalletDemocracyVoteThreshold;913    } & Struct;914    readonly isPassed: boolean;915    readonly asPassed: {916      readonly refIndex: u32;917    } & Struct;918    readonly isNotPassed: boolean;919    readonly asNotPassed: {920      readonly refIndex: u32;921    } & Struct;922    readonly isCancelled: boolean;923    readonly asCancelled: {924      readonly refIndex: u32;925    } & Struct;926    readonly isDelegated: boolean;927    readonly asDelegated: {928      readonly who: AccountId32;929      readonly target: AccountId32;930    } & Struct;931    readonly isUndelegated: boolean;932    readonly asUndelegated: {933      readonly account: AccountId32;934    } & Struct;935    readonly isVetoed: boolean;936    readonly asVetoed: {937      readonly who: AccountId32;938      readonly proposalHash: H256;939      readonly until: u32;940    } & Struct;941    readonly isBlacklisted: boolean;942    readonly asBlacklisted: {943      readonly proposalHash: H256;944    } & Struct;945    readonly isVoted: boolean;946    readonly asVoted: {947      readonly voter: AccountId32;948      readonly refIndex: u32;949      readonly vote: PalletDemocracyVoteAccountVote;950    } & Struct;951    readonly isSeconded: boolean;952    readonly asSeconded: {953      readonly seconder: AccountId32;954      readonly propIndex: u32;955    } & Struct;956    readonly isProposalCanceled: boolean;957    readonly asProposalCanceled: {958      readonly propIndex: u32;959    } & Struct;960    readonly isMetadataSet: boolean;961    readonly asMetadataSet: {962      readonly owner: PalletDemocracyMetadataOwner;963      readonly hash_: H256;964    } & Struct;965    readonly isMetadataCleared: boolean;966    readonly asMetadataCleared: {967      readonly owner: PalletDemocracyMetadataOwner;968      readonly hash_: H256;969    } & Struct;970    readonly isMetadataTransferred: boolean;971    readonly asMetadataTransferred: {972      readonly prevOwner: PalletDemocracyMetadataOwner;973      readonly owner: PalletDemocracyMetadataOwner;974      readonly hash_: H256;975    } & Struct;976    readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred';977  }978979  /** @name PalletDemocracyVoteThreshold (72) */980  interface PalletDemocracyVoteThreshold extends Enum {981    readonly isSuperMajorityApprove: boolean;982    readonly isSuperMajorityAgainst: boolean;983    readonly isSimpleMajority: boolean;984    readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority';985  }986987  /** @name PalletDemocracyVoteAccountVote (73) */988  interface PalletDemocracyVoteAccountVote extends Enum {989    readonly isStandard: boolean;990    readonly asStandard: {991      readonly vote: Vote;992      readonly balance: u128;993    } & Struct;994    readonly isSplit: boolean;995    readonly asSplit: {996      readonly aye: u128;997      readonly nay: u128;998    } & Struct;999    readonly type: 'Standard' | 'Split';1000  }10011002  /** @name PalletDemocracyMetadataOwner (75) */1003  interface PalletDemocracyMetadataOwner extends Enum {1004    readonly isExternal: boolean;1005    readonly isProposal: boolean;1006    readonly asProposal: u32;1007    readonly isReferendum: boolean;1008    readonly asReferendum: u32;1009    readonly type: 'External' | 'Proposal' | 'Referendum';1010  }10111012  /** @name PalletCollectiveEvent (76) */1013  interface PalletCollectiveEvent extends Enum {1014    readonly isProposed: boolean;1015    readonly asProposed: {1016      readonly account: AccountId32;1017      readonly proposalIndex: u32;1018      readonly proposalHash: H256;1019      readonly threshold: u32;1020    } & Struct;1021    readonly isVoted: boolean;1022    readonly asVoted: {1023      readonly account: AccountId32;1024      readonly proposalHash: H256;1025      readonly voted: bool;1026      readonly yes: u32;1027      readonly no: u32;1028    } & Struct;1029    readonly isApproved: boolean;1030    readonly asApproved: {1031      readonly proposalHash: H256;1032    } & Struct;1033    readonly isDisapproved: boolean;1034    readonly asDisapproved: {1035      readonly proposalHash: H256;1036    } & Struct;1037    readonly isExecuted: boolean;1038    readonly asExecuted: {1039      readonly proposalHash: H256;1040      readonly result: Result<Null, SpRuntimeDispatchError>;1041    } & Struct;1042    readonly isMemberExecuted: boolean;1043    readonly asMemberExecuted: {1044      readonly proposalHash: H256;1045      readonly result: Result<Null, SpRuntimeDispatchError>;1046    } & Struct;1047    readonly isClosed: boolean;1048    readonly asClosed: {1049      readonly proposalHash: H256;1050      readonly yes: u32;1051      readonly no: u32;1052    } & Struct;1053    readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed';1054  }10551056  /** @name PalletMembershipEvent (79) */1057  interface PalletMembershipEvent extends Enum {1058    readonly isMemberAdded: boolean;1059    readonly isMemberRemoved: boolean;1060    readonly isMembersSwapped: boolean;1061    readonly isMembersReset: boolean;1062    readonly isKeyChanged: boolean;1063    readonly isDummy: boolean;1064    readonly type: 'MemberAdded' | 'MemberRemoved' | 'MembersSwapped' | 'MembersReset' | 'KeyChanged' | 'Dummy';1065  }10661067  /** @name PalletRankedCollectiveEvent (81) */1068  interface PalletRankedCollectiveEvent extends Enum {1069    readonly isMemberAdded: boolean;1070    readonly asMemberAdded: {1071      readonly who: AccountId32;1072    } & Struct;1073    readonly isRankChanged: boolean;1074    readonly asRankChanged: {1075      readonly who: AccountId32;1076      readonly rank: u16;1077    } & Struct;1078    readonly isMemberRemoved: boolean;1079    readonly asMemberRemoved: {1080      readonly who: AccountId32;1081      readonly rank: u16;1082    } & Struct;1083    readonly isVoted: boolean;1084    readonly asVoted: {1085      readonly who: AccountId32;1086      readonly poll: u32;1087      readonly vote: PalletRankedCollectiveVoteRecord;1088      readonly tally: PalletRankedCollectiveTally;1089    } & Struct;1090    readonly type: 'MemberAdded' | 'RankChanged' | 'MemberRemoved' | 'Voted';1091  }10921093  /** @name PalletRankedCollectiveVoteRecord (83) */1094  interface PalletRankedCollectiveVoteRecord extends Enum {1095    readonly isAye: boolean;1096    readonly asAye: u32;1097    readonly isNay: boolean;1098    readonly asNay: u32;1099    readonly type: 'Aye' | 'Nay';1100  }11011102  /** @name PalletRankedCollectiveTally (84) */1103  interface PalletRankedCollectiveTally extends Struct {1104    readonly bareAyes: u32;1105    readonly ayes: u32;1106    readonly nays: u32;1107  }11081109  /** @name PalletReferendaEvent (85) */1110  interface PalletReferendaEvent extends Enum {1111    readonly isSubmitted: boolean;1112    readonly asSubmitted: {1113      readonly index: u32;1114      readonly track: u16;1115      readonly proposal: FrameSupportPreimagesBounded;1116    } & Struct;1117    readonly isDecisionDepositPlaced: boolean;1118    readonly asDecisionDepositPlaced: {1119      readonly index: u32;1120      readonly who: AccountId32;1121      readonly amount: u128;1122    } & Struct;1123    readonly isDecisionDepositRefunded: boolean;1124    readonly asDecisionDepositRefunded: {1125      readonly index: u32;1126      readonly who: AccountId32;1127      readonly amount: u128;1128    } & Struct;1129    readonly isDepositSlashed: boolean;1130    readonly asDepositSlashed: {1131      readonly who: AccountId32;1132      readonly amount: u128;1133    } & Struct;1134    readonly isDecisionStarted: boolean;1135    readonly asDecisionStarted: {1136      readonly index: u32;1137      readonly track: u16;1138      readonly proposal: FrameSupportPreimagesBounded;1139      readonly tally: PalletRankedCollectiveTally;1140    } & Struct;1141    readonly isConfirmStarted: boolean;1142    readonly asConfirmStarted: {1143      readonly index: u32;1144    } & Struct;1145    readonly isConfirmAborted: boolean;1146    readonly asConfirmAborted: {1147      readonly index: u32;1148    } & Struct;1149    readonly isConfirmed: boolean;1150    readonly asConfirmed: {1151      readonly index: u32;1152      readonly tally: PalletRankedCollectiveTally;1153    } & Struct;1154    readonly isApproved: boolean;1155    readonly asApproved: {1156      readonly index: u32;1157    } & Struct;1158    readonly isRejected: boolean;1159    readonly asRejected: {1160      readonly index: u32;1161      readonly tally: PalletRankedCollectiveTally;1162    } & Struct;1163    readonly isTimedOut: boolean;1164    readonly asTimedOut: {1165      readonly index: u32;1166      readonly tally: PalletRankedCollectiveTally;1167    } & Struct;1168    readonly isCancelled: boolean;1169    readonly asCancelled: {1170      readonly index: u32;1171      readonly tally: PalletRankedCollectiveTally;1172    } & Struct;1173    readonly isKilled: boolean;1174    readonly asKilled: {1175      readonly index: u32;1176      readonly tally: PalletRankedCollectiveTally;1177    } & Struct;1178    readonly isSubmissionDepositRefunded: boolean;1179    readonly asSubmissionDepositRefunded: {1180      readonly index: u32;1181      readonly who: AccountId32;1182      readonly amount: u128;1183    } & Struct;1184    readonly isMetadataSet: boolean;1185    readonly asMetadataSet: {1186      readonly index: u32;1187      readonly hash_: H256;1188    } & Struct;1189    readonly isMetadataCleared: boolean;1190    readonly asMetadataCleared: {1191      readonly index: u32;1192      readonly hash_: H256;1193    } & Struct;1194    readonly type: 'Submitted' | 'DecisionDepositPlaced' | 'DecisionDepositRefunded' | 'DepositSlashed' | 'DecisionStarted' | 'ConfirmStarted' | 'ConfirmAborted' | 'Confirmed' | 'Approved' | 'Rejected' | 'TimedOut' | 'Cancelled' | 'Killed' | 'SubmissionDepositRefunded' | 'MetadataSet' | 'MetadataCleared';1195  }11961197  /** @name FrameSupportPreimagesBounded (86) */1198  interface FrameSupportPreimagesBounded extends Enum {1199    readonly isLegacy: boolean;1200    readonly asLegacy: {1201      readonly hash_: H256;1202    } & Struct;1203    readonly isInline: boolean;1204    readonly asInline: Bytes;1205    readonly isLookup: boolean;1206    readonly asLookup: {1207      readonly hash_: H256;1208      readonly len: u32;1209    } & Struct;1210    readonly type: 'Legacy' | 'Inline' | 'Lookup';1211  }12121213  /** @name FrameSystemCall (88) */1214  interface FrameSystemCall extends Enum {1215    readonly isRemark: boolean;1216    readonly asRemark: {1217      readonly remark: Bytes;1218    } & Struct;1219    readonly isSetHeapPages: boolean;1220    readonly asSetHeapPages: {1221      readonly pages: u64;1222    } & Struct;1223    readonly isSetCode: boolean;1224    readonly asSetCode: {1225      readonly code: Bytes;1226    } & Struct;1227    readonly isSetCodeWithoutChecks: boolean;1228    readonly asSetCodeWithoutChecks: {1229      readonly code: Bytes;1230    } & Struct;1231    readonly isSetStorage: boolean;1232    readonly asSetStorage: {1233      readonly items: Vec<ITuple<[Bytes, Bytes]>>;1234    } & Struct;1235    readonly isKillStorage: boolean;1236    readonly asKillStorage: {1237      readonly keys_: Vec<Bytes>;1238    } & Struct;1239    readonly isKillPrefix: boolean;1240    readonly asKillPrefix: {1241      readonly prefix: Bytes;1242      readonly subkeys: u32;1243    } & Struct;1244    readonly isRemarkWithEvent: boolean;1245    readonly asRemarkWithEvent: {1246      readonly remark: Bytes;1247    } & Struct;1248    readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1249  }12501251  /** @name PalletStateTrieMigrationCall (92) */1252  interface PalletStateTrieMigrationCall extends Enum {1253    readonly isControlAutoMigration: boolean;1254    readonly asControlAutoMigration: {1255      readonly maybeConfig: Option<PalletStateTrieMigrationMigrationLimits>;1256    } & Struct;1257    readonly isContinueMigrate: boolean;1258    readonly asContinueMigrate: {1259      readonly limits: PalletStateTrieMigrationMigrationLimits;1260      readonly realSizeUpper: u32;1261      readonly witnessTask: PalletStateTrieMigrationMigrationTask;1262    } & Struct;1263    readonly isMigrateCustomTop: boolean;1264    readonly asMigrateCustomTop: {1265      readonly keys_: Vec<Bytes>;1266      readonly witnessSize: u32;1267    } & Struct;1268    readonly isMigrateCustomChild: boolean;1269    readonly asMigrateCustomChild: {1270      readonly root: Bytes;1271      readonly childKeys: Vec<Bytes>;1272      readonly totalSize: u32;1273    } & Struct;1274    readonly isSetSignedMaxLimits: boolean;1275    readonly asSetSignedMaxLimits: {1276      readonly limits: PalletStateTrieMigrationMigrationLimits;1277    } & Struct;1278    readonly isForceSetProgress: boolean;1279    readonly asForceSetProgress: {1280      readonly progressTop: PalletStateTrieMigrationProgress;1281      readonly progressChild: PalletStateTrieMigrationProgress;1282    } & Struct;1283    readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress';1284  }12851286  /** @name PalletStateTrieMigrationMigrationLimits (94) */1287  interface PalletStateTrieMigrationMigrationLimits extends Struct {1288    readonly size_: u32;1289    readonly item: u32;1290  }12911292  /** @name PalletStateTrieMigrationMigrationTask (95) */1293  interface PalletStateTrieMigrationMigrationTask extends Struct {1294    readonly progressTop: PalletStateTrieMigrationProgress;1295    readonly progressChild: PalletStateTrieMigrationProgress;1296    readonly size_: u32;1297    readonly topItems: u32;1298    readonly childItems: u32;1299  }13001301  /** @name PalletStateTrieMigrationProgress (96) */1302  interface PalletStateTrieMigrationProgress extends Enum {1303    readonly isToStart: boolean;1304    readonly isLastKey: boolean;1305    readonly asLastKey: Bytes;1306    readonly isComplete: boolean;1307    readonly type: 'ToStart' | 'LastKey' | 'Complete';1308  }13091310  /** @name CumulusPalletParachainSystemCall (98) */1311  interface CumulusPalletParachainSystemCall extends Enum {1312    readonly isSetValidationData: boolean;1313    readonly asSetValidationData: {1314      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1315    } & Struct;1316    readonly isSudoSendUpwardMessage: boolean;1317    readonly asSudoSendUpwardMessage: {1318      readonly message: Bytes;1319    } & Struct;1320    readonly isAuthorizeUpgrade: boolean;1321    readonly asAuthorizeUpgrade: {1322      readonly codeHash: H256;1323      readonly checkVersion: bool;1324    } & Struct;1325    readonly isEnactAuthorizedUpgrade: boolean;1326    readonly asEnactAuthorizedUpgrade: {1327      readonly code: Bytes;1328    } & Struct;1329    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1330  }13311332  /** @name CumulusPrimitivesParachainInherentParachainInherentData (99) */1333  interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1334    readonly validationData: PolkadotPrimitivesV4PersistedValidationData;1335    readonly relayChainState: SpTrieStorageProof;1336    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1337    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1338  }13391340  /** @name PolkadotPrimitivesV4PersistedValidationData (100) */1341  interface PolkadotPrimitivesV4PersistedValidationData extends Struct {1342    readonly parentHead: Bytes;1343    readonly relayParentNumber: u32;1344    readonly relayParentStorageRoot: H256;1345    readonly maxPovSize: u32;1346  }13471348  /** @name SpTrieStorageProof (102) */1349  interface SpTrieStorageProof extends Struct {1350    readonly trieNodes: BTreeSet<Bytes>;1351  }13521353  /** @name PolkadotCorePrimitivesInboundDownwardMessage (105) */1354  interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1355    readonly sentAt: u32;1356    readonly msg: Bytes;1357  }13581359  /** @name PolkadotCorePrimitivesInboundHrmpMessage (109) */1360  interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1361    readonly sentAt: u32;1362    readonly data: Bytes;1363  }13641365  /** @name ParachainInfoCall (112) */1366  type ParachainInfoCall = Null;13671368  /** @name PalletCollatorSelectionCall (113) */1369  interface PalletCollatorSelectionCall extends Enum {1370    readonly isAddInvulnerable: boolean;1371    readonly asAddInvulnerable: {1372      readonly new_: AccountId32;1373    } & Struct;1374    readonly isRemoveInvulnerable: boolean;1375    readonly asRemoveInvulnerable: {1376      readonly who: AccountId32;1377    } & Struct;1378    readonly isGetLicense: boolean;1379    readonly isOnboard: boolean;1380    readonly isOffboard: boolean;1381    readonly isReleaseLicense: boolean;1382    readonly isForceReleaseLicense: boolean;1383    readonly asForceReleaseLicense: {1384      readonly who: AccountId32;1385    } & Struct;1386    readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';1387  }13881389  /** @name PalletSessionCall (114) */1390  interface PalletSessionCall extends Enum {1391    readonly isSetKeys: boolean;1392    readonly asSetKeys: {1393      readonly keys_: QuartzRuntimeRuntimeCommonSessionKeys;1394      readonly proof: Bytes;1395    } & Struct;1396    readonly isPurgeKeys: boolean;1397    readonly type: 'SetKeys' | 'PurgeKeys';1398  }13991400  /** @name QuartzRuntimeRuntimeCommonSessionKeys (115) */1401  interface QuartzRuntimeRuntimeCommonSessionKeys extends Struct {1402    readonly aura: SpConsensusAuraSr25519AppSr25519Public;1403  }14041405  /** @name SpConsensusAuraSr25519AppSr25519Public (116) */1406  interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}14071408  /** @name SpCoreSr25519Public (117) */1409  interface SpCoreSr25519Public extends U8aFixed {}14101411  /** @name PalletBalancesCall (118) */1412  interface PalletBalancesCall extends Enum {1413    readonly isTransferAllowDeath: boolean;1414    readonly asTransferAllowDeath: {1415      readonly dest: MultiAddress;1416      readonly value: Compact<u128>;1417    } & Struct;1418    readonly isSetBalanceDeprecated: boolean;1419    readonly asSetBalanceDeprecated: {1420      readonly who: MultiAddress;1421      readonly newFree: Compact<u128>;1422      readonly oldReserved: Compact<u128>;1423    } & Struct;1424    readonly isForceTransfer: boolean;1425    readonly asForceTransfer: {1426      readonly source: MultiAddress;1427      readonly dest: MultiAddress;1428      readonly value: Compact<u128>;1429    } & Struct;1430    readonly isTransferKeepAlive: boolean;1431    readonly asTransferKeepAlive: {1432      readonly dest: MultiAddress;1433      readonly value: Compact<u128>;1434    } & Struct;1435    readonly isTransferAll: boolean;1436    readonly asTransferAll: {1437      readonly dest: MultiAddress;1438      readonly keepAlive: bool;1439    } & Struct;1440    readonly isForceUnreserve: boolean;1441    readonly asForceUnreserve: {1442      readonly who: MultiAddress;1443      readonly amount: u128;1444    } & Struct;1445    readonly isUpgradeAccounts: boolean;1446    readonly asUpgradeAccounts: {1447      readonly who: Vec<AccountId32>;1448    } & Struct;1449    readonly isTransfer: boolean;1450    readonly asTransfer: {1451      readonly dest: MultiAddress;1452      readonly value: Compact<u128>;1453    } & Struct;1454    readonly isForceSetBalance: boolean;1455    readonly asForceSetBalance: {1456      readonly who: MultiAddress;1457      readonly newFree: Compact<u128>;1458    } & Struct;1459    readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance';1460  }14611462  /** @name PalletTimestampCall (122) */1463  interface PalletTimestampCall extends Enum {1464    readonly isSet: boolean;1465    readonly asSet: {1466      readonly now: Compact<u64>;1467    } & Struct;1468    readonly type: 'Set';1469  }14701471  /** @name PalletTreasuryCall (123) */1472  interface PalletTreasuryCall extends Enum {1473    readonly isProposeSpend: boolean;1474    readonly asProposeSpend: {1475      readonly value: Compact<u128>;1476      readonly beneficiary: MultiAddress;1477    } & Struct;1478    readonly isRejectProposal: boolean;1479    readonly asRejectProposal: {1480      readonly proposalId: Compact<u32>;1481    } & Struct;1482    readonly isApproveProposal: boolean;1483    readonly asApproveProposal: {1484      readonly proposalId: Compact<u32>;1485    } & Struct;1486    readonly isSpend: boolean;1487    readonly asSpend: {1488      readonly amount: Compact<u128>;1489      readonly beneficiary: MultiAddress;1490    } & Struct;1491    readonly isRemoveApproval: boolean;1492    readonly asRemoveApproval: {1493      readonly proposalId: Compact<u32>;1494    } & Struct;1495    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1496  }14971498  /** @name PalletSudoCall (124) */1499  interface PalletSudoCall extends Enum {1500    readonly isSudo: boolean;1501    readonly asSudo: {1502      readonly call: Call;1503    } & Struct;1504    readonly isSudoUncheckedWeight: boolean;1505    readonly asSudoUncheckedWeight: {1506      readonly call: Call;1507      readonly weight: SpWeightsWeightV2Weight;1508    } & Struct;1509    readonly isSetKey: boolean;1510    readonly asSetKey: {1511      readonly new_: MultiAddress;1512    } & Struct;1513    readonly isSudoAs: boolean;1514    readonly asSudoAs: {1515      readonly who: MultiAddress;1516      readonly call: Call;1517    } & Struct;1518    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1519  }15201521  /** @name OrmlVestingModuleCall (125) */1522  interface OrmlVestingModuleCall extends Enum {1523    readonly isClaim: boolean;1524    readonly isVestedTransfer: boolean;1525    readonly asVestedTransfer: {1526      readonly dest: MultiAddress;1527      readonly schedule: OrmlVestingVestingSchedule;1528    } & Struct;1529    readonly isUpdateVestingSchedules: boolean;1530    readonly asUpdateVestingSchedules: {1531      readonly who: MultiAddress;1532      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1533    } & Struct;1534    readonly isClaimFor: boolean;1535    readonly asClaimFor: {1536      readonly dest: MultiAddress;1537    } & Struct;1538    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1539  }15401541  /** @name OrmlXtokensModuleCall (127) */1542  interface OrmlXtokensModuleCall extends Enum {1543    readonly isTransfer: boolean;1544    readonly asTransfer: {1545      readonly currencyId: PalletForeignAssetsAssetIds;1546      readonly amount: u128;1547      readonly dest: XcmVersionedMultiLocation;1548      readonly destWeightLimit: XcmV3WeightLimit;1549    } & Struct;1550    readonly isTransferMultiasset: boolean;1551    readonly asTransferMultiasset: {1552      readonly asset: XcmVersionedMultiAsset;1553      readonly dest: XcmVersionedMultiLocation;1554      readonly destWeightLimit: XcmV3WeightLimit;1555    } & Struct;1556    readonly isTransferWithFee: boolean;1557    readonly asTransferWithFee: {1558      readonly currencyId: PalletForeignAssetsAssetIds;1559      readonly amount: u128;1560      readonly fee: u128;1561      readonly dest: XcmVersionedMultiLocation;1562      readonly destWeightLimit: XcmV3WeightLimit;1563    } & Struct;1564    readonly isTransferMultiassetWithFee: boolean;1565    readonly asTransferMultiassetWithFee: {1566      readonly asset: XcmVersionedMultiAsset;1567      readonly fee: XcmVersionedMultiAsset;1568      readonly dest: XcmVersionedMultiLocation;1569      readonly destWeightLimit: XcmV3WeightLimit;1570    } & Struct;1571    readonly isTransferMulticurrencies: boolean;1572    readonly asTransferMulticurrencies: {1573      readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1574      readonly feeItem: u32;1575      readonly dest: XcmVersionedMultiLocation;1576      readonly destWeightLimit: XcmV3WeightLimit;1577    } & Struct;1578    readonly isTransferMultiassets: boolean;1579    readonly asTransferMultiassets: {1580      readonly assets: XcmVersionedMultiAssets;1581      readonly feeItem: u32;1582      readonly dest: XcmVersionedMultiLocation;1583      readonly destWeightLimit: XcmV3WeightLimit;1584    } & Struct;1585    readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1586  }15871588  /** @name XcmVersionedMultiLocation (128) */1589  interface XcmVersionedMultiLocation extends Enum {1590    readonly isV2: boolean;1591    readonly asV2: XcmV2MultiLocation;1592    readonly isV3: boolean;1593    readonly asV3: XcmV3MultiLocation;1594    readonly type: 'V2' | 'V3';1595  }15961597  /** @name XcmV2MultiLocation (129) */1598  interface XcmV2MultiLocation extends Struct {1599    readonly parents: u8;1600    readonly interior: XcmV2MultilocationJunctions;1601  }16021603  /** @name XcmV2MultilocationJunctions (130) */1604  interface XcmV2MultilocationJunctions extends Enum {1605    readonly isHere: boolean;1606    readonly isX1: boolean;1607    readonly asX1: XcmV2Junction;1608    readonly isX2: boolean;1609    readonly asX2: ITuple<[XcmV2Junction, XcmV2Junction]>;1610    readonly isX3: boolean;1611    readonly asX3: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1612    readonly isX4: boolean;1613    readonly asX4: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1614    readonly isX5: boolean;1615    readonly asX5: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1616    readonly isX6: boolean;1617    readonly asX6: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1618    readonly isX7: boolean;1619    readonly asX7: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1620    readonly isX8: boolean;1621    readonly asX8: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>;1622    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1623  }16241625  /** @name XcmV2Junction (131) */1626  interface XcmV2Junction extends Enum {1627    readonly isParachain: boolean;1628    readonly asParachain: Compact<u32>;1629    readonly isAccountId32: boolean;1630    readonly asAccountId32: {1631      readonly network: XcmV2NetworkId;1632      readonly id: U8aFixed;1633    } & Struct;1634    readonly isAccountIndex64: boolean;1635    readonly asAccountIndex64: {1636      readonly network: XcmV2NetworkId;1637      readonly index: Compact<u64>;1638    } & Struct;1639    readonly isAccountKey20: boolean;1640    readonly asAccountKey20: {1641      readonly network: XcmV2NetworkId;1642      readonly key: U8aFixed;1643    } & Struct;1644    readonly isPalletInstance: boolean;1645    readonly asPalletInstance: u8;1646    readonly isGeneralIndex: boolean;1647    readonly asGeneralIndex: Compact<u128>;1648    readonly isGeneralKey: boolean;1649    readonly asGeneralKey: Bytes;1650    readonly isOnlyChild: boolean;1651    readonly isPlurality: boolean;1652    readonly asPlurality: {1653      readonly id: XcmV2BodyId;1654      readonly part: XcmV2BodyPart;1655    } & Struct;1656    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1657  }16581659  /** @name XcmV2NetworkId (132) */1660  interface XcmV2NetworkId extends Enum {1661    readonly isAny: boolean;1662    readonly isNamed: boolean;1663    readonly asNamed: Bytes;1664    readonly isPolkadot: boolean;1665    readonly isKusama: boolean;1666    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';1667  }16681669  /** @name XcmV2BodyId (134) */1670  interface XcmV2BodyId extends Enum {1671    readonly isUnit: boolean;1672    readonly isNamed: boolean;1673    readonly asNamed: Bytes;1674    readonly isIndex: boolean;1675    readonly asIndex: Compact<u32>;1676    readonly isExecutive: boolean;1677    readonly isTechnical: boolean;1678    readonly isLegislative: boolean;1679    readonly isJudicial: boolean;1680    readonly isDefense: boolean;1681    readonly isAdministration: boolean;1682    readonly isTreasury: boolean;1683    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';1684  }16851686  /** @name XcmV2BodyPart (135) */1687  interface XcmV2BodyPart extends Enum {1688    readonly isVoice: boolean;1689    readonly isMembers: boolean;1690    readonly asMembers: {1691      readonly count: Compact<u32>;1692    } & Struct;1693    readonly isFraction: boolean;1694    readonly asFraction: {1695      readonly nom: Compact<u32>;1696      readonly denom: Compact<u32>;1697    } & Struct;1698    readonly isAtLeastProportion: boolean;1699    readonly asAtLeastProportion: {1700      readonly nom: Compact<u32>;1701      readonly denom: Compact<u32>;1702    } & Struct;1703    readonly isMoreThanProportion: boolean;1704    readonly asMoreThanProportion: {1705      readonly nom: Compact<u32>;1706      readonly denom: Compact<u32>;1707    } & Struct;1708    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';1709  }17101711  /** @name XcmV3WeightLimit (136) */1712  interface XcmV3WeightLimit extends Enum {1713    readonly isUnlimited: boolean;1714    readonly isLimited: boolean;1715    readonly asLimited: SpWeightsWeightV2Weight;1716    readonly type: 'Unlimited' | 'Limited';1717  }17181719  /** @name XcmVersionedMultiAsset (137) */1720  interface XcmVersionedMultiAsset extends Enum {1721    readonly isV2: boolean;1722    readonly asV2: XcmV2MultiAsset;1723    readonly isV3: boolean;1724    readonly asV3: XcmV3MultiAsset;1725    readonly type: 'V2' | 'V3';1726  }17271728  /** @name XcmV2MultiAsset (138) */1729  interface XcmV2MultiAsset extends Struct {1730    readonly id: XcmV2MultiassetAssetId;1731    readonly fun: XcmV2MultiassetFungibility;1732  }17331734  /** @name XcmV2MultiassetAssetId (139) */1735  interface XcmV2MultiassetAssetId extends Enum {1736    readonly isConcrete: boolean;1737    readonly asConcrete: XcmV2MultiLocation;1738    readonly isAbstract: boolean;1739    readonly asAbstract: Bytes;1740    readonly type: 'Concrete' | 'Abstract';1741  }17421743  /** @name XcmV2MultiassetFungibility (140) */1744  interface XcmV2MultiassetFungibility extends Enum {1745    readonly isFungible: boolean;1746    readonly asFungible: Compact<u128>;1747    readonly isNonFungible: boolean;1748    readonly asNonFungible: XcmV2MultiassetAssetInstance;1749    readonly type: 'Fungible' | 'NonFungible';1750  }17511752  /** @name XcmV2MultiassetAssetInstance (141) */1753  interface XcmV2MultiassetAssetInstance extends Enum {1754    readonly isUndefined: boolean;1755    readonly isIndex: boolean;1756    readonly asIndex: Compact<u128>;1757    readonly isArray4: boolean;1758    readonly asArray4: U8aFixed;1759    readonly isArray8: boolean;1760    readonly asArray8: U8aFixed;1761    readonly isArray16: boolean;1762    readonly asArray16: U8aFixed;1763    readonly isArray32: boolean;1764    readonly asArray32: U8aFixed;1765    readonly isBlob: boolean;1766    readonly asBlob: Bytes;1767    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';1768  }17691770  /** @name XcmVersionedMultiAssets (144) */1771  interface XcmVersionedMultiAssets extends Enum {1772    readonly isV2: boolean;1773    readonly asV2: XcmV2MultiassetMultiAssets;1774    readonly isV3: boolean;1775    readonly asV3: XcmV3MultiassetMultiAssets;1776    readonly type: 'V2' | 'V3';1777  }17781779  /** @name XcmV2MultiassetMultiAssets (145) */1780  interface XcmV2MultiassetMultiAssets extends Vec<XcmV2MultiAsset> {}17811782  /** @name OrmlTokensModuleCall (147) */1783  interface OrmlTokensModuleCall extends Enum {1784    readonly isTransfer: boolean;1785    readonly asTransfer: {1786      readonly dest: MultiAddress;1787      readonly currencyId: PalletForeignAssetsAssetIds;1788      readonly amount: Compact<u128>;1789    } & Struct;1790    readonly isTransferAll: boolean;1791    readonly asTransferAll: {1792      readonly dest: MultiAddress;1793      readonly currencyId: PalletForeignAssetsAssetIds;1794      readonly keepAlive: bool;1795    } & Struct;1796    readonly isTransferKeepAlive: boolean;1797    readonly asTransferKeepAlive: {1798      readonly dest: MultiAddress;1799      readonly currencyId: PalletForeignAssetsAssetIds;1800      readonly amount: Compact<u128>;1801    } & Struct;1802    readonly isForceTransfer: boolean;1803    readonly asForceTransfer: {1804      readonly source: MultiAddress;1805      readonly dest: MultiAddress;1806      readonly currencyId: PalletForeignAssetsAssetIds;1807      readonly amount: Compact<u128>;1808    } & Struct;1809    readonly isSetBalance: boolean;1810    readonly asSetBalance: {1811      readonly who: MultiAddress;1812      readonly currencyId: PalletForeignAssetsAssetIds;1813      readonly newFree: Compact<u128>;1814      readonly newReserved: Compact<u128>;1815    } & Struct;1816    readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1817  }18181819  /** @name PalletIdentityCall (148) */1820  interface PalletIdentityCall extends Enum {1821    readonly isAddRegistrar: boolean;1822    readonly asAddRegistrar: {1823      readonly account: MultiAddress;1824    } & Struct;1825    readonly isSetIdentity: boolean;1826    readonly asSetIdentity: {1827      readonly info: PalletIdentityIdentityInfo;1828    } & Struct;1829    readonly isSetSubs: boolean;1830    readonly asSetSubs: {1831      readonly subs: Vec<ITuple<[AccountId32, Data]>>;1832    } & Struct;1833    readonly isClearIdentity: boolean;1834    readonly isRequestJudgement: boolean;1835    readonly asRequestJudgement: {1836      readonly regIndex: Compact<u32>;1837      readonly maxFee: Compact<u128>;1838    } & Struct;1839    readonly isCancelRequest: boolean;1840    readonly asCancelRequest: {1841      readonly regIndex: u32;1842    } & Struct;1843    readonly isSetFee: boolean;1844    readonly asSetFee: {1845      readonly index: Compact<u32>;1846      readonly fee: Compact<u128>;1847    } & Struct;1848    readonly isSetAccountId: boolean;1849    readonly asSetAccountId: {1850      readonly index: Compact<u32>;1851      readonly new_: MultiAddress;1852    } & Struct;1853    readonly isSetFields: boolean;1854    readonly asSetFields: {1855      readonly index: Compact<u32>;1856      readonly fields: PalletIdentityBitFlags;1857    } & Struct;1858    readonly isProvideJudgement: boolean;1859    readonly asProvideJudgement: {1860      readonly regIndex: Compact<u32>;1861      readonly target: MultiAddress;1862      readonly judgement: PalletIdentityJudgement;1863      readonly identity: H256;1864    } & Struct;1865    readonly isKillIdentity: boolean;1866    readonly asKillIdentity: {1867      readonly target: MultiAddress;1868    } & Struct;1869    readonly isAddSub: boolean;1870    readonly asAddSub: {1871      readonly sub: MultiAddress;1872      readonly data: Data;1873    } & Struct;1874    readonly isRenameSub: boolean;1875    readonly asRenameSub: {1876      readonly sub: MultiAddress;1877      readonly data: Data;1878    } & Struct;1879    readonly isRemoveSub: boolean;1880    readonly asRemoveSub: {1881      readonly sub: MultiAddress;1882    } & Struct;1883    readonly isQuitSub: boolean;1884    readonly isForceInsertIdentities: boolean;1885    readonly asForceInsertIdentities: {1886      readonly identities: Vec<ITuple<[AccountId32, PalletIdentityRegistration]>>;1887    } & Struct;1888    readonly isForceRemoveIdentities: boolean;1889    readonly asForceRemoveIdentities: {1890      readonly identities: Vec<AccountId32>;1891    } & Struct;1892    readonly isForceSetSubs: boolean;1893    readonly asForceSetSubs: {1894      readonly subs: Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>>;1895    } & Struct;1896    readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';1897  }18981899  /** @name PalletIdentityIdentityInfo (149) */1900  interface PalletIdentityIdentityInfo extends Struct {1901    readonly additional: Vec<ITuple<[Data, Data]>>;1902    readonly display: Data;1903    readonly legal: Data;1904    readonly web: Data;1905    readonly riot: Data;1906    readonly email: Data;1907    readonly pgpFingerprint: Option<U8aFixed>;1908    readonly image: Data;1909    readonly twitter: Data;1910  }19111912  /** @name PalletIdentityBitFlags (185) */1913  interface PalletIdentityBitFlags extends Set {1914    readonly isDisplay: boolean;1915    readonly isLegal: boolean;1916    readonly isWeb: boolean;1917    readonly isRiot: boolean;1918    readonly isEmail: boolean;1919    readonly isPgpFingerprint: boolean;1920    readonly isImage: boolean;1921    readonly isTwitter: boolean;1922  }19231924  /** @name PalletIdentityIdentityField (186) */1925  interface PalletIdentityIdentityField extends Enum {1926    readonly isDisplay: boolean;1927    readonly isLegal: boolean;1928    readonly isWeb: boolean;1929    readonly isRiot: boolean;1930    readonly isEmail: boolean;1931    readonly isPgpFingerprint: boolean;1932    readonly isImage: boolean;1933    readonly isTwitter: boolean;1934    readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';1935  }19361937  /** @name PalletIdentityJudgement (187) */1938  interface PalletIdentityJudgement extends Enum {1939    readonly isUnknown: boolean;1940    readonly isFeePaid: boolean;1941    readonly asFeePaid: u128;1942    readonly isReasonable: boolean;1943    readonly isKnownGood: boolean;1944    readonly isOutOfDate: boolean;1945    readonly isLowQuality: boolean;1946    readonly isErroneous: boolean;1947    readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';1948  }19491950  /** @name PalletIdentityRegistration (190) */1951  interface PalletIdentityRegistration extends Struct {1952    readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;1953    readonly deposit: u128;1954    readonly info: PalletIdentityIdentityInfo;1955  }19561957  /** @name PalletPreimageCall (198) */1958  interface PalletPreimageCall extends Enum {1959    readonly isNotePreimage: boolean;1960    readonly asNotePreimage: {1961      readonly bytes: Bytes;1962    } & Struct;1963    readonly isUnnotePreimage: boolean;1964    readonly asUnnotePreimage: {1965      readonly hash_: H256;1966    } & Struct;1967    readonly isRequestPreimage: boolean;1968    readonly asRequestPreimage: {1969      readonly hash_: H256;1970    } & Struct;1971    readonly isUnrequestPreimage: boolean;1972    readonly asUnrequestPreimage: {1973      readonly hash_: H256;1974    } & Struct;1975    readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';1976  }19771978  /** @name PalletDemocracyCall (199) */1979  interface PalletDemocracyCall extends Enum {1980    readonly isPropose: boolean;1981    readonly asPropose: {1982      readonly proposal: FrameSupportPreimagesBounded;1983      readonly value: Compact<u128>;1984    } & Struct;1985    readonly isSecond: boolean;1986    readonly asSecond: {1987      readonly proposal: Compact<u32>;1988    } & Struct;1989    readonly isVote: boolean;1990    readonly asVote: {1991      readonly refIndex: Compact<u32>;1992      readonly vote: PalletDemocracyVoteAccountVote;1993    } & Struct;1994    readonly isEmergencyCancel: boolean;1995    readonly asEmergencyCancel: {1996      readonly refIndex: u32;1997    } & Struct;1998    readonly isExternalPropose: boolean;1999    readonly asExternalPropose: {2000      readonly proposal: FrameSupportPreimagesBounded;2001    } & Struct;2002    readonly isExternalProposeMajority: boolean;2003    readonly asExternalProposeMajority: {2004      readonly proposal: FrameSupportPreimagesBounded;2005    } & Struct;2006    readonly isExternalProposeDefault: boolean;2007    readonly asExternalProposeDefault: {2008      readonly proposal: FrameSupportPreimagesBounded;2009    } & Struct;2010    readonly isFastTrack: boolean;2011    readonly asFastTrack: {2012      readonly proposalHash: H256;2013      readonly votingPeriod: u32;2014      readonly delay: u32;2015    } & Struct;2016    readonly isVetoExternal: boolean;2017    readonly asVetoExternal: {2018      readonly proposalHash: H256;2019    } & Struct;2020    readonly isCancelReferendum: boolean;2021    readonly asCancelReferendum: {2022      readonly refIndex: Compact<u32>;2023    } & Struct;2024    readonly isDelegate: boolean;2025    readonly asDelegate: {2026      readonly to: MultiAddress;2027      readonly conviction: PalletDemocracyConviction;2028      readonly balance: u128;2029    } & Struct;2030    readonly isUndelegate: boolean;2031    readonly isClearPublicProposals: boolean;2032    readonly isUnlock: boolean;2033    readonly asUnlock: {2034      readonly target: MultiAddress;2035    } & Struct;2036    readonly isRemoveVote: boolean;2037    readonly asRemoveVote: {2038      readonly index: u32;2039    } & Struct;2040    readonly isRemoveOtherVote: boolean;2041    readonly asRemoveOtherVote: {2042      readonly target: MultiAddress;2043      readonly index: u32;2044    } & Struct;2045    readonly isBlacklist: boolean;2046    readonly asBlacklist: {2047      readonly proposalHash: H256;2048      readonly maybeRefIndex: Option<u32>;2049    } & Struct;2050    readonly isCancelProposal: boolean;2051    readonly asCancelProposal: {2052      readonly propIndex: Compact<u32>;2053    } & Struct;2054    readonly isSetMetadata: boolean;2055    readonly asSetMetadata: {2056      readonly owner: PalletDemocracyMetadataOwner;2057      readonly maybeHash: Option<H256>;2058    } & Struct;2059    readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata';2060  }20612062  /** @name PalletDemocracyConviction (200) */2063  interface PalletDemocracyConviction extends Enum {2064    readonly isNone: boolean;2065    readonly isLocked1x: boolean;2066    readonly isLocked2x: boolean;2067    readonly isLocked3x: boolean;2068    readonly isLocked4x: boolean;2069    readonly isLocked5x: boolean;2070    readonly isLocked6x: boolean;2071    readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x';2072  }20732074  /** @name PalletCollectiveCall (203) */2075  interface PalletCollectiveCall extends Enum {2076    readonly isSetMembers: boolean;2077    readonly asSetMembers: {2078      readonly newMembers: Vec<AccountId32>;2079      readonly prime: Option<AccountId32>;2080      readonly oldCount: u32;2081    } & Struct;2082    readonly isExecute: boolean;2083    readonly asExecute: {2084      readonly proposal: Call;2085      readonly lengthBound: Compact<u32>;2086    } & Struct;2087    readonly isPropose: boolean;2088    readonly asPropose: {2089      readonly threshold: Compact<u32>;2090      readonly proposal: Call;2091      readonly lengthBound: Compact<u32>;2092    } & Struct;2093    readonly isVote: boolean;2094    readonly asVote: {2095      readonly proposal: H256;2096      readonly index: Compact<u32>;2097      readonly approve: bool;2098    } & Struct;2099    readonly isDisapproveProposal: boolean;2100    readonly asDisapproveProposal: {2101      readonly proposalHash: H256;2102    } & Struct;2103    readonly isClose: boolean;2104    readonly asClose: {2105      readonly proposalHash: H256;2106      readonly index: Compact<u32>;2107      readonly proposalWeightBound: SpWeightsWeightV2Weight;2108      readonly lengthBound: Compact<u32>;2109    } & Struct;2110    readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close';2111  }21122113  /** @name PalletMembershipCall (205) */2114  interface PalletMembershipCall extends Enum {2115    readonly isAddMember: boolean;2116    readonly asAddMember: {2117      readonly who: MultiAddress;2118    } & Struct;2119    readonly isRemoveMember: boolean;2120    readonly asRemoveMember: {2121      readonly who: MultiAddress;2122    } & Struct;2123    readonly isSwapMember: boolean;2124    readonly asSwapMember: {2125      readonly remove: MultiAddress;2126      readonly add: MultiAddress;2127    } & Struct;2128    readonly isResetMembers: boolean;2129    readonly asResetMembers: {2130      readonly members: Vec<AccountId32>;2131    } & Struct;2132    readonly isChangeKey: boolean;2133    readonly asChangeKey: {2134      readonly new_: MultiAddress;2135    } & Struct;2136    readonly isSetPrime: boolean;2137    readonly asSetPrime: {2138      readonly who: MultiAddress;2139    } & Struct;2140    readonly isClearPrime: boolean;2141    readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime';2142  }21432144  /** @name PalletRankedCollectiveCall (207) */2145  interface PalletRankedCollectiveCall extends Enum {2146    readonly isAddMember: boolean;2147    readonly asAddMember: {2148      readonly who: MultiAddress;2149    } & Struct;2150    readonly isPromoteMember: boolean;2151    readonly asPromoteMember: {2152      readonly who: MultiAddress;2153    } & Struct;2154    readonly isDemoteMember: boolean;2155    readonly asDemoteMember: {2156      readonly who: MultiAddress;2157    } & Struct;2158    readonly isRemoveMember: boolean;2159    readonly asRemoveMember: {2160      readonly who: MultiAddress;2161      readonly minRank: u16;2162    } & Struct;2163    readonly isVote: boolean;2164    readonly asVote: {2165      readonly poll: u32;2166      readonly aye: bool;2167    } & Struct;2168    readonly isCleanupPoll: boolean;2169    readonly asCleanupPoll: {2170      readonly pollIndex: u32;2171      readonly max: u32;2172    } & Struct;2173    readonly type: 'AddMember' | 'PromoteMember' | 'DemoteMember' | 'RemoveMember' | 'Vote' | 'CleanupPoll';2174  }21752176  /** @name PalletReferendaCall (208) */2177  interface PalletReferendaCall extends Enum {2178    readonly isSubmit: boolean;2179    readonly asSubmit: {2180      readonly proposalOrigin: QuartzRuntimeOriginCaller;2181      readonly proposal: FrameSupportPreimagesBounded;2182      readonly enactmentMoment: FrameSupportScheduleDispatchTime;2183    } & Struct;2184    readonly isPlaceDecisionDeposit: boolean;2185    readonly asPlaceDecisionDeposit: {2186      readonly index: u32;2187    } & Struct;2188    readonly isRefundDecisionDeposit: boolean;2189    readonly asRefundDecisionDeposit: {2190      readonly index: u32;2191    } & Struct;2192    readonly isCancel: boolean;2193    readonly asCancel: {2194      readonly index: u32;2195    } & Struct;2196    readonly isKill: boolean;2197    readonly asKill: {2198      readonly index: u32;2199    } & Struct;2200    readonly isNudgeReferendum: boolean;2201    readonly asNudgeReferendum: {2202      readonly index: u32;2203    } & Struct;2204    readonly isOneFewerDeciding: boolean;2205    readonly asOneFewerDeciding: {2206      readonly track: u16;2207    } & Struct;2208    readonly isRefundSubmissionDeposit: boolean;2209    readonly asRefundSubmissionDeposit: {2210      readonly index: u32;2211    } & Struct;2212    readonly isSetMetadata: boolean;2213    readonly asSetMetadata: {2214      readonly index: u32;2215      readonly maybeHash: Option<H256>;2216    } & Struct;2217    readonly type: 'Submit' | 'PlaceDecisionDeposit' | 'RefundDecisionDeposit' | 'Cancel' | 'Kill' | 'NudgeReferendum' | 'OneFewerDeciding' | 'RefundSubmissionDeposit' | 'SetMetadata';2218  }22192220  /** @name QuartzRuntimeOriginCaller (209) */2221  interface QuartzRuntimeOriginCaller extends Enum {2222    readonly isSystem: boolean;2223    readonly asSystem: FrameSupportDispatchRawOrigin;2224    readonly isVoid: boolean;2225    readonly isCouncil: boolean;2226    readonly asCouncil: PalletCollectiveRawOrigin;2227    readonly isTechnicalCommittee: boolean;2228    readonly asTechnicalCommittee: PalletCollectiveRawOrigin;2229    readonly isPolkadotXcm: boolean;2230    readonly asPolkadotXcm: PalletXcmOrigin;2231    readonly isCumulusXcm: boolean;2232    readonly asCumulusXcm: CumulusPalletXcmOrigin;2233    readonly isOrigins: boolean;2234    readonly asOrigins: PalletGovOriginsOrigin;2235    readonly isEthereum: boolean;2236    readonly asEthereum: PalletEthereumRawOrigin;2237    readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'PolkadotXcm' | 'CumulusXcm' | 'Origins' | 'Ethereum';2238  }22392240  /** @name FrameSupportDispatchRawOrigin (210) */2241  interface FrameSupportDispatchRawOrigin extends Enum {2242    readonly isRoot: boolean;2243    readonly isSigned: boolean;2244    readonly asSigned: AccountId32;2245    readonly isNone: boolean;2246    readonly type: 'Root' | 'Signed' | 'None';2247  }22482249  /** @name PalletCollectiveRawOrigin (211) */2250  interface PalletCollectiveRawOrigin extends Enum {2251    readonly isMembers: boolean;2252    readonly asMembers: ITuple<[u32, u32]>;2253    readonly isMember: boolean;2254    readonly asMember: AccountId32;2255    readonly isPhantom: boolean;2256    readonly type: 'Members' | 'Member' | 'Phantom';2257  }22582259  /** @name PalletGovOriginsOrigin (213) */2260  interface PalletGovOriginsOrigin extends Enum {2261    readonly isFellowshipProposition: boolean;2262    readonly type: 'FellowshipProposition';2263  }22642265  /** @name PalletXcmOrigin (214) */2266  interface PalletXcmOrigin extends Enum {2267    readonly isXcm: boolean;2268    readonly asXcm: XcmV3MultiLocation;2269    readonly isResponse: boolean;2270    readonly asResponse: XcmV3MultiLocation;2271    readonly type: 'Xcm' | 'Response';2272  }22732274  /** @name CumulusPalletXcmOrigin (215) */2275  interface CumulusPalletXcmOrigin extends Enum {2276    readonly isRelay: boolean;2277    readonly isSiblingParachain: boolean;2278    readonly asSiblingParachain: u32;2279    readonly type: 'Relay' | 'SiblingParachain';2280  }22812282  /** @name PalletEthereumRawOrigin (216) */2283  interface PalletEthereumRawOrigin extends Enum {2284    readonly isEthereumTransaction: boolean;2285    readonly asEthereumTransaction: H160;2286    readonly type: 'EthereumTransaction';2287  }22882289  /** @name SpCoreVoid (218) */2290  type SpCoreVoid = Null;22912292  /** @name FrameSupportScheduleDispatchTime (219) */2293  interface FrameSupportScheduleDispatchTime extends Enum {2294    readonly isAt: boolean;2295    readonly asAt: u32;2296    readonly isAfter: boolean;2297    readonly asAfter: u32;2298    readonly type: 'At' | 'After';2299  }23002301  /** @name PalletSchedulerCall (220) */2302  interface PalletSchedulerCall extends Enum {2303    readonly isSchedule: boolean;2304    readonly asSchedule: {2305      readonly when: u32;2306      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2307      readonly priority: u8;2308      readonly call: Call;2309    } & Struct;2310    readonly isCancel: boolean;2311    readonly asCancel: {2312      readonly when: u32;2313      readonly index: u32;2314    } & Struct;2315    readonly isScheduleNamed: boolean;2316    readonly asScheduleNamed: {2317      readonly id: U8aFixed;2318      readonly when: u32;2319      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2320      readonly priority: u8;2321      readonly call: Call;2322    } & Struct;2323    readonly isCancelNamed: boolean;2324    readonly asCancelNamed: {2325      readonly id: U8aFixed;2326    } & Struct;2327    readonly isScheduleAfter: boolean;2328    readonly asScheduleAfter: {2329      readonly after: u32;2330      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2331      readonly priority: u8;2332      readonly call: Call;2333    } & Struct;2334    readonly isScheduleNamedAfter: boolean;2335    readonly asScheduleNamedAfter: {2336      readonly id: U8aFixed;2337      readonly after: u32;2338      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2339      readonly priority: u8;2340      readonly call: Call;2341    } & Struct;2342    readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter';2343  }23442345  /** @name CumulusPalletXcmpQueueCall (223) */2346  interface CumulusPalletXcmpQueueCall extends Enum {2347    readonly isServiceOverweight: boolean;2348    readonly asServiceOverweight: {2349      readonly index: u64;2350      readonly weightLimit: SpWeightsWeightV2Weight;2351    } & Struct;2352    readonly isSuspendXcmExecution: boolean;2353    readonly isResumeXcmExecution: boolean;2354    readonly isUpdateSuspendThreshold: boolean;2355    readonly asUpdateSuspendThreshold: {2356      readonly new_: u32;2357    } & Struct;2358    readonly isUpdateDropThreshold: boolean;2359    readonly asUpdateDropThreshold: {2360      readonly new_: u32;2361    } & Struct;2362    readonly isUpdateResumeThreshold: boolean;2363    readonly asUpdateResumeThreshold: {2364      readonly new_: u32;2365    } & Struct;2366    readonly isUpdateThresholdWeight: boolean;2367    readonly asUpdateThresholdWeight: {2368      readonly new_: SpWeightsWeightV2Weight;2369    } & Struct;2370    readonly isUpdateWeightRestrictDecay: boolean;2371    readonly asUpdateWeightRestrictDecay: {2372      readonly new_: SpWeightsWeightV2Weight;2373    } & Struct;2374    readonly isUpdateXcmpMaxIndividualWeight: boolean;2375    readonly asUpdateXcmpMaxIndividualWeight: {2376      readonly new_: SpWeightsWeightV2Weight;2377    } & Struct;2378    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2379  }23802381  /** @name PalletXcmCall (224) */2382  interface PalletXcmCall extends Enum {2383    readonly isSend: boolean;2384    readonly asSend: {2385      readonly dest: XcmVersionedMultiLocation;2386      readonly message: XcmVersionedXcm;2387    } & Struct;2388    readonly isTeleportAssets: boolean;2389    readonly asTeleportAssets: {2390      readonly dest: XcmVersionedMultiLocation;2391      readonly beneficiary: XcmVersionedMultiLocation;2392      readonly assets: XcmVersionedMultiAssets;2393      readonly feeAssetItem: u32;2394    } & Struct;2395    readonly isReserveTransferAssets: boolean;2396    readonly asReserveTransferAssets: {2397      readonly dest: XcmVersionedMultiLocation;2398      readonly beneficiary: XcmVersionedMultiLocation;2399      readonly assets: XcmVersionedMultiAssets;2400      readonly feeAssetItem: u32;2401    } & Struct;2402    readonly isExecute: boolean;2403    readonly asExecute: {2404      readonly message: XcmVersionedXcm;2405      readonly maxWeight: SpWeightsWeightV2Weight;2406    } & Struct;2407    readonly isForceXcmVersion: boolean;2408    readonly asForceXcmVersion: {2409      readonly location: XcmV3MultiLocation;2410      readonly xcmVersion: u32;2411    } & Struct;2412    readonly isForceDefaultXcmVersion: boolean;2413    readonly asForceDefaultXcmVersion: {2414      readonly maybeXcmVersion: Option<u32>;2415    } & Struct;2416    readonly isForceSubscribeVersionNotify: boolean;2417    readonly asForceSubscribeVersionNotify: {2418      readonly location: XcmVersionedMultiLocation;2419    } & Struct;2420    readonly isForceUnsubscribeVersionNotify: boolean;2421    readonly asForceUnsubscribeVersionNotify: {2422      readonly location: XcmVersionedMultiLocation;2423    } & Struct;2424    readonly isLimitedReserveTransferAssets: boolean;2425    readonly asLimitedReserveTransferAssets: {2426      readonly dest: XcmVersionedMultiLocation;2427      readonly beneficiary: XcmVersionedMultiLocation;2428      readonly assets: XcmVersionedMultiAssets;2429      readonly feeAssetItem: u32;2430      readonly weightLimit: XcmV3WeightLimit;2431    } & Struct;2432    readonly isLimitedTeleportAssets: boolean;2433    readonly asLimitedTeleportAssets: {2434      readonly dest: XcmVersionedMultiLocation;2435      readonly beneficiary: XcmVersionedMultiLocation;2436      readonly assets: XcmVersionedMultiAssets;2437      readonly feeAssetItem: u32;2438      readonly weightLimit: XcmV3WeightLimit;2439    } & Struct;2440    readonly isForceSuspension: boolean;2441    readonly asForceSuspension: {2442      readonly suspended: bool;2443    } & Struct;2444    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension';2445  }24462447  /** @name XcmVersionedXcm (225) */2448  interface XcmVersionedXcm extends Enum {2449    readonly isV2: boolean;2450    readonly asV2: XcmV2Xcm;2451    readonly isV3: boolean;2452    readonly asV3: XcmV3Xcm;2453    readonly type: 'V2' | 'V3';2454  }24552456  /** @name XcmV2Xcm (226) */2457  interface XcmV2Xcm extends Vec<XcmV2Instruction> {}24582459  /** @name XcmV2Instruction (228) */2460  interface XcmV2Instruction extends Enum {2461    readonly isWithdrawAsset: boolean;2462    readonly asWithdrawAsset: XcmV2MultiassetMultiAssets;2463    readonly isReserveAssetDeposited: boolean;2464    readonly asReserveAssetDeposited: XcmV2MultiassetMultiAssets;2465    readonly isReceiveTeleportedAsset: boolean;2466    readonly asReceiveTeleportedAsset: XcmV2MultiassetMultiAssets;2467    readonly isQueryResponse: boolean;2468    readonly asQueryResponse: {2469      readonly queryId: Compact<u64>;2470      readonly response: XcmV2Response;2471      readonly maxWeight: Compact<u64>;2472    } & Struct;2473    readonly isTransferAsset: boolean;2474    readonly asTransferAsset: {2475      readonly assets: XcmV2MultiassetMultiAssets;2476      readonly beneficiary: XcmV2MultiLocation;2477    } & Struct;2478    readonly isTransferReserveAsset: boolean;2479    readonly asTransferReserveAsset: {2480      readonly assets: XcmV2MultiassetMultiAssets;2481      readonly dest: XcmV2MultiLocation;2482      readonly xcm: XcmV2Xcm;2483    } & Struct;2484    readonly isTransact: boolean;2485    readonly asTransact: {2486      readonly originType: XcmV2OriginKind;2487      readonly requireWeightAtMost: Compact<u64>;2488      readonly call: XcmDoubleEncoded;2489    } & Struct;2490    readonly isHrmpNewChannelOpenRequest: boolean;2491    readonly asHrmpNewChannelOpenRequest: {2492      readonly sender: Compact<u32>;2493      readonly maxMessageSize: Compact<u32>;2494      readonly maxCapacity: Compact<u32>;2495    } & Struct;2496    readonly isHrmpChannelAccepted: boolean;2497    readonly asHrmpChannelAccepted: {2498      readonly recipient: Compact<u32>;2499    } & Struct;2500    readonly isHrmpChannelClosing: boolean;2501    readonly asHrmpChannelClosing: {2502      readonly initiator: Compact<u32>;2503      readonly sender: Compact<u32>;2504      readonly recipient: Compact<u32>;2505    } & Struct;2506    readonly isClearOrigin: boolean;2507    readonly isDescendOrigin: boolean;2508    readonly asDescendOrigin: XcmV2MultilocationJunctions;2509    readonly isReportError: boolean;2510    readonly asReportError: {2511      readonly queryId: Compact<u64>;2512      readonly dest: XcmV2MultiLocation;2513      readonly maxResponseWeight: Compact<u64>;2514    } & Struct;2515    readonly isDepositAsset: boolean;2516    readonly asDepositAsset: {2517      readonly assets: XcmV2MultiassetMultiAssetFilter;2518      readonly maxAssets: Compact<u32>;2519      readonly beneficiary: XcmV2MultiLocation;2520    } & Struct;2521    readonly isDepositReserveAsset: boolean;2522    readonly asDepositReserveAsset: {2523      readonly assets: XcmV2MultiassetMultiAssetFilter;2524      readonly maxAssets: Compact<u32>;2525      readonly dest: XcmV2MultiLocation;2526      readonly xcm: XcmV2Xcm;2527    } & Struct;2528    readonly isExchangeAsset: boolean;2529    readonly asExchangeAsset: {2530      readonly give: XcmV2MultiassetMultiAssetFilter;2531      readonly receive: XcmV2MultiassetMultiAssets;2532    } & Struct;2533    readonly isInitiateReserveWithdraw: boolean;2534    readonly asInitiateReserveWithdraw: {2535      readonly assets: XcmV2MultiassetMultiAssetFilter;2536      readonly reserve: XcmV2MultiLocation;2537      readonly xcm: XcmV2Xcm;2538    } & Struct;2539    readonly isInitiateTeleport: boolean;2540    readonly asInitiateTeleport: {2541      readonly assets: XcmV2MultiassetMultiAssetFilter;2542      readonly dest: XcmV2MultiLocation;2543      readonly xcm: XcmV2Xcm;2544    } & Struct;2545    readonly isQueryHolding: boolean;2546    readonly asQueryHolding: {2547      readonly queryId: Compact<u64>;2548      readonly dest: XcmV2MultiLocation;2549      readonly assets: XcmV2MultiassetMultiAssetFilter;2550      readonly maxResponseWeight: Compact<u64>;2551    } & Struct;2552    readonly isBuyExecution: boolean;2553    readonly asBuyExecution: {2554      readonly fees: XcmV2MultiAsset;2555      readonly weightLimit: XcmV2WeightLimit;2556    } & Struct;2557    readonly isRefundSurplus: boolean;2558    readonly isSetErrorHandler: boolean;2559    readonly asSetErrorHandler: XcmV2Xcm;2560    readonly isSetAppendix: boolean;2561    readonly asSetAppendix: XcmV2Xcm;2562    readonly isClearError: boolean;2563    readonly isClaimAsset: boolean;2564    readonly asClaimAsset: {2565      readonly assets: XcmV2MultiassetMultiAssets;2566      readonly ticket: XcmV2MultiLocation;2567    } & Struct;2568    readonly isTrap: boolean;2569    readonly asTrap: Compact<u64>;2570    readonly isSubscribeVersion: boolean;2571    readonly asSubscribeVersion: {2572      readonly queryId: Compact<u64>;2573      readonly maxResponseWeight: Compact<u64>;2574    } & Struct;2575    readonly isUnsubscribeVersion: boolean;2576    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';2577  }25782579  /** @name XcmV2Response (229) */2580  interface XcmV2Response extends Enum {2581    readonly isNull: boolean;2582    readonly isAssets: boolean;2583    readonly asAssets: XcmV2MultiassetMultiAssets;2584    readonly isExecutionResult: boolean;2585    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2586    readonly isVersion: boolean;2587    readonly asVersion: u32;2588    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2589  }25902591  /** @name XcmV2TraitsError (232) */2592  interface XcmV2TraitsError extends Enum {2593    readonly isOverflow: boolean;2594    readonly isUnimplemented: boolean;2595    readonly isUntrustedReserveLocation: boolean;2596    readonly isUntrustedTeleportLocation: boolean;2597    readonly isMultiLocationFull: boolean;2598    readonly isMultiLocationNotInvertible: boolean;2599    readonly isBadOrigin: boolean;2600    readonly isInvalidLocation: boolean;2601    readonly isAssetNotFound: boolean;2602    readonly isFailedToTransactAsset: boolean;2603    readonly isNotWithdrawable: boolean;2604    readonly isLocationCannotHold: boolean;2605    readonly isExceedsMaxMessageSize: boolean;2606    readonly isDestinationUnsupported: boolean;2607    readonly isTransport: boolean;2608    readonly isUnroutable: boolean;2609    readonly isUnknownClaim: boolean;2610    readonly isFailedToDecode: boolean;2611    readonly isMaxWeightInvalid: boolean;2612    readonly isNotHoldingFees: boolean;2613    readonly isTooExpensive: boolean;2614    readonly isTrap: boolean;2615    readonly asTrap: u64;2616    readonly isUnhandledXcmVersion: boolean;2617    readonly isWeightLimitReached: boolean;2618    readonly asWeightLimitReached: u64;2619    readonly isBarrier: boolean;2620    readonly isWeightNotComputable: boolean;2621    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';2622  }26232624  /** @name XcmV2OriginKind (233) */2625  interface XcmV2OriginKind extends Enum {2626    readonly isNative: boolean;2627    readonly isSovereignAccount: boolean;2628    readonly isSuperuser: boolean;2629    readonly isXcm: boolean;2630    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2631  }26322633  /** @name XcmDoubleEncoded (234) */2634  interface XcmDoubleEncoded extends Struct {2635    readonly encoded: Bytes;2636  }26372638  /** @name XcmV2MultiassetMultiAssetFilter (235) */2639  interface XcmV2MultiassetMultiAssetFilter extends Enum {2640    readonly isDefinite: boolean;2641    readonly asDefinite: XcmV2MultiassetMultiAssets;2642    readonly isWild: boolean;2643    readonly asWild: XcmV2MultiassetWildMultiAsset;2644    readonly type: 'Definite' | 'Wild';2645  }26462647  /** @name XcmV2MultiassetWildMultiAsset (236) */2648  interface XcmV2MultiassetWildMultiAsset extends Enum {2649    readonly isAll: boolean;2650    readonly isAllOf: boolean;2651    readonly asAllOf: {2652      readonly id: XcmV2MultiassetAssetId;2653      readonly fun: XcmV2MultiassetWildFungibility;2654    } & Struct;2655    readonly type: 'All' | 'AllOf';2656  }26572658  /** @name XcmV2MultiassetWildFungibility (237) */2659  interface XcmV2MultiassetWildFungibility extends Enum {2660    readonly isFungible: boolean;2661    readonly isNonFungible: boolean;2662    readonly type: 'Fungible' | 'NonFungible';2663  }26642665  /** @name XcmV2WeightLimit (238) */2666  interface XcmV2WeightLimit extends Enum {2667    readonly isUnlimited: boolean;2668    readonly isLimited: boolean;2669    readonly asLimited: Compact<u64>;2670    readonly type: 'Unlimited' | 'Limited';2671  }26722673  /** @name XcmV3Xcm (239) */2674  interface XcmV3Xcm extends Vec<XcmV3Instruction> {}26752676  /** @name XcmV3Instruction (241) */2677  interface XcmV3Instruction extends Enum {2678    readonly isWithdrawAsset: boolean;2679    readonly asWithdrawAsset: XcmV3MultiassetMultiAssets;2680    readonly isReserveAssetDeposited: boolean;2681    readonly asReserveAssetDeposited: XcmV3MultiassetMultiAssets;2682    readonly isReceiveTeleportedAsset: boolean;2683    readonly asReceiveTeleportedAsset: XcmV3MultiassetMultiAssets;2684    readonly isQueryResponse: boolean;2685    readonly asQueryResponse: {2686      readonly queryId: Compact<u64>;2687      readonly response: XcmV3Response;2688      readonly maxWeight: SpWeightsWeightV2Weight;2689      readonly querier: Option<XcmV3MultiLocation>;2690    } & Struct;2691    readonly isTransferAsset: boolean;2692    readonly asTransferAsset: {2693      readonly assets: XcmV3MultiassetMultiAssets;2694      readonly beneficiary: XcmV3MultiLocation;2695    } & Struct;2696    readonly isTransferReserveAsset: boolean;2697    readonly asTransferReserveAsset: {2698      readonly assets: XcmV3MultiassetMultiAssets;2699      readonly dest: XcmV3MultiLocation;2700      readonly xcm: XcmV3Xcm;2701    } & Struct;2702    readonly isTransact: boolean;2703    readonly asTransact: {2704      readonly originKind: XcmV2OriginKind;2705      readonly requireWeightAtMost: SpWeightsWeightV2Weight;2706      readonly call: XcmDoubleEncoded;2707    } & Struct;2708    readonly isHrmpNewChannelOpenRequest: boolean;2709    readonly asHrmpNewChannelOpenRequest: {2710      readonly sender: Compact<u32>;2711      readonly maxMessageSize: Compact<u32>;2712      readonly maxCapacity: Compact<u32>;2713    } & Struct;2714    readonly isHrmpChannelAccepted: boolean;2715    readonly asHrmpChannelAccepted: {2716      readonly recipient: Compact<u32>;2717    } & Struct;2718    readonly isHrmpChannelClosing: boolean;2719    readonly asHrmpChannelClosing: {2720      readonly initiator: Compact<u32>;2721      readonly sender: Compact<u32>;2722      readonly recipient: Compact<u32>;2723    } & Struct;2724    readonly isClearOrigin: boolean;2725    readonly isDescendOrigin: boolean;2726    readonly asDescendOrigin: XcmV3Junctions;2727    readonly isReportError: boolean;2728    readonly asReportError: XcmV3QueryResponseInfo;2729    readonly isDepositAsset: boolean;2730    readonly asDepositAsset: {2731      readonly assets: XcmV3MultiassetMultiAssetFilter;2732      readonly beneficiary: XcmV3MultiLocation;2733    } & Struct;2734    readonly isDepositReserveAsset: boolean;2735    readonly asDepositReserveAsset: {2736      readonly assets: XcmV3MultiassetMultiAssetFilter;2737      readonly dest: XcmV3MultiLocation;2738      readonly xcm: XcmV3Xcm;2739    } & Struct;2740    readonly isExchangeAsset: boolean;2741    readonly asExchangeAsset: {2742      readonly give: XcmV3MultiassetMultiAssetFilter;2743      readonly want: XcmV3MultiassetMultiAssets;2744      readonly maximal: bool;2745    } & Struct;2746    readonly isInitiateReserveWithdraw: boolean;2747    readonly asInitiateReserveWithdraw: {2748      readonly assets: XcmV3MultiassetMultiAssetFilter;2749      readonly reserve: XcmV3MultiLocation;2750      readonly xcm: XcmV3Xcm;2751    } & Struct;2752    readonly isInitiateTeleport: boolean;2753    readonly asInitiateTeleport: {2754      readonly assets: XcmV3MultiassetMultiAssetFilter;2755      readonly dest: XcmV3MultiLocation;2756      readonly xcm: XcmV3Xcm;2757    } & Struct;2758    readonly isReportHolding: boolean;2759    readonly asReportHolding: {2760      readonly responseInfo: XcmV3QueryResponseInfo;2761      readonly assets: XcmV3MultiassetMultiAssetFilter;2762    } & Struct;2763    readonly isBuyExecution: boolean;2764    readonly asBuyExecution: {2765      readonly fees: XcmV3MultiAsset;2766      readonly weightLimit: XcmV3WeightLimit;2767    } & Struct;2768    readonly isRefundSurplus: boolean;2769    readonly isSetErrorHandler: boolean;2770    readonly asSetErrorHandler: XcmV3Xcm;2771    readonly isSetAppendix: boolean;2772    readonly asSetAppendix: XcmV3Xcm;2773    readonly isClearError: boolean;2774    readonly isClaimAsset: boolean;2775    readonly asClaimAsset: {2776      readonly assets: XcmV3MultiassetMultiAssets;2777      readonly ticket: XcmV3MultiLocation;2778    } & Struct;2779    readonly isTrap: boolean;2780    readonly asTrap: Compact<u64>;2781    readonly isSubscribeVersion: boolean;2782    readonly asSubscribeVersion: {2783      readonly queryId: Compact<u64>;2784      readonly maxResponseWeight: SpWeightsWeightV2Weight;2785    } & Struct;2786    readonly isUnsubscribeVersion: boolean;2787    readonly isBurnAsset: boolean;2788    readonly asBurnAsset: XcmV3MultiassetMultiAssets;2789    readonly isExpectAsset: boolean;2790    readonly asExpectAsset: XcmV3MultiassetMultiAssets;2791    readonly isExpectOrigin: boolean;2792    readonly asExpectOrigin: Option<XcmV3MultiLocation>;2793    readonly isExpectError: boolean;2794    readonly asExpectError: Option<ITuple<[u32, XcmV3TraitsError]>>;2795    readonly isExpectTransactStatus: boolean;2796    readonly asExpectTransactStatus: XcmV3MaybeErrorCode;2797    readonly isQueryPallet: boolean;2798    readonly asQueryPallet: {2799      readonly moduleName: Bytes;2800      readonly responseInfo: XcmV3QueryResponseInfo;2801    } & Struct;2802    readonly isExpectPallet: boolean;2803    readonly asExpectPallet: {2804      readonly index: Compact<u32>;2805      readonly name: Bytes;2806      readonly moduleName: Bytes;2807      readonly crateMajor: Compact<u32>;2808      readonly minCrateMinor: Compact<u32>;2809    } & Struct;2810    readonly isReportTransactStatus: boolean;2811    readonly asReportTransactStatus: XcmV3QueryResponseInfo;2812    readonly isClearTransactStatus: boolean;2813    readonly isUniversalOrigin: boolean;2814    readonly asUniversalOrigin: XcmV3Junction;2815    readonly isExportMessage: boolean;2816    readonly asExportMessage: {2817      readonly network: XcmV3JunctionNetworkId;2818      readonly destination: XcmV3Junctions;2819      readonly xcm: XcmV3Xcm;2820    } & Struct;2821    readonly isLockAsset: boolean;2822    readonly asLockAsset: {2823      readonly asset: XcmV3MultiAsset;2824      readonly unlocker: XcmV3MultiLocation;2825    } & Struct;2826    readonly isUnlockAsset: boolean;2827    readonly asUnlockAsset: {2828      readonly asset: XcmV3MultiAsset;2829      readonly target: XcmV3MultiLocation;2830    } & Struct;2831    readonly isNoteUnlockable: boolean;2832    readonly asNoteUnlockable: {2833      readonly asset: XcmV3MultiAsset;2834      readonly owner: XcmV3MultiLocation;2835    } & Struct;2836    readonly isRequestUnlock: boolean;2837    readonly asRequestUnlock: {2838      readonly asset: XcmV3MultiAsset;2839      readonly locker: XcmV3MultiLocation;2840    } & Struct;2841    readonly isSetFeesMode: boolean;2842    readonly asSetFeesMode: {2843      readonly jitWithdraw: bool;2844    } & Struct;2845    readonly isSetTopic: boolean;2846    readonly asSetTopic: U8aFixed;2847    readonly isClearTopic: boolean;2848    readonly isAliasOrigin: boolean;2849    readonly asAliasOrigin: XcmV3MultiLocation;2850    readonly isUnpaidExecution: boolean;2851    readonly asUnpaidExecution: {2852      readonly weightLimit: XcmV3WeightLimit;2853      readonly checkOrigin: Option<XcmV3MultiLocation>;2854    } & Struct;2855    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';2856  }28572858  /** @name XcmV3Response (242) */2859  interface XcmV3Response extends Enum {2860    readonly isNull: boolean;2861    readonly isAssets: boolean;2862    readonly asAssets: XcmV3MultiassetMultiAssets;2863    readonly isExecutionResult: boolean;2864    readonly asExecutionResult: Option<ITuple<[u32, XcmV3TraitsError]>>;2865    readonly isVersion: boolean;2866    readonly asVersion: u32;2867    readonly isPalletsInfo: boolean;2868    readonly asPalletsInfo: Vec<XcmV3PalletInfo>;2869    readonly isDispatchResult: boolean;2870    readonly asDispatchResult: XcmV3MaybeErrorCode;2871    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult';2872  }28732874  /** @name XcmV3TraitsError (245) */2875  interface XcmV3TraitsError extends Enum {2876    readonly isOverflow: boolean;2877    readonly isUnimplemented: boolean;2878    readonly isUntrustedReserveLocation: boolean;2879    readonly isUntrustedTeleportLocation: boolean;2880    readonly isLocationFull: boolean;2881    readonly isLocationNotInvertible: boolean;2882    readonly isBadOrigin: boolean;2883    readonly isInvalidLocation: boolean;2884    readonly isAssetNotFound: boolean;2885    readonly isFailedToTransactAsset: boolean;2886    readonly isNotWithdrawable: boolean;2887    readonly isLocationCannotHold: boolean;2888    readonly isExceedsMaxMessageSize: boolean;2889    readonly isDestinationUnsupported: boolean;2890    readonly isTransport: boolean;2891    readonly isUnroutable: boolean;2892    readonly isUnknownClaim: boolean;2893    readonly isFailedToDecode: boolean;2894    readonly isMaxWeightInvalid: boolean;2895    readonly isNotHoldingFees: boolean;2896    readonly isTooExpensive: boolean;2897    readonly isTrap: boolean;2898    readonly asTrap: u64;2899    readonly isExpectationFalse: boolean;2900    readonly isPalletNotFound: boolean;2901    readonly isNameMismatch: boolean;2902    readonly isVersionIncompatible: boolean;2903    readonly isHoldingWouldOverflow: boolean;2904    readonly isExportError: boolean;2905    readonly isReanchorFailed: boolean;2906    readonly isNoDeal: boolean;2907    readonly isFeesNotMet: boolean;2908    readonly isLockError: boolean;2909    readonly isNoPermission: boolean;2910    readonly isUnanchored: boolean;2911    readonly isNotDepositable: boolean;2912    readonly isUnhandledXcmVersion: boolean;2913    readonly isWeightLimitReached: boolean;2914    readonly asWeightLimitReached: SpWeightsWeightV2Weight;2915    readonly isBarrier: boolean;2916    readonly isWeightNotComputable: boolean;2917    readonly isExceedsStackLimit: boolean;2918    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';2919  }29202921  /** @name XcmV3PalletInfo (247) */2922  interface XcmV3PalletInfo extends Struct {2923    readonly index: Compact<u32>;2924    readonly name: Bytes;2925    readonly moduleName: Bytes;2926    readonly major: Compact<u32>;2927    readonly minor: Compact<u32>;2928    readonly patch: Compact<u32>;2929  }29302931  /** @name XcmV3MaybeErrorCode (250) */2932  interface XcmV3MaybeErrorCode extends Enum {2933    readonly isSuccess: boolean;2934    readonly isError: boolean;2935    readonly asError: Bytes;2936    readonly isTruncatedError: boolean;2937    readonly asTruncatedError: Bytes;2938    readonly type: 'Success' | 'Error' | 'TruncatedError';2939  }29402941  /** @name XcmV3QueryResponseInfo (253) */2942  interface XcmV3QueryResponseInfo extends Struct {2943    readonly destination: XcmV3MultiLocation;2944    readonly queryId: Compact<u64>;2945    readonly maxWeight: SpWeightsWeightV2Weight;2946  }29472948  /** @name XcmV3MultiassetMultiAssetFilter (254) */2949  interface XcmV3MultiassetMultiAssetFilter extends Enum {2950    readonly isDefinite: boolean;2951    readonly asDefinite: XcmV3MultiassetMultiAssets;2952    readonly isWild: boolean;2953    readonly asWild: XcmV3MultiassetWildMultiAsset;2954    readonly type: 'Definite' | 'Wild';2955  }29562957  /** @name XcmV3MultiassetWildMultiAsset (255) */2958  interface XcmV3MultiassetWildMultiAsset extends Enum {2959    readonly isAll: boolean;2960    readonly isAllOf: boolean;2961    readonly asAllOf: {2962      readonly id: XcmV3MultiassetAssetId;2963      readonly fun: XcmV3MultiassetWildFungibility;2964    } & Struct;2965    readonly isAllCounted: boolean;2966    readonly asAllCounted: Compact<u32>;2967    readonly isAllOfCounted: boolean;2968    readonly asAllOfCounted: {2969      readonly id: XcmV3MultiassetAssetId;2970      readonly fun: XcmV3MultiassetWildFungibility;2971      readonly count: Compact<u32>;2972    } & Struct;2973    readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted';2974  }29752976  /** @name XcmV3MultiassetWildFungibility (256) */2977  interface XcmV3MultiassetWildFungibility extends Enum {2978    readonly isFungible: boolean;2979    readonly isNonFungible: boolean;2980    readonly type: 'Fungible' | 'NonFungible';2981  }29822983  /** @name CumulusPalletXcmCall (265) */2984  type CumulusPalletXcmCall = Null;29852986  /** @name CumulusPalletDmpQueueCall (266) */2987  interface CumulusPalletDmpQueueCall extends Enum {2988    readonly isServiceOverweight: boolean;2989    readonly asServiceOverweight: {2990      readonly index: u64;2991      readonly weightLimit: SpWeightsWeightV2Weight;2992    } & Struct;2993    readonly type: 'ServiceOverweight';2994  }29952996  /** @name PalletInflationCall (267) */2997  interface PalletInflationCall extends Enum {2998    readonly isStartInflation: boolean;2999    readonly asStartInflation: {3000      readonly inflationStartRelayBlock: u32;3001    } & Struct;3002    readonly type: 'StartInflation';3003  }30043005  /** @name PalletUniqueCall (268) */3006  interface PalletUniqueCall extends Enum {3007    readonly isCreateCollection: boolean;3008    readonly asCreateCollection: {3009      readonly collectionName: Vec<u16>;3010      readonly collectionDescription: Vec<u16>;3011      readonly tokenPrefix: Bytes;3012      readonly mode: UpDataStructsCollectionMode;3013    } & Struct;3014    readonly isCreateCollectionEx: boolean;3015    readonly asCreateCollectionEx: {3016      readonly data: UpDataStructsCreateCollectionData;3017    } & Struct;3018    readonly isDestroyCollection: boolean;3019    readonly asDestroyCollection: {3020      readonly collectionId: u32;3021    } & Struct;3022    readonly isAddToAllowList: boolean;3023    readonly asAddToAllowList: {3024      readonly collectionId: u32;3025      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;3026    } & Struct;3027    readonly isRemoveFromAllowList: boolean;3028    readonly asRemoveFromAllowList: {3029      readonly collectionId: u32;3030      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;3031    } & Struct;3032    readonly isChangeCollectionOwner: boolean;3033    readonly asChangeCollectionOwner: {3034      readonly collectionId: u32;3035      readonly newOwner: AccountId32;3036    } & Struct;3037    readonly isAddCollectionAdmin: boolean;3038    readonly asAddCollectionAdmin: {3039      readonly collectionId: u32;3040      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;3041    } & Struct;3042    readonly isRemoveCollectionAdmin: boolean;3043    readonly asRemoveCollectionAdmin: {3044      readonly collectionId: u32;3045      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;3046    } & Struct;3047    readonly isSetCollectionSponsor: boolean;3048    readonly asSetCollectionSponsor: {3049      readonly collectionId: u32;3050      readonly newSponsor: AccountId32;3051    } & Struct;3052    readonly isConfirmSponsorship: boolean;3053    readonly asConfirmSponsorship: {3054      readonly collectionId: u32;3055    } & Struct;3056    readonly isRemoveCollectionSponsor: boolean;3057    readonly asRemoveCollectionSponsor: {3058      readonly collectionId: u32;3059    } & Struct;3060    readonly isCreateItem: boolean;3061    readonly asCreateItem: {3062      readonly collectionId: u32;3063      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3064      readonly data: UpDataStructsCreateItemData;3065    } & Struct;3066    readonly isCreateMultipleItems: boolean;3067    readonly asCreateMultipleItems: {3068      readonly collectionId: u32;3069      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3070      readonly itemsData: Vec<UpDataStructsCreateItemData>;3071    } & Struct;3072    readonly isSetCollectionProperties: boolean;3073    readonly asSetCollectionProperties: {3074      readonly collectionId: u32;3075      readonly properties: Vec<UpDataStructsProperty>;3076    } & Struct;3077    readonly isDeleteCollectionProperties: boolean;3078    readonly asDeleteCollectionProperties: {3079      readonly collectionId: u32;3080      readonly propertyKeys: Vec<Bytes>;3081    } & Struct;3082    readonly isSetTokenProperties: boolean;3083    readonly asSetTokenProperties: {3084      readonly collectionId: u32;3085      readonly tokenId: u32;3086      readonly properties: Vec<UpDataStructsProperty>;3087    } & Struct;3088    readonly isDeleteTokenProperties: boolean;3089    readonly asDeleteTokenProperties: {3090      readonly collectionId: u32;3091      readonly tokenId: u32;3092      readonly propertyKeys: Vec<Bytes>;3093    } & Struct;3094    readonly isSetTokenPropertyPermissions: boolean;3095    readonly asSetTokenPropertyPermissions: {3096      readonly collectionId: u32;3097      readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3098    } & Struct;3099    readonly isCreateMultipleItemsEx: boolean;3100    readonly asCreateMultipleItemsEx: {3101      readonly collectionId: u32;3102      readonly data: UpDataStructsCreateItemExData;3103    } & Struct;3104    readonly isSetTransfersEnabledFlag: boolean;3105    readonly asSetTransfersEnabledFlag: {3106      readonly collectionId: u32;3107      readonly value: bool;3108    } & Struct;3109    readonly isBurnItem: boolean;3110    readonly asBurnItem: {3111      readonly collectionId: u32;3112      readonly itemId: u32;3113      readonly value: u128;3114    } & Struct;3115    readonly isBurnFrom: boolean;3116    readonly asBurnFrom: {3117      readonly collectionId: u32;3118      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3119      readonly itemId: u32;3120      readonly value: u128;3121    } & Struct;3122    readonly isTransfer: boolean;3123    readonly asTransfer: {3124      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;3125      readonly collectionId: u32;3126      readonly itemId: u32;3127      readonly value: u128;3128    } & Struct;3129    readonly isApprove: boolean;3130    readonly asApprove: {3131      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;3132      readonly collectionId: u32;3133      readonly itemId: u32;3134      readonly amount: u128;3135    } & Struct;3136    readonly isApproveFrom: boolean;3137    readonly asApproveFrom: {3138      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3139      readonly to: PalletEvmAccountBasicCrossAccountIdRepr;3140      readonly collectionId: u32;3141      readonly itemId: u32;3142      readonly amount: u128;3143    } & Struct;3144    readonly isTransferFrom: boolean;3145    readonly asTransferFrom: {3146      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;3147      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;3148      readonly collectionId: u32;3149      readonly itemId: u32;3150      readonly value: u128;3151    } & Struct;3152    readonly isSetCollectionLimits: boolean;3153    readonly asSetCollectionLimits: {3154      readonly collectionId: u32;3155      readonly newLimit: UpDataStructsCollectionLimits;3156    } & Struct;3157    readonly isSetCollectionPermissions: boolean;3158    readonly asSetCollectionPermissions: {3159      readonly collectionId: u32;3160      readonly newPermission: UpDataStructsCollectionPermissions;3161    } & Struct;3162    readonly isRepartition: boolean;3163    readonly asRepartition: {3164      readonly collectionId: u32;3165      readonly tokenId: u32;3166      readonly amount: u128;3167    } & Struct;3168    readonly isSetAllowanceForAll: boolean;3169    readonly asSetAllowanceForAll: {3170      readonly collectionId: u32;3171      readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;3172      readonly approve: bool;3173    } & Struct;3174    readonly isForceRepairCollection: boolean;3175    readonly asForceRepairCollection: {3176      readonly collectionId: u32;3177    } & Struct;3178    readonly isForceRepairItem: boolean;3179    readonly asForceRepairItem: {3180      readonly collectionId: u32;3181      readonly itemId: u32;3182    } & Struct;3183    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';3184  }31853186  /** @name UpDataStructsCollectionMode (273) */3187  interface UpDataStructsCollectionMode extends Enum {3188    readonly isNft: boolean;3189    readonly isFungible: boolean;3190    readonly asFungible: u8;3191    readonly isReFungible: boolean;3192    readonly type: 'Nft' | 'Fungible' | 'ReFungible';3193  }31943195  /** @name UpDataStructsCreateCollectionData (274) */3196  interface UpDataStructsCreateCollectionData extends Struct {3197    readonly mode: UpDataStructsCollectionMode;3198    readonly access: Option<UpDataStructsAccessMode>;3199    readonly name: Vec<u16>;3200    readonly description: Vec<u16>;3201    readonly tokenPrefix: Bytes;3202    readonly limits: Option<UpDataStructsCollectionLimits>;3203    readonly permissions: Option<UpDataStructsCollectionPermissions>;3204    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3205    readonly properties: Vec<UpDataStructsProperty>;3206    readonly adminList: Vec<PalletEvmAccountBasicCrossAccountIdRepr>;3207    readonly pendingSponsor: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3208    readonly flags: U8aFixed;3209  }32103211  /** @name PalletEvmAccountBasicCrossAccountIdRepr (275) */3212  interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {3213    readonly isSubstrate: boolean;3214    readonly asSubstrate: AccountId32;3215    readonly isEthereum: boolean;3216    readonly asEthereum: H160;3217    readonly type: 'Substrate' | 'Ethereum';3218  }32193220  /** @name UpDataStructsAccessMode (277) */3221  interface UpDataStructsAccessMode extends Enum {3222    readonly isNormal: boolean;3223    readonly isAllowList: boolean;3224    readonly type: 'Normal' | 'AllowList';3225  }32263227  /** @name UpDataStructsCollectionLimits (279) */3228  interface UpDataStructsCollectionLimits extends Struct {3229    readonly accountTokenOwnershipLimit: Option<u32>;3230    readonly sponsoredDataSize: Option<u32>;3231    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;3232    readonly tokenLimit: Option<u32>;3233    readonly sponsorTransferTimeout: Option<u32>;3234    readonly sponsorApproveTimeout: Option<u32>;3235    readonly ownerCanTransfer: Option<bool>;3236    readonly ownerCanDestroy: Option<bool>;3237    readonly transfersEnabled: Option<bool>;3238  }32393240  /** @name UpDataStructsSponsoringRateLimit (281) */3241  interface UpDataStructsSponsoringRateLimit extends Enum {3242    readonly isSponsoringDisabled: boolean;3243    readonly isBlocks: boolean;3244    readonly asBlocks: u32;3245    readonly type: 'SponsoringDisabled' | 'Blocks';3246  }32473248  /** @name UpDataStructsCollectionPermissions (284) */3249  interface UpDataStructsCollectionPermissions extends Struct {3250    readonly access: Option<UpDataStructsAccessMode>;3251    readonly mintMode: Option<bool>;3252    readonly nesting: Option<UpDataStructsNestingPermissions>;3253  }32543255  /** @name UpDataStructsNestingPermissions (286) */3256  interface UpDataStructsNestingPermissions extends Struct {3257    readonly tokenOwner: bool;3258    readonly collectionAdmin: bool;3259    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;3260  }32613262  /** @name UpDataStructsOwnerRestrictedSet (288) */3263  interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}32643265  /** @name UpDataStructsPropertyKeyPermission (294) */3266  interface UpDataStructsPropertyKeyPermission extends Struct {3267    readonly key: Bytes;3268    readonly permission: UpDataStructsPropertyPermission;3269  }32703271  /** @name UpDataStructsPropertyPermission (296) */3272  interface UpDataStructsPropertyPermission extends Struct {3273    readonly mutable: bool;3274    readonly collectionAdmin: bool;3275    readonly tokenOwner: bool;3276  }32773278  /** @name UpDataStructsProperty (299) */3279  interface UpDataStructsProperty extends Struct {3280    readonly key: Bytes;3281    readonly value: Bytes;3282  }32833284  /** @name UpDataStructsCreateItemData (304) */3285  interface UpDataStructsCreateItemData extends Enum {3286    readonly isNft: boolean;3287    readonly asNft: UpDataStructsCreateNftData;3288    readonly isFungible: boolean;3289    readonly asFungible: UpDataStructsCreateFungibleData;3290    readonly isReFungible: boolean;3291    readonly asReFungible: UpDataStructsCreateReFungibleData;3292    readonly type: 'Nft' | 'Fungible' | 'ReFungible';3293  }32943295  /** @name UpDataStructsCreateNftData (305) */3296  interface UpDataStructsCreateNftData extends Struct {3297    readonly properties: Vec<UpDataStructsProperty>;3298  }32993300  /** @name UpDataStructsCreateFungibleData (306) */3301  interface UpDataStructsCreateFungibleData extends Struct {3302    readonly value: u128;3303  }33043305  /** @name UpDataStructsCreateReFungibleData (307) */3306  interface UpDataStructsCreateReFungibleData extends Struct {3307    readonly pieces: u128;3308    readonly properties: Vec<UpDataStructsProperty>;3309  }33103311  /** @name UpDataStructsCreateItemExData (311) */3312  interface UpDataStructsCreateItemExData extends Enum {3313    readonly isNft: boolean;3314    readonly asNft: Vec<UpDataStructsCreateNftExData>;3315    readonly isFungible: boolean;3316    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;3317    readonly isRefungibleMultipleItems: boolean;3318    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;3319    readonly isRefungibleMultipleOwners: boolean;3320    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;3321    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';3322  }33233324  /** @name UpDataStructsCreateNftExData (313) */3325  interface UpDataStructsCreateNftExData extends Struct {3326    readonly properties: Vec<UpDataStructsProperty>;3327    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3328  }33293330  /** @name UpDataStructsCreateRefungibleExSingleOwner (320) */3331  interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {3332    readonly user: PalletEvmAccountBasicCrossAccountIdRepr;3333    readonly pieces: u128;3334    readonly properties: Vec<UpDataStructsProperty>;3335  }33363337  /** @name UpDataStructsCreateRefungibleExMultipleOwners (322) */3338  interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {3339    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;3340    readonly properties: Vec<UpDataStructsProperty>;3341  }33423343  /** @name PalletConfigurationCall (323) */3344  interface PalletConfigurationCall extends Enum {3345    readonly isSetWeightToFeeCoefficientOverride: boolean;3346    readonly asSetWeightToFeeCoefficientOverride: {3347      readonly coeff: Option<u64>;3348    } & Struct;3349    readonly isSetMinGasPriceOverride: boolean;3350    readonly asSetMinGasPriceOverride: {3351      readonly coeff: Option<u64>;3352    } & Struct;3353    readonly isSetAppPromotionConfigurationOverride: boolean;3354    readonly asSetAppPromotionConfigurationOverride: {3355      readonly configuration: PalletConfigurationAppPromotionConfiguration;3356    } & Struct;3357    readonly isSetCollatorSelectionDesiredCollators: boolean;3358    readonly asSetCollatorSelectionDesiredCollators: {3359      readonly max: Option<u32>;3360    } & Struct;3361    readonly isSetCollatorSelectionLicenseBond: boolean;3362    readonly asSetCollatorSelectionLicenseBond: {3363      readonly amount: Option<u128>;3364    } & Struct;3365    readonly isSetCollatorSelectionKickThreshold: boolean;3366    readonly asSetCollatorSelectionKickThreshold: {3367      readonly threshold: Option<u32>;3368    } & Struct;3369    readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';3370  }33713372  /** @name PalletConfigurationAppPromotionConfiguration (325) */3373  interface PalletConfigurationAppPromotionConfiguration extends Struct {3374    readonly recalculationInterval: Option<u32>;3375    readonly pendingInterval: Option<u32>;3376    readonly intervalIncome: Option<Perbill>;3377    readonly maxStakersPerCalculation: Option<u8>;3378  }33793380  /** @name PalletStructureCall (330) */3381  type PalletStructureCall = Null;33823383  /** @name PalletAppPromotionCall (331) */3384  interface PalletAppPromotionCall extends Enum {3385    readonly isSetAdminAddress: boolean;3386    readonly asSetAdminAddress: {3387      readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;3388    } & Struct;3389    readonly isStake: boolean;3390    readonly asStake: {3391      readonly amount: u128;3392    } & Struct;3393    readonly isUnstakeAll: boolean;3394    readonly isSponsorCollection: boolean;3395    readonly asSponsorCollection: {3396      readonly collectionId: u32;3397    } & Struct;3398    readonly isStopSponsoringCollection: boolean;3399    readonly asStopSponsoringCollection: {3400      readonly collectionId: u32;3401    } & Struct;3402    readonly isSponsorContract: boolean;3403    readonly asSponsorContract: {3404      readonly contractId: H160;3405    } & Struct;3406    readonly isStopSponsoringContract: boolean;3407    readonly asStopSponsoringContract: {3408      readonly contractId: H160;3409    } & Struct;3410    readonly isPayoutStakers: boolean;3411    readonly asPayoutStakers: {3412      readonly stakersNumber: Option<u8>;3413    } & Struct;3414    readonly isUnstakePartial: boolean;3415    readonly asUnstakePartial: {3416      readonly amount: u128;3417    } & Struct;3418    readonly isForceUnstake: boolean;3419    readonly asForceUnstake: {3420      readonly pendingBlocks: Vec<u32>;3421    } & Struct;3422    readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake';3423  }34243425  /** @name PalletForeignAssetsModuleCall (333) */3426  interface PalletForeignAssetsModuleCall extends Enum {3427    readonly isRegisterForeignAsset: boolean;3428    readonly asRegisterForeignAsset: {3429      readonly owner: AccountId32;3430      readonly location: XcmVersionedMultiLocation;3431      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3432    } & Struct;3433    readonly isUpdateForeignAsset: boolean;3434    readonly asUpdateForeignAsset: {3435      readonly foreignAssetId: u32;3436      readonly location: XcmVersionedMultiLocation;3437      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3438    } & Struct;3439    readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';3440  }34413442  /** @name PalletForeignAssetsModuleAssetMetadata (334) */3443  interface PalletForeignAssetsModuleAssetMetadata extends Struct {3444    readonly name: Bytes;3445    readonly symbol: Bytes;3446    readonly decimals: u8;3447    readonly minimalBalance: u128;3448  }34493450  /** @name PalletEvmCall (337) */3451  interface PalletEvmCall extends Enum {3452    readonly isWithdraw: boolean;3453    readonly asWithdraw: {3454      readonly address: H160;3455      readonly value: u128;3456    } & Struct;3457    readonly isCall: boolean;3458    readonly asCall: {3459      readonly source: H160;3460      readonly target: H160;3461      readonly input: Bytes;3462      readonly value: U256;3463      readonly gasLimit: u64;3464      readonly maxFeePerGas: U256;3465      readonly maxPriorityFeePerGas: Option<U256>;3466      readonly nonce: Option<U256>;3467      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3468    } & Struct;3469    readonly isCreate: boolean;3470    readonly asCreate: {3471      readonly source: H160;3472      readonly init: Bytes;3473      readonly value: U256;3474      readonly gasLimit: u64;3475      readonly maxFeePerGas: U256;3476      readonly maxPriorityFeePerGas: Option<U256>;3477      readonly nonce: Option<U256>;3478      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3479    } & Struct;3480    readonly isCreate2: boolean;3481    readonly asCreate2: {3482      readonly source: H160;3483      readonly init: Bytes;3484      readonly salt: H256;3485      readonly value: U256;3486      readonly gasLimit: u64;3487      readonly maxFeePerGas: U256;3488      readonly maxPriorityFeePerGas: Option<U256>;3489      readonly nonce: Option<U256>;3490      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3491    } & Struct;3492    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3493  }34943495  /** @name PalletEthereumCall (344) */3496  interface PalletEthereumCall extends Enum {3497    readonly isTransact: boolean;3498    readonly asTransact: {3499      readonly transaction: EthereumTransactionTransactionV2;3500    } & Struct;3501    readonly type: 'Transact';3502  }35033504  /** @name EthereumTransactionTransactionV2 (345) */3505  interface EthereumTransactionTransactionV2 extends Enum {3506    readonly isLegacy: boolean;3507    readonly asLegacy: EthereumTransactionLegacyTransaction;3508    readonly isEip2930: boolean;3509    readonly asEip2930: EthereumTransactionEip2930Transaction;3510    readonly isEip1559: boolean;3511    readonly asEip1559: EthereumTransactionEip1559Transaction;3512    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3513  }35143515  /** @name EthereumTransactionLegacyTransaction (346) */3516  interface EthereumTransactionLegacyTransaction extends Struct {3517    readonly nonce: U256;3518    readonly gasPrice: U256;3519    readonly gasLimit: U256;3520    readonly action: EthereumTransactionTransactionAction;3521    readonly value: U256;3522    readonly input: Bytes;3523    readonly signature: EthereumTransactionTransactionSignature;3524  }35253526  /** @name EthereumTransactionTransactionAction (347) */3527  interface EthereumTransactionTransactionAction extends Enum {3528    readonly isCall: boolean;3529    readonly asCall: H160;3530    readonly isCreate: boolean;3531    readonly type: 'Call' | 'Create';3532  }35333534  /** @name EthereumTransactionTransactionSignature (348) */3535  interface EthereumTransactionTransactionSignature extends Struct {3536    readonly v: u64;3537    readonly r: H256;3538    readonly s: H256;3539  }35403541  /** @name EthereumTransactionEip2930Transaction (350) */3542  interface EthereumTransactionEip2930Transaction extends Struct {3543    readonly chainId: u64;3544    readonly nonce: U256;3545    readonly gasPrice: U256;3546    readonly gasLimit: U256;3547    readonly action: EthereumTransactionTransactionAction;3548    readonly value: U256;3549    readonly input: Bytes;3550    readonly accessList: Vec<EthereumTransactionAccessListItem>;3551    readonly oddYParity: bool;3552    readonly r: H256;3553    readonly s: H256;3554  }35553556  /** @name EthereumTransactionAccessListItem (352) */3557  interface EthereumTransactionAccessListItem extends Struct {3558    readonly address: H160;3559    readonly storageKeys: Vec<H256>;3560  }35613562  /** @name EthereumTransactionEip1559Transaction (353) */3563  interface EthereumTransactionEip1559Transaction extends Struct {3564    readonly chainId: u64;3565    readonly nonce: U256;3566    readonly maxPriorityFeePerGas: U256;3567    readonly maxFeePerGas: U256;3568    readonly gasLimit: U256;3569    readonly action: EthereumTransactionTransactionAction;3570    readonly value: U256;3571    readonly input: Bytes;3572    readonly accessList: Vec<EthereumTransactionAccessListItem>;3573    readonly oddYParity: bool;3574    readonly r: H256;3575    readonly s: H256;3576  }35773578  /** @name PalletEvmContractHelpersCall (354) */3579  interface PalletEvmContractHelpersCall extends Enum {3580    readonly isMigrateFromSelfSponsoring: boolean;3581    readonly asMigrateFromSelfSponsoring: {3582      readonly addresses: Vec<H160>;3583    } & Struct;3584    readonly type: 'MigrateFromSelfSponsoring';3585  }35863587  /** @name PalletEvmMigrationCall (356) */3588  interface PalletEvmMigrationCall extends Enum {3589    readonly isBegin: boolean;3590    readonly asBegin: {3591      readonly address: H160;3592    } & Struct;3593    readonly isSetData: boolean;3594    readonly asSetData: {3595      readonly address: H160;3596      readonly data: Vec<ITuple<[H256, H256]>>;3597    } & Struct;3598    readonly isFinish: boolean;3599    readonly asFinish: {3600      readonly address: H160;3601      readonly code: Bytes;3602    } & Struct;3603    readonly isInsertEthLogs: boolean;3604    readonly asInsertEthLogs: {3605      readonly logs: Vec<EthereumLog>;3606    } & Struct;3607    readonly isInsertEvents: boolean;3608    readonly asInsertEvents: {3609      readonly events: Vec<Bytes>;3610    } & Struct;3611    readonly isRemoveRmrkData: boolean;3612    readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';3613  }36143615  /** @name EthereumLog (360) */3616  interface EthereumLog extends Struct {3617    readonly address: H160;3618    readonly topics: Vec<H256>;3619    readonly data: Bytes;3620  }36213622  /** @name PalletMaintenanceCall (361) */3623  interface PalletMaintenanceCall extends Enum {3624    readonly isEnable: boolean;3625    readonly isDisable: boolean;3626    readonly isExecutePreimage: boolean;3627    readonly asExecutePreimage: {3628      readonly hash_: H256;3629      readonly weightBound: SpWeightsWeightV2Weight;3630    } & Struct;3631    readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';3632  }36333634  /** @name PalletTestUtilsCall (362) */3635  interface PalletTestUtilsCall extends Enum {3636    readonly isEnable: boolean;3637    readonly isSetTestValue: boolean;3638    readonly asSetTestValue: {3639      readonly value: u32;3640    } & Struct;3641    readonly isSetTestValueAndRollback: boolean;3642    readonly asSetTestValueAndRollback: {3643      readonly value: u32;3644    } & Struct;3645    readonly isIncTestValue: boolean;3646    readonly isJustTakeFee: boolean;3647    readonly isBatchAll: boolean;3648    readonly asBatchAll: {3649      readonly calls: Vec<Call>;3650    } & Struct;3651    readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3652  }36533654  /** @name PalletSchedulerEvent (365) */3655  interface PalletSchedulerEvent extends Enum {3656    readonly isScheduled: boolean;3657    readonly asScheduled: {3658      readonly when: u32;3659      readonly index: u32;3660    } & Struct;3661    readonly isCanceled: boolean;3662    readonly asCanceled: {3663      readonly when: u32;3664      readonly index: u32;3665    } & Struct;3666    readonly isDispatched: boolean;3667    readonly asDispatched: {3668      readonly task: ITuple<[u32, u32]>;3669      readonly id: Option<U8aFixed>;3670      readonly result: Result<Null, SpRuntimeDispatchError>;3671    } & Struct;3672    readonly isCallUnavailable: boolean;3673    readonly asCallUnavailable: {3674      readonly task: ITuple<[u32, u32]>;3675      readonly id: Option<U8aFixed>;3676    } & Struct;3677    readonly isPeriodicFailed: boolean;3678    readonly asPeriodicFailed: {3679      readonly task: ITuple<[u32, u32]>;3680      readonly id: Option<U8aFixed>;3681    } & Struct;3682    readonly isPermanentlyOverweight: boolean;3683    readonly asPermanentlyOverweight: {3684      readonly task: ITuple<[u32, u32]>;3685      readonly id: Option<U8aFixed>;3686    } & Struct;3687    readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight';3688  }36893690  /** @name CumulusPalletXcmpQueueEvent (366) */3691  interface CumulusPalletXcmpQueueEvent extends Enum {3692    readonly isSuccess: boolean;3693    readonly asSuccess: {3694      readonly messageHash: Option<U8aFixed>;3695      readonly weight: SpWeightsWeightV2Weight;3696    } & Struct;3697    readonly isFail: boolean;3698    readonly asFail: {3699      readonly messageHash: Option<U8aFixed>;3700      readonly error: XcmV3TraitsError;3701      readonly weight: SpWeightsWeightV2Weight;3702    } & Struct;3703    readonly isBadVersion: boolean;3704    readonly asBadVersion: {3705      readonly messageHash: Option<U8aFixed>;3706    } & Struct;3707    readonly isBadFormat: boolean;3708    readonly asBadFormat: {3709      readonly messageHash: Option<U8aFixed>;3710    } & Struct;3711    readonly isXcmpMessageSent: boolean;3712    readonly asXcmpMessageSent: {3713      readonly messageHash: Option<U8aFixed>;3714    } & Struct;3715    readonly isOverweightEnqueued: boolean;3716    readonly asOverweightEnqueued: {3717      readonly sender: u32;3718      readonly sentAt: u32;3719      readonly index: u64;3720      readonly required: SpWeightsWeightV2Weight;3721    } & Struct;3722    readonly isOverweightServiced: boolean;3723    readonly asOverweightServiced: {3724      readonly index: u64;3725      readonly used: SpWeightsWeightV2Weight;3726    } & Struct;3727    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';3728  }37293730  /** @name PalletXcmEvent (367) */3731  interface PalletXcmEvent extends Enum {3732    readonly isAttempted: boolean;3733    readonly asAttempted: XcmV3TraitsOutcome;3734    readonly isSent: boolean;3735    readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>;3736    readonly isUnexpectedResponse: boolean;3737    readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>;3738    readonly isResponseReady: boolean;3739    readonly asResponseReady: ITuple<[u64, XcmV3Response]>;3740    readonly isNotified: boolean;3741    readonly asNotified: ITuple<[u64, u8, u8]>;3742    readonly isNotifyOverweight: boolean;3743    readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;3744    readonly isNotifyDispatchError: boolean;3745    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;3746    readonly isNotifyDecodeFailed: boolean;3747    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;3748    readonly isInvalidResponder: boolean;3749    readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option<XcmV3MultiLocation>]>;3750    readonly isInvalidResponderVersion: boolean;3751    readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>;3752    readonly isResponseTaken: boolean;3753    readonly asResponseTaken: u64;3754    readonly isAssetsTrapped: boolean;3755    readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;3756    readonly isVersionChangeNotified: boolean;3757    readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>;3758    readonly isSupportedVersionChanged: boolean;3759    readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>;3760    readonly isNotifyTargetSendFail: boolean;3761    readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>;3762    readonly isNotifyTargetMigrationFail: boolean;3763    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;3764    readonly isInvalidQuerierVersion: boolean;3765    readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>;3766    readonly isInvalidQuerier: boolean;3767    readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option<XcmV3MultiLocation>]>;3768    readonly isVersionNotifyStarted: boolean;3769    readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;3770    readonly isVersionNotifyRequested: boolean;3771    readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;3772    readonly isVersionNotifyUnrequested: boolean;3773    readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;3774    readonly isFeesPaid: boolean;3775    readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>;3776    readonly isAssetsClaimed: boolean;3777    readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>;3778    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';3779  }37803781  /** @name XcmV3TraitsOutcome (368) */3782  interface XcmV3TraitsOutcome extends Enum {3783    readonly isComplete: boolean;3784    readonly asComplete: SpWeightsWeightV2Weight;3785    readonly isIncomplete: boolean;3786    readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>;3787    readonly isError: boolean;3788    readonly asError: XcmV3TraitsError;3789    readonly type: 'Complete' | 'Incomplete' | 'Error';3790  }37913792  /** @name CumulusPalletXcmEvent (369) */3793  interface CumulusPalletXcmEvent extends Enum {3794    readonly isInvalidFormat: boolean;3795    readonly asInvalidFormat: U8aFixed;3796    readonly isUnsupportedVersion: boolean;3797    readonly asUnsupportedVersion: U8aFixed;3798    readonly isExecutedDownward: boolean;3799    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>;3800    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';3801  }38023803  /** @name CumulusPalletDmpQueueEvent (370) */3804  interface CumulusPalletDmpQueueEvent extends Enum {3805    readonly isInvalidFormat: boolean;3806    readonly asInvalidFormat: {3807      readonly messageId: U8aFixed;3808    } & Struct;3809    readonly isUnsupportedVersion: boolean;3810    readonly asUnsupportedVersion: {3811      readonly messageId: U8aFixed;3812    } & Struct;3813    readonly isExecutedDownward: boolean;3814    readonly asExecutedDownward: {3815      readonly messageId: U8aFixed;3816      readonly outcome: XcmV3TraitsOutcome;3817    } & Struct;3818    readonly isWeightExhausted: boolean;3819    readonly asWeightExhausted: {3820      readonly messageId: U8aFixed;3821      readonly remainingWeight: SpWeightsWeightV2Weight;3822      readonly requiredWeight: SpWeightsWeightV2Weight;3823    } & Struct;3824    readonly isOverweightEnqueued: boolean;3825    readonly asOverweightEnqueued: {3826      readonly messageId: U8aFixed;3827      readonly overweightIndex: u64;3828      readonly requiredWeight: SpWeightsWeightV2Weight;3829    } & Struct;3830    readonly isOverweightServiced: boolean;3831    readonly asOverweightServiced: {3832      readonly overweightIndex: u64;3833      readonly weightUsed: SpWeightsWeightV2Weight;3834    } & Struct;3835    readonly isMaxMessagesExhausted: boolean;3836    readonly asMaxMessagesExhausted: {3837      readonly messageId: U8aFixed;3838    } & Struct;3839    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted';3840  }38413842  /** @name PalletConfigurationEvent (371) */3843  interface PalletConfigurationEvent extends Enum {3844    readonly isNewDesiredCollators: boolean;3845    readonly asNewDesiredCollators: {3846      readonly desiredCollators: Option<u32>;3847    } & Struct;3848    readonly isNewCollatorLicenseBond: boolean;3849    readonly asNewCollatorLicenseBond: {3850      readonly bondCost: Option<u128>;3851    } & Struct;3852    readonly isNewCollatorKickThreshold: boolean;3853    readonly asNewCollatorKickThreshold: {3854      readonly lengthInBlocks: Option<u32>;3855    } & Struct;3856    readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';3857  }38583859  /** @name PalletCommonEvent (372) */3860  interface PalletCommonEvent extends Enum {3861    readonly isCollectionCreated: boolean;3862    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;3863    readonly isCollectionDestroyed: boolean;3864    readonly asCollectionDestroyed: u32;3865    readonly isItemCreated: boolean;3866    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;3867    readonly isItemDestroyed: boolean;3868    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;3869    readonly isTransfer: boolean;3870    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;3871    readonly isApproved: boolean;3872    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;3873    readonly isApprovedForAll: boolean;3874    readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;3875    readonly isCollectionPropertySet: boolean;3876    readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;3877    readonly isCollectionPropertyDeleted: boolean;3878    readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;3879    readonly isTokenPropertySet: boolean;3880    readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;3881    readonly isTokenPropertyDeleted: boolean;3882    readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;3883    readonly isPropertyPermissionSet: boolean;3884    readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;3885    readonly isAllowListAddressAdded: boolean;3886    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;3887    readonly isAllowListAddressRemoved: boolean;3888    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;3889    readonly isCollectionAdminAdded: boolean;3890    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;3891    readonly isCollectionAdminRemoved: boolean;3892    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;3893    readonly isCollectionLimitSet: boolean;3894    readonly asCollectionLimitSet: u32;3895    readonly isCollectionOwnerChanged: boolean;3896    readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>;3897    readonly isCollectionPermissionSet: boolean;3898    readonly asCollectionPermissionSet: u32;3899    readonly isCollectionSponsorSet: boolean;3900    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;3901    readonly isSponsorshipConfirmed: boolean;3902    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;3903    readonly isCollectionSponsorRemoved: boolean;3904    readonly asCollectionSponsorRemoved: u32;3905    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';3906  }39073908  /** @name PalletStructureEvent (373) */3909  interface PalletStructureEvent extends Enum {3910    readonly isExecuted: boolean;3911    readonly asExecuted: Result<Null, SpRuntimeDispatchError>;3912    readonly type: 'Executed';3913  }39143915  /** @name PalletAppPromotionEvent (374) */3916  interface PalletAppPromotionEvent extends Enum {3917    readonly isStakingRecalculation: boolean;3918    readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;3919    readonly isStake: boolean;3920    readonly asStake: ITuple<[AccountId32, u128]>;3921    readonly isUnstake: boolean;3922    readonly asUnstake: ITuple<[AccountId32, u128]>;3923    readonly isSetAdmin: boolean;3924    readonly asSetAdmin: AccountId32;3925    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';3926  }39273928  /** @name PalletForeignAssetsModuleEvent (375) */3929  interface PalletForeignAssetsModuleEvent extends Enum {3930    readonly isForeignAssetRegistered: boolean;3931    readonly asForeignAssetRegistered: {3932      readonly assetId: u32;3933      readonly assetAddress: XcmV3MultiLocation;3934      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3935    } & Struct;3936    readonly isForeignAssetUpdated: boolean;3937    readonly asForeignAssetUpdated: {3938      readonly assetId: u32;3939      readonly assetAddress: XcmV3MultiLocation;3940      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3941    } & Struct;3942    readonly isAssetRegistered: boolean;3943    readonly asAssetRegistered: {3944      readonly assetId: PalletForeignAssetsAssetIds;3945      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3946    } & Struct;3947    readonly isAssetUpdated: boolean;3948    readonly asAssetUpdated: {3949      readonly assetId: PalletForeignAssetsAssetIds;3950      readonly metadata: PalletForeignAssetsModuleAssetMetadata;3951    } & Struct;3952    readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';3953  }39543955  /** @name PalletEvmEvent (376) */3956  interface PalletEvmEvent extends Enum {3957    readonly isLog: boolean;3958    readonly asLog: {3959      readonly log: EthereumLog;3960    } & Struct;3961    readonly isCreated: boolean;3962    readonly asCreated: {3963      readonly address: H160;3964    } & Struct;3965    readonly isCreatedFailed: boolean;3966    readonly asCreatedFailed: {3967      readonly address: H160;3968    } & Struct;3969    readonly isExecuted: boolean;3970    readonly asExecuted: {3971      readonly address: H160;3972    } & Struct;3973    readonly isExecutedFailed: boolean;3974    readonly asExecutedFailed: {3975      readonly address: H160;3976    } & Struct;3977    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';3978  }39793980  /** @name PalletEthereumEvent (377) */3981  interface PalletEthereumEvent extends Enum {3982    readonly isExecuted: boolean;3983    readonly asExecuted: {3984      readonly from: H160;3985      readonly to: H160;3986      readonly transactionHash: H256;3987      readonly exitReason: EvmCoreErrorExitReason;3988      readonly extraData: Bytes;3989    } & Struct;3990    readonly type: 'Executed';3991  }39923993  /** @name EvmCoreErrorExitReason (378) */3994  interface EvmCoreErrorExitReason extends Enum {3995    readonly isSucceed: boolean;3996    readonly asSucceed: EvmCoreErrorExitSucceed;3997    readonly isError: boolean;3998    readonly asError: EvmCoreErrorExitError;3999    readonly isRevert: boolean;4000    readonly asRevert: EvmCoreErrorExitRevert;4001    readonly isFatal: boolean;4002    readonly asFatal: EvmCoreErrorExitFatal;4003    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';4004  }40054006  /** @name EvmCoreErrorExitSucceed (379) */4007  interface EvmCoreErrorExitSucceed extends Enum {4008    readonly isStopped: boolean;4009    readonly isReturned: boolean;4010    readonly isSuicided: boolean;4011    readonly type: 'Stopped' | 'Returned' | 'Suicided';4012  }40134014  /** @name EvmCoreErrorExitError (380) */4015  interface EvmCoreErrorExitError extends Enum {4016    readonly isStackUnderflow: boolean;4017    readonly isStackOverflow: boolean;4018    readonly isInvalidJump: boolean;4019    readonly isInvalidRange: boolean;4020    readonly isDesignatedInvalid: boolean;4021    readonly isCallTooDeep: boolean;4022    readonly isCreateCollision: boolean;4023    readonly isCreateContractLimit: boolean;4024    readonly isOutOfOffset: boolean;4025    readonly isOutOfGas: boolean;4026    readonly isOutOfFund: boolean;4027    readonly isPcUnderflow: boolean;4028    readonly isCreateEmpty: boolean;4029    readonly isOther: boolean;4030    readonly asOther: Text;4031    readonly isMaxNonce: boolean;4032    readonly isInvalidCode: boolean;4033    readonly asInvalidCode: u8;4034    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode';4035  }40364037  /** @name EvmCoreErrorExitRevert (384) */4038  interface EvmCoreErrorExitRevert extends Enum {4039    readonly isReverted: boolean;4040    readonly type: 'Reverted';4041  }40424043  /** @name EvmCoreErrorExitFatal (385) */4044  interface EvmCoreErrorExitFatal extends Enum {4045    readonly isNotSupported: boolean;4046    readonly isUnhandledInterrupt: boolean;4047    readonly isCallErrorAsFatal: boolean;4048    readonly asCallErrorAsFatal: EvmCoreErrorExitError;4049    readonly isOther: boolean;4050    readonly asOther: Text;4051    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';4052  }40534054  /** @name PalletEvmContractHelpersEvent (386) */4055  interface PalletEvmContractHelpersEvent extends Enum {4056    readonly isContractSponsorSet: boolean;4057    readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;4058    readonly isContractSponsorshipConfirmed: boolean;4059    readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;4060    readonly isContractSponsorRemoved: boolean;4061    readonly asContractSponsorRemoved: H160;4062    readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';4063  }40644065  /** @name PalletEvmMigrationEvent (387) */4066  interface PalletEvmMigrationEvent extends Enum {4067    readonly isTestEvent: boolean;4068    readonly type: 'TestEvent';4069  }40704071  /** @name PalletMaintenanceEvent (388) */4072  interface PalletMaintenanceEvent extends Enum {4073    readonly isMaintenanceEnabled: boolean;4074    readonly isMaintenanceDisabled: boolean;4075    readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';4076  }40774078  /** @name PalletTestUtilsEvent (389) */4079  interface PalletTestUtilsEvent extends Enum {4080    readonly isValueIsSet: boolean;4081    readonly isShouldRollback: boolean;4082    readonly isBatchCompleted: boolean;4083    readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';4084  }40854086  /** @name FrameSystemPhase (390) */4087  interface FrameSystemPhase extends Enum {4088    readonly isApplyExtrinsic: boolean;4089    readonly asApplyExtrinsic: u32;4090    readonly isFinalization: boolean;4091    readonly isInitialization: boolean;4092    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';4093  }40944095  /** @name FrameSystemLastRuntimeUpgradeInfo (392) */4096  interface FrameSystemLastRuntimeUpgradeInfo extends Struct {4097    readonly specVersion: Compact<u32>;4098    readonly specName: Text;4099  }41004101  /** @name FrameSystemLimitsBlockWeights (393) */4102  interface FrameSystemLimitsBlockWeights extends Struct {4103    readonly baseBlock: SpWeightsWeightV2Weight;4104    readonly maxBlock: SpWeightsWeightV2Weight;4105    readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;4106  }41074108  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (394) */4109  interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {4110    readonly normal: FrameSystemLimitsWeightsPerClass;4111    readonly operational: FrameSystemLimitsWeightsPerClass;4112    readonly mandatory: FrameSystemLimitsWeightsPerClass;4113  }41144115  /** @name FrameSystemLimitsWeightsPerClass (395) */4116  interface FrameSystemLimitsWeightsPerClass extends Struct {4117    readonly baseExtrinsic: SpWeightsWeightV2Weight;4118    readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;4119    readonly maxTotal: Option<SpWeightsWeightV2Weight>;4120    readonly reserved: Option<SpWeightsWeightV2Weight>;4121  }41224123  /** @name FrameSystemLimitsBlockLength (397) */4124  interface FrameSystemLimitsBlockLength extends Struct {4125    readonly max: FrameSupportDispatchPerDispatchClassU32;4126  }41274128  /** @name FrameSupportDispatchPerDispatchClassU32 (398) */4129  interface FrameSupportDispatchPerDispatchClassU32 extends Struct {4130    readonly normal: u32;4131    readonly operational: u32;4132    readonly mandatory: u32;4133  }41344135  /** @name SpWeightsRuntimeDbWeight (399) */4136  interface SpWeightsRuntimeDbWeight extends Struct {4137    readonly read: u64;4138    readonly write: u64;4139  }41404141  /** @name SpVersionRuntimeVersion (400) */4142  interface SpVersionRuntimeVersion extends Struct {4143    readonly specName: Text;4144    readonly implName: Text;4145    readonly authoringVersion: u32;4146    readonly specVersion: u32;4147    readonly implVersion: u32;4148    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;4149    readonly transactionVersion: u32;4150    readonly stateVersion: u8;4151  }41524153  /** @name FrameSystemError (404) */4154  interface FrameSystemError extends Enum {4155    readonly isInvalidSpecName: boolean;4156    readonly isSpecVersionNeedsToIncrease: boolean;4157    readonly isFailedToExtractRuntimeVersion: boolean;4158    readonly isNonDefaultComposite: boolean;4159    readonly isNonZeroRefCount: boolean;4160    readonly isCallFiltered: boolean;4161    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';4162  }41634164  /** @name PolkadotPrimitivesV4UpgradeRestriction (406) */4165  interface PolkadotPrimitivesV4UpgradeRestriction extends Enum {4166    readonly isPresent: boolean;4167    readonly type: 'Present';4168  }41694170  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (407) */4171  interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {4172    readonly dmqMqcHead: H256;4173    readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;4174    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;4175    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;4176  }41774178  /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (408) */4179  interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {4180    readonly remainingCount: u32;4181    readonly remainingSize: u32;4182  }41834184  /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (411) */4185  interface PolkadotPrimitivesV4AbridgedHrmpChannel extends Struct {4186    readonly maxCapacity: u32;4187    readonly maxTotalSize: u32;4188    readonly maxMessageSize: u32;4189    readonly msgCount: u32;4190    readonly totalSize: u32;4191    readonly mqcHead: Option<H256>;4192  }41934194  /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (412) */4195  interface PolkadotPrimitivesV4AbridgedHostConfiguration extends Struct {4196    readonly maxCodeSize: u32;4197    readonly maxHeadDataSize: u32;4198    readonly maxUpwardQueueCount: u32;4199    readonly maxUpwardQueueSize: u32;4200    readonly maxUpwardMessageSize: u32;4201    readonly maxUpwardMessageNumPerCandidate: u32;4202    readonly hrmpMaxMessageNumPerCandidate: u32;4203    readonly validationUpgradeCooldown: u32;4204    readonly validationUpgradeDelay: u32;4205  }42064207  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (418) */4208  interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {4209    readonly recipient: u32;4210    readonly data: Bytes;4211  }42124213  /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (419) */4214  interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct {4215    readonly codeHash: H256;4216    readonly checkVersion: bool;4217  }42184219  /** @name CumulusPalletParachainSystemError (420) */4220  interface CumulusPalletParachainSystemError extends Enum {4221    readonly isOverlappingUpgrades: boolean;4222    readonly isProhibitedByPolkadot: boolean;4223    readonly isTooBig: boolean;4224    readonly isValidationDataNotAvailable: boolean;4225    readonly isHostConfigurationNotAvailable: boolean;4226    readonly isNotScheduled: boolean;4227    readonly isNothingAuthorized: boolean;4228    readonly isUnauthorized: boolean;4229    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';4230  }42314232  /** @name PalletCollatorSelectionError (422) */4233  interface PalletCollatorSelectionError extends Enum {4234    readonly isTooManyCandidates: boolean;4235    readonly isUnknown: boolean;4236    readonly isPermission: boolean;4237    readonly isAlreadyHoldingLicense: boolean;4238    readonly isNoLicense: boolean;4239    readonly isAlreadyCandidate: boolean;4240    readonly isNotCandidate: boolean;4241    readonly isTooManyInvulnerables: boolean;4242    readonly isTooFewInvulnerables: boolean;4243    readonly isAlreadyInvulnerable: boolean;4244    readonly isNotInvulnerable: boolean;4245    readonly isNoAssociatedValidatorId: boolean;4246    readonly isValidatorNotRegistered: boolean;4247    readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';4248  }42494250  /** @name SpCoreCryptoKeyTypeId (426) */4251  interface SpCoreCryptoKeyTypeId extends U8aFixed {}42524253  /** @name PalletSessionError (427) */4254  interface PalletSessionError extends Enum {4255    readonly isInvalidProof: boolean;4256    readonly isNoAssociatedValidatorId: boolean;4257    readonly isDuplicatedKey: boolean;4258    readonly isNoKeys: boolean;4259    readonly isNoAccount: boolean;4260    readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';4261  }42624263  /** @name PalletBalancesBalanceLock (432) */4264  interface PalletBalancesBalanceLock extends Struct {4265    readonly id: U8aFixed;4266    readonly amount: u128;4267    readonly reasons: PalletBalancesReasons;4268  }42694270  /** @name PalletBalancesReasons (433) */4271  interface PalletBalancesReasons extends Enum {4272    readonly isFee: boolean;4273    readonly isMisc: boolean;4274    readonly isAll: boolean;4275    readonly type: 'Fee' | 'Misc' | 'All';4276  }42774278  /** @name PalletBalancesReserveData (436) */4279  interface PalletBalancesReserveData extends Struct {4280    readonly id: U8aFixed;4281    readonly amount: u128;4282  }42834284  /** @name PalletBalancesIdAmount (439) */4285  interface PalletBalancesIdAmount extends Struct {4286    readonly id: U8aFixed;4287    readonly amount: u128;4288  }42894290  /** @name PalletBalancesError (442) */4291  interface PalletBalancesError extends Enum {4292    readonly isVestingBalance: boolean;4293    readonly isLiquidityRestrictions: boolean;4294    readonly isInsufficientBalance: boolean;4295    readonly isExistentialDeposit: boolean;4296    readonly isExpendability: boolean;4297    readonly isExistingVestingSchedule: boolean;4298    readonly isDeadAccount: boolean;4299    readonly isTooManyReserves: boolean;4300    readonly isTooManyHolds: boolean;4301    readonly isTooManyFreezes: boolean;4302    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes';4303  }43044305  /** @name PalletTransactionPaymentReleases (444) */4306  interface PalletTransactionPaymentReleases extends Enum {4307    readonly isV1Ancient: boolean;4308    readonly isV2: boolean;4309    readonly type: 'V1Ancient' | 'V2';4310  }43114312  /** @name PalletTreasuryProposal (445) */4313  interface PalletTreasuryProposal extends Struct {4314    readonly proposer: AccountId32;4315    readonly value: u128;4316    readonly beneficiary: AccountId32;4317    readonly bond: u128;4318  }43194320  /** @name FrameSupportPalletId (448) */4321  interface FrameSupportPalletId extends U8aFixed {}43224323  /** @name PalletTreasuryError (449) */4324  interface PalletTreasuryError extends Enum {4325    readonly isInsufficientProposersBalance: boolean;4326    readonly isInvalidIndex: boolean;4327    readonly isTooManyApprovals: boolean;4328    readonly isInsufficientPermission: boolean;4329    readonly isProposalNotApproved: boolean;4330    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';4331  }43324333  /** @name PalletSudoError (450) */4334  interface PalletSudoError extends Enum {4335    readonly isRequireSudo: boolean;4336    readonly type: 'RequireSudo';4337  }43384339  /** @name OrmlVestingModuleError (452) */4340  interface OrmlVestingModuleError extends Enum {4341    readonly isZeroVestingPeriod: boolean;4342    readonly isZeroVestingPeriodCount: boolean;4343    readonly isInsufficientBalanceToLock: boolean;4344    readonly isTooManyVestingSchedules: boolean;4345    readonly isAmountLow: boolean;4346    readonly isMaxVestingSchedulesExceeded: boolean;4347    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';4348  }43494350  /** @name OrmlXtokensModuleError (453) */4351  interface OrmlXtokensModuleError extends Enum {4352    readonly isAssetHasNoReserve: boolean;4353    readonly isNotCrossChainTransfer: boolean;4354    readonly isInvalidDest: boolean;4355    readonly isNotCrossChainTransferableCurrency: boolean;4356    readonly isUnweighableMessage: boolean;4357    readonly isXcmExecutionFailed: boolean;4358    readonly isCannotReanchor: boolean;4359    readonly isInvalidAncestry: boolean;4360    readonly isInvalidAsset: boolean;4361    readonly isDestinationNotInvertible: boolean;4362    readonly isBadVersion: boolean;4363    readonly isDistinctReserveForAssetAndFee: boolean;4364    readonly isZeroFee: boolean;4365    readonly isZeroAmount: boolean;4366    readonly isTooManyAssetsBeingSent: boolean;4367    readonly isAssetIndexNonExistent: boolean;4368    readonly isFeeNotEnough: boolean;4369    readonly isNotSupportedMultiLocation: boolean;4370    readonly isMinXcmFeeNotDefined: boolean;4371    readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';4372  }43734374  /** @name OrmlTokensBalanceLock (456) */4375  interface OrmlTokensBalanceLock extends Struct {4376    readonly id: U8aFixed;4377    readonly amount: u128;4378  }43794380  /** @name OrmlTokensAccountData (458) */4381  interface OrmlTokensAccountData extends Struct {4382    readonly free: u128;4383    readonly reserved: u128;4384    readonly frozen: u128;4385  }43864387  /** @name OrmlTokensReserveData (460) */4388  interface OrmlTokensReserveData extends Struct {4389    readonly id: Null;4390    readonly amount: u128;4391  }43924393  /** @name OrmlTokensModuleError (462) */4394  interface OrmlTokensModuleError extends Enum {4395    readonly isBalanceTooLow: boolean;4396    readonly isAmountIntoBalanceFailed: boolean;4397    readonly isLiquidityRestrictions: boolean;4398    readonly isMaxLocksExceeded: boolean;4399    readonly isKeepAlive: boolean;4400    readonly isExistentialDeposit: boolean;4401    readonly isDeadAccount: boolean;4402    readonly isTooManyReserves: boolean;4403    readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';4404  }44054406  /** @name PalletIdentityRegistrarInfo (467) */4407  interface PalletIdentityRegistrarInfo extends Struct {4408    readonly account: AccountId32;4409    readonly fee: u128;4410    readonly fields: PalletIdentityBitFlags;4411  }44124413  /** @name PalletIdentityError (469) */4414  interface PalletIdentityError extends Enum {4415    readonly isTooManySubAccounts: boolean;4416    readonly isNotFound: boolean;4417    readonly isNotNamed: boolean;4418    readonly isEmptyIndex: boolean;4419    readonly isFeeChanged: boolean;4420    readonly isNoIdentity: boolean;4421    readonly isStickyJudgement: boolean;4422    readonly isJudgementGiven: boolean;4423    readonly isInvalidJudgement: boolean;4424    readonly isInvalidIndex: boolean;4425    readonly isInvalidTarget: boolean;4426    readonly isTooManyFields: boolean;4427    readonly isTooManyRegistrars: boolean;4428    readonly isAlreadyClaimed: boolean;4429    readonly isNotSub: boolean;4430    readonly isNotOwned: boolean;4431    readonly isJudgementForDifferentIdentity: boolean;4432    readonly isJudgementPaymentFailed: boolean;4433    readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed';4434  }44354436  /** @name PalletPreimageRequestStatus (470) */4437  interface PalletPreimageRequestStatus extends Enum {4438    readonly isUnrequested: boolean;4439    readonly asUnrequested: {4440      readonly deposit: ITuple<[AccountId32, u128]>;4441      readonly len: u32;4442    } & Struct;4443    readonly isRequested: boolean;4444    readonly asRequested: {4445      readonly deposit: Option<ITuple<[AccountId32, u128]>>;4446      readonly count: u32;4447      readonly len: Option<u32>;4448    } & Struct;4449    readonly type: 'Unrequested' | 'Requested';4450  }44514452  /** @name PalletPreimageError (475) */4453  interface PalletPreimageError extends Enum {4454    readonly isTooBig: boolean;4455    readonly isAlreadyNoted: boolean;4456    readonly isNotAuthorized: boolean;4457    readonly isNotNoted: boolean;4458    readonly isRequested: boolean;4459    readonly isNotRequested: boolean;4460    readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested';4461  }44624463  /** @name PalletDemocracyReferendumInfo (481) */4464  interface PalletDemocracyReferendumInfo extends Enum {4465    readonly isOngoing: boolean;4466    readonly asOngoing: PalletDemocracyReferendumStatus;4467    readonly isFinished: boolean;4468    readonly asFinished: {4469      readonly approved: bool;4470      readonly end: u32;4471    } & Struct;4472    readonly type: 'Ongoing' | 'Finished';4473  }44744475  /** @name PalletDemocracyReferendumStatus (482) */4476  interface PalletDemocracyReferendumStatus extends Struct {4477    readonly end: u32;4478    readonly proposal: FrameSupportPreimagesBounded;4479    readonly threshold: PalletDemocracyVoteThreshold;4480    readonly delay: u32;4481    readonly tally: PalletDemocracyTally;4482  }44834484  /** @name PalletDemocracyTally (483) */4485  interface PalletDemocracyTally extends Struct {4486    readonly ayes: u128;4487    readonly nays: u128;4488    readonly turnout: u128;4489  }44904491  /** @name PalletDemocracyVoteVoting (484) */4492  interface PalletDemocracyVoteVoting extends Enum {4493    readonly isDirect: boolean;4494    readonly asDirect: {4495      readonly votes: Vec<ITuple<[u32, PalletDemocracyVoteAccountVote]>>;4496      readonly delegations: PalletDemocracyDelegations;4497      readonly prior: PalletDemocracyVotePriorLock;4498    } & Struct;4499    readonly isDelegating: boolean;4500    readonly asDelegating: {4501      readonly balance: u128;4502      readonly target: AccountId32;4503      readonly conviction: PalletDemocracyConviction;4504      readonly delegations: PalletDemocracyDelegations;4505      readonly prior: PalletDemocracyVotePriorLock;4506    } & Struct;4507    readonly type: 'Direct' | 'Delegating';4508  }45094510  /** @name PalletDemocracyDelegations (488) */4511  interface PalletDemocracyDelegations extends Struct {4512    readonly votes: u128;4513    readonly capital: u128;4514  }45154516  /** @name PalletDemocracyVotePriorLock (489) */4517  interface PalletDemocracyVotePriorLock extends ITuple<[u32, u128]> {}45184519  /** @name PalletDemocracyError (492) */4520  interface PalletDemocracyError extends Enum {4521    readonly isValueLow: boolean;4522    readonly isProposalMissing: boolean;4523    readonly isAlreadyCanceled: boolean;4524    readonly isDuplicateProposal: boolean;4525    readonly isProposalBlacklisted: boolean;4526    readonly isNotSimpleMajority: boolean;4527    readonly isInvalidHash: boolean;4528    readonly isNoProposal: boolean;4529    readonly isAlreadyVetoed: boolean;4530    readonly isReferendumInvalid: boolean;4531    readonly isNoneWaiting: boolean;4532    readonly isNotVoter: boolean;4533    readonly isNoPermission: boolean;4534    readonly isAlreadyDelegating: boolean;4535    readonly isInsufficientFunds: boolean;4536    readonly isNotDelegating: boolean;4537    readonly isVotesExist: boolean;4538    readonly isInstantNotAllowed: boolean;4539    readonly isNonsense: boolean;4540    readonly isWrongUpperBound: boolean;4541    readonly isMaxVotesReached: boolean;4542    readonly isTooMany: boolean;4543    readonly isVotingPeriodLow: boolean;4544    readonly isPreimageNotExist: boolean;4545    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';4546  }45474548  /** @name PalletCollectiveVotes (494) */4549  interface PalletCollectiveVotes extends Struct {4550    readonly index: u32;4551    readonly threshold: u32;4552    readonly ayes: Vec<AccountId32>;4553    readonly nays: Vec<AccountId32>;4554    readonly end: u32;4555  }45564557  /** @name PalletCollectiveError (495) */4558  interface PalletCollectiveError extends Enum {4559    readonly isNotMember: boolean;4560    readonly isDuplicateProposal: boolean;4561    readonly isProposalMissing: boolean;4562    readonly isWrongIndex: boolean;4563    readonly isDuplicateVote: boolean;4564    readonly isAlreadyInitialized: boolean;4565    readonly isTooEarly: boolean;4566    readonly isTooManyProposals: boolean;4567    readonly isWrongProposalWeight: boolean;4568    readonly isWrongProposalLength: boolean;4569    readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength';4570  }45714572  /** @name PalletMembershipError (499) */4573  interface PalletMembershipError extends Enum {4574    readonly isAlreadyMember: boolean;4575    readonly isNotMember: boolean;4576    readonly isTooManyMembers: boolean;4577    readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers';4578  }45794580  /** @name PalletRankedCollectiveMemberRecord (502) */4581  interface PalletRankedCollectiveMemberRecord extends Struct {4582    readonly rank: u16;4583  }45844585  /** @name PalletRankedCollectiveError (507) */4586  interface PalletRankedCollectiveError extends Enum {4587    readonly isAlreadyMember: boolean;4588    readonly isNotMember: boolean;4589    readonly isNotPolling: boolean;4590    readonly isOngoing: boolean;4591    readonly isNoneRemaining: boolean;4592    readonly isCorruption: boolean;4593    readonly isRankTooLow: boolean;4594    readonly isInvalidWitness: boolean;4595    readonly isNoPermission: boolean;4596    readonly type: 'AlreadyMember' | 'NotMember' | 'NotPolling' | 'Ongoing' | 'NoneRemaining' | 'Corruption' | 'RankTooLow' | 'InvalidWitness' | 'NoPermission';4597  }45984599  /** @name PalletReferendaReferendumInfo (508) */4600  interface PalletReferendaReferendumInfo extends Enum {4601    readonly isOngoing: boolean;4602    readonly asOngoing: PalletReferendaReferendumStatus;4603    readonly isApproved: boolean;4604    readonly asApproved: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;4605    readonly isRejected: boolean;4606    readonly asRejected: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;4607    readonly isCancelled: boolean;4608    readonly asCancelled: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;4609    readonly isTimedOut: boolean;4610    readonly asTimedOut: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;4611    readonly isKilled: boolean;4612    readonly asKilled: u32;4613    readonly type: 'Ongoing' | 'Approved' | 'Rejected' | 'Cancelled' | 'TimedOut' | 'Killed';4614  }46154616  /** @name PalletReferendaReferendumStatus (509) */4617  interface PalletReferendaReferendumStatus extends Struct {4618    readonly track: u16;4619    readonly origin: QuartzRuntimeOriginCaller;4620    readonly proposal: FrameSupportPreimagesBounded;4621    readonly enactment: FrameSupportScheduleDispatchTime;4622    readonly submitted: u32;4623    readonly submissionDeposit: PalletReferendaDeposit;4624    readonly decisionDeposit: Option<PalletReferendaDeposit>;4625    readonly deciding: Option<PalletReferendaDecidingStatus>;4626    readonly tally: PalletRankedCollectiveTally;4627    readonly inQueue: bool;4628    readonly alarm: Option<ITuple<[u32, ITuple<[u32, u32]>]>>;4629  }46304631  /** @name PalletReferendaDeposit (510) */4632  interface PalletReferendaDeposit extends Struct {4633    readonly who: AccountId32;4634    readonly amount: u128;4635  }46364637  /** @name PalletReferendaDecidingStatus (513) */4638  interface PalletReferendaDecidingStatus extends Struct {4639    readonly since: u32;4640    readonly confirming: Option<u32>;4641  }46424643  /** @name PalletReferendaTrackInfo (519) */4644  interface PalletReferendaTrackInfo extends Struct {4645    readonly name: Text;4646    readonly maxDeciding: u32;4647    readonly decisionDeposit: u128;4648    readonly preparePeriod: u32;4649    readonly decisionPeriod: u32;4650    readonly confirmPeriod: u32;4651    readonly minEnactmentPeriod: u32;4652    readonly minApproval: PalletReferendaCurve;4653    readonly minSupport: PalletReferendaCurve;4654  }46554656  /** @name PalletReferendaCurve (520) */4657  interface PalletReferendaCurve extends Enum {4658    readonly isLinearDecreasing: boolean;4659    readonly asLinearDecreasing: {4660      readonly length: Perbill;4661      readonly floor: Perbill;4662      readonly ceil: Perbill;4663    } & Struct;4664    readonly isSteppedDecreasing: boolean;4665    readonly asSteppedDecreasing: {4666      readonly begin: Perbill;4667      readonly end: Perbill;4668      readonly step: Perbill;4669      readonly period: Perbill;4670    } & Struct;4671    readonly isReciprocal: boolean;4672    readonly asReciprocal: {4673      readonly factor: i64;4674      readonly xOffset: i64;4675      readonly yOffset: i64;4676    } & Struct;4677    readonly type: 'LinearDecreasing' | 'SteppedDecreasing' | 'Reciprocal';4678  }46794680  /** @name PalletReferendaError (523) */4681  interface PalletReferendaError extends Enum {4682    readonly isNotOngoing: boolean;4683    readonly isHasDeposit: boolean;4684    readonly isBadTrack: boolean;4685    readonly isFull: boolean;4686    readonly isQueueEmpty: boolean;4687    readonly isBadReferendum: boolean;4688    readonly isNothingToDo: boolean;4689    readonly isNoTrack: boolean;4690    readonly isUnfinished: boolean;4691    readonly isNoPermission: boolean;4692    readonly isNoDeposit: boolean;4693    readonly isBadStatus: boolean;4694    readonly isPreimageNotExist: boolean;4695    readonly type: 'NotOngoing' | 'HasDeposit' | 'BadTrack' | 'Full' | 'QueueEmpty' | 'BadReferendum' | 'NothingToDo' | 'NoTrack' | 'Unfinished' | 'NoPermission' | 'NoDeposit' | 'BadStatus' | 'PreimageNotExist';4696  }46974698  /** @name PalletSchedulerScheduled (526) */4699  interface PalletSchedulerScheduled extends Struct {4700    readonly maybeId: Option<U8aFixed>;4701    readonly priority: u8;4702    readonly call: FrameSupportPreimagesBounded;4703    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;4704    readonly origin: QuartzRuntimeOriginCaller;4705  }47064707  /** @name PalletSchedulerError (528) */4708  interface PalletSchedulerError extends Enum {4709    readonly isFailedToSchedule: boolean;4710    readonly isNotFound: boolean;4711    readonly isTargetBlockNumberInPast: boolean;4712    readonly isRescheduleNoChange: boolean;4713    readonly isNamed: boolean;4714    readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named';4715  }47164717  /** @name CumulusPalletXcmpQueueInboundChannelDetails (530) */4718  interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {4719    readonly sender: u32;4720    readonly state: CumulusPalletXcmpQueueInboundState;4721    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;4722  }47234724  /** @name CumulusPalletXcmpQueueInboundState (531) */4725  interface CumulusPalletXcmpQueueInboundState extends Enum {4726    readonly isOk: boolean;4727    readonly isSuspended: boolean;4728    readonly type: 'Ok' | 'Suspended';4729  }47304731  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (534) */4732  interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {4733    readonly isConcatenatedVersionedXcm: boolean;4734    readonly isConcatenatedEncodedBlob: boolean;4735    readonly isSignals: boolean;4736    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';4737  }47384739  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (537) */4740  interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {4741    readonly recipient: u32;4742    readonly state: CumulusPalletXcmpQueueOutboundState;4743    readonly signalsExist: bool;4744    readonly firstIndex: u16;4745    readonly lastIndex: u16;4746  }47474748  /** @name CumulusPalletXcmpQueueOutboundState (538) */4749  interface CumulusPalletXcmpQueueOutboundState extends Enum {4750    readonly isOk: boolean;4751    readonly isSuspended: boolean;4752    readonly type: 'Ok' | 'Suspended';4753  }47544755  /** @name CumulusPalletXcmpQueueQueueConfigData (540) */4756  interface CumulusPalletXcmpQueueQueueConfigData extends Struct {4757    readonly suspendThreshold: u32;4758    readonly dropThreshold: u32;4759    readonly resumeThreshold: u32;4760    readonly thresholdWeight: SpWeightsWeightV2Weight;4761    readonly weightRestrictDecay: SpWeightsWeightV2Weight;4762    readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;4763  }47644765  /** @name CumulusPalletXcmpQueueError (542) */4766  interface CumulusPalletXcmpQueueError extends Enum {4767    readonly isFailedToSend: boolean;4768    readonly isBadXcmOrigin: boolean;4769    readonly isBadXcm: boolean;4770    readonly isBadOverweightIndex: boolean;4771    readonly isWeightOverLimit: boolean;4772    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';4773  }47744775  /** @name PalletXcmQueryStatus (543) */4776  interface PalletXcmQueryStatus extends Enum {4777    readonly isPending: boolean;4778    readonly asPending: {4779      readonly responder: XcmVersionedMultiLocation;4780      readonly maybeMatchQuerier: Option<XcmVersionedMultiLocation>;4781      readonly maybeNotify: Option<ITuple<[u8, u8]>>;4782      readonly timeout: u32;4783    } & Struct;4784    readonly isVersionNotifier: boolean;4785    readonly asVersionNotifier: {4786      readonly origin: XcmVersionedMultiLocation;4787      readonly isActive: bool;4788    } & Struct;4789    readonly isReady: boolean;4790    readonly asReady: {4791      readonly response: XcmVersionedResponse;4792      readonly at: u32;4793    } & Struct;4794    readonly type: 'Pending' | 'VersionNotifier' | 'Ready';4795  }47964797  /** @name XcmVersionedResponse (547) */4798  interface XcmVersionedResponse extends Enum {4799    readonly isV2: boolean;4800    readonly asV2: XcmV2Response;4801    readonly isV3: boolean;4802    readonly asV3: XcmV3Response;4803    readonly type: 'V2' | 'V3';4804  }48054806  /** @name PalletXcmVersionMigrationStage (553) */4807  interface PalletXcmVersionMigrationStage extends Enum {4808    readonly isMigrateSupportedVersion: boolean;4809    readonly isMigrateVersionNotifiers: boolean;4810    readonly isNotifyCurrentTargets: boolean;4811    readonly asNotifyCurrentTargets: Option<Bytes>;4812    readonly isMigrateAndNotifyOldTargets: boolean;4813    readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets';4814  }48154816  /** @name XcmVersionedAssetId (556) */4817  interface XcmVersionedAssetId extends Enum {4818    readonly isV3: boolean;4819    readonly asV3: XcmV3MultiassetAssetId;4820    readonly type: 'V3';4821  }48224823  /** @name PalletXcmRemoteLockedFungibleRecord (557) */4824  interface PalletXcmRemoteLockedFungibleRecord extends Struct {4825    readonly amount: u128;4826    readonly owner: XcmVersionedMultiLocation;4827    readonly locker: XcmVersionedMultiLocation;4828    readonly consumers: Vec<ITuple<[Null, u128]>>;4829  }48304831  /** @name PalletXcmError (564) */4832  interface PalletXcmError extends Enum {4833    readonly isUnreachable: boolean;4834    readonly isSendFailure: boolean;4835    readonly isFiltered: boolean;4836    readonly isUnweighableMessage: boolean;4837    readonly isDestinationNotInvertible: boolean;4838    readonly isEmpty: boolean;4839    readonly isCannotReanchor: boolean;4840    readonly isTooManyAssets: boolean;4841    readonly isInvalidOrigin: boolean;4842    readonly isBadVersion: boolean;4843    readonly isBadLocation: boolean;4844    readonly isNoSubscription: boolean;4845    readonly isAlreadySubscribed: boolean;4846    readonly isInvalidAsset: boolean;4847    readonly isLowBalance: boolean;4848    readonly isTooManyLocks: boolean;4849    readonly isAccountNotSovereign: boolean;4850    readonly isFeesNotMet: boolean;4851    readonly isLockNotFound: boolean;4852    readonly isInUse: boolean;4853    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse';4854  }48554856  /** @name CumulusPalletXcmError (565) */4857  type CumulusPalletXcmError = Null;48584859  /** @name CumulusPalletDmpQueueConfigData (566) */4860  interface CumulusPalletDmpQueueConfigData extends Struct {4861    readonly maxIndividual: SpWeightsWeightV2Weight;4862  }48634864  /** @name CumulusPalletDmpQueuePageIndexData (567) */4865  interface CumulusPalletDmpQueuePageIndexData extends Struct {4866    readonly beginUsed: u32;4867    readonly endUsed: u32;4868    readonly overweightCount: u64;4869  }48704871  /** @name CumulusPalletDmpQueueError (570) */4872  interface CumulusPalletDmpQueueError extends Enum {4873    readonly isUnknown: boolean;4874    readonly isOverLimit: boolean;4875    readonly type: 'Unknown' | 'OverLimit';4876  }48774878  /** @name PalletUniqueError (574) */4879  interface PalletUniqueError extends Enum {4880    readonly isCollectionDecimalPointLimitExceeded: boolean;4881    readonly isEmptyArgument: boolean;4882    readonly isRepartitionCalledOnNonRefungibleCollection: boolean;4883    readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';4884  }48854886  /** @name PalletConfigurationError (575) */4887  interface PalletConfigurationError extends Enum {4888    readonly isInconsistentConfiguration: boolean;4889    readonly type: 'InconsistentConfiguration';4890  }48914892  /** @name UpDataStructsCollection (576) */4893  interface UpDataStructsCollection extends Struct {4894    readonly owner: AccountId32;4895    readonly mode: UpDataStructsCollectionMode;4896    readonly name: Vec<u16>;4897    readonly description: Vec<u16>;4898    readonly tokenPrefix: Bytes;4899    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;4900    readonly limits: UpDataStructsCollectionLimits;4901    readonly permissions: UpDataStructsCollectionPermissions;4902    readonly flags: U8aFixed;4903  }49044905  /** @name UpDataStructsSponsorshipStateAccountId32 (577) */4906  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {4907    readonly isDisabled: boolean;4908    readonly isUnconfirmed: boolean;4909    readonly asUnconfirmed: AccountId32;4910    readonly isConfirmed: boolean;4911    readonly asConfirmed: AccountId32;4912    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';4913  }49144915  /** @name UpDataStructsProperties (578) */4916  interface UpDataStructsProperties extends Struct {4917    readonly map: UpDataStructsPropertiesMapBoundedVec;4918    readonly consumedSpace: u32;4919    readonly reserved: u32;4920  }49214922  /** @name UpDataStructsPropertiesMapBoundedVec (579) */4923  interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}49244925  /** @name UpDataStructsPropertiesMapPropertyPermission (584) */4926  interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}49274928  /** @name UpDataStructsCollectionStats (591) */4929  interface UpDataStructsCollectionStats extends Struct {4930    readonly created: u32;4931    readonly destroyed: u32;4932    readonly alive: u32;4933  }49344935  /** @name UpDataStructsTokenChild (592) */4936  interface UpDataStructsTokenChild extends Struct {4937    readonly token: u32;4938    readonly collection: u32;4939  }49404941  /** @name PhantomTypeUpDataStructs (593) */4942  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}49434944  /** @name UpDataStructsTokenData (595) */4945  interface UpDataStructsTokenData extends Struct {4946    readonly properties: Vec<UpDataStructsProperty>;4947    readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;4948    readonly pieces: u128;4949  }49504951  /** @name UpDataStructsRpcCollection (596) */4952  interface UpDataStructsRpcCollection extends Struct {4953    readonly owner: AccountId32;4954    readonly mode: UpDataStructsCollectionMode;4955    readonly name: Vec<u16>;4956    readonly description: Vec<u16>;4957    readonly tokenPrefix: Bytes;4958    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;4959    readonly limits: UpDataStructsCollectionLimits;4960    readonly permissions: UpDataStructsCollectionPermissions;4961    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;4962    readonly properties: Vec<UpDataStructsProperty>;4963    readonly readOnly: bool;4964    readonly flags: UpDataStructsRpcCollectionFlags;4965  }49664967  /** @name UpDataStructsRpcCollectionFlags (597) */4968  interface UpDataStructsRpcCollectionFlags extends Struct {4969    readonly foreign: bool;4970    readonly erc721metadata: bool;4971  }49724973  /** @name UpPovEstimateRpcPovInfo (598) */4974  interface UpPovEstimateRpcPovInfo extends Struct {4975    readonly proofSize: u64;4976    readonly compactProofSize: u64;4977    readonly compressedProofSize: u64;4978    readonly results: Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>;4979    readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;4980  }49814982  /** @name SpRuntimeTransactionValidityTransactionValidityError (601) */4983  interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {4984    readonly isInvalid: boolean;4985    readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;4986    readonly isUnknown: boolean;4987    readonly asUnknown: SpRuntimeTransactionValidityUnknownTransaction;4988    readonly type: 'Invalid' | 'Unknown';4989  }49904991  /** @name SpRuntimeTransactionValidityInvalidTransaction (602) */4992  interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {4993    readonly isCall: boolean;4994    readonly isPayment: boolean;4995    readonly isFuture: boolean;4996    readonly isStale: boolean;4997    readonly isBadProof: boolean;4998    readonly isAncientBirthBlock: boolean;4999    readonly isExhaustsResources: boolean;5000    readonly isCustom: boolean;5001    readonly asCustom: u8;5002    readonly isBadMandatory: boolean;5003    readonly isMandatoryValidation: boolean;5004    readonly isBadSigner: boolean;5005    readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';5006  }50075008  /** @name SpRuntimeTransactionValidityUnknownTransaction (603) */5009  interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {5010    readonly isCannotLookup: boolean;5011    readonly isNoUnsignedValidator: boolean;5012    readonly isCustom: boolean;5013    readonly asCustom: u8;5014    readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';5015  }50165017  /** @name UpPovEstimateRpcTrieKeyValue (605) */5018  interface UpPovEstimateRpcTrieKeyValue extends Struct {5019    readonly key: Bytes;5020    readonly value: Bytes;5021  }50225023  /** @name PalletCommonError (607) */5024  interface PalletCommonError extends Enum {5025    readonly isCollectionNotFound: boolean;5026    readonly isMustBeTokenOwner: boolean;5027    readonly isNoPermission: boolean;5028    readonly isCantDestroyNotEmptyCollection: boolean;5029    readonly isPublicMintingNotAllowed: boolean;5030    readonly isAddressNotInAllowlist: boolean;5031    readonly isCollectionNameLimitExceeded: boolean;5032    readonly isCollectionDescriptionLimitExceeded: boolean;5033    readonly isCollectionTokenPrefixLimitExceeded: boolean;5034    readonly isTotalCollectionsLimitExceeded: boolean;5035    readonly isCollectionAdminCountExceeded: boolean;5036    readonly isCollectionLimitBoundsExceeded: boolean;5037    readonly isOwnerPermissionsCantBeReverted: boolean;5038    readonly isTransferNotAllowed: boolean;5039    readonly isAccountTokenLimitExceeded: boolean;5040    readonly isCollectionTokenLimitExceeded: boolean;5041    readonly isMetadataFlagFrozen: boolean;5042    readonly isTokenNotFound: boolean;5043    readonly isTokenValueTooLow: boolean;5044    readonly isApprovedValueTooLow: boolean;5045    readonly isCantApproveMoreThanOwned: boolean;5046    readonly isAddressIsNotEthMirror: boolean;5047    readonly isAddressIsZero: boolean;5048    readonly isUnsupportedOperation: boolean;5049    readonly isNotSufficientFounds: boolean;5050    readonly isUserIsNotAllowedToNest: boolean;5051    readonly isSourceCollectionIsNotAllowedToNest: boolean;5052    readonly isCollectionFieldSizeExceeded: boolean;5053    readonly isNoSpaceForProperty: boolean;5054    readonly isPropertyLimitReached: boolean;5055    readonly isPropertyKeyIsTooLong: boolean;5056    readonly isInvalidCharacterInPropertyKey: boolean;5057    readonly isEmptyPropertyKey: boolean;5058    readonly isCollectionIsExternal: boolean;5059    readonly isCollectionIsInternal: boolean;5060    readonly isConfirmSponsorshipFail: boolean;5061    readonly isUserIsNotCollectionAdmin: boolean;5062    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';5063  }50645065  /** @name PalletFungibleError (609) */5066  interface PalletFungibleError extends Enum {5067    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;5068    readonly isFungibleItemsHaveNoId: boolean;5069    readonly isFungibleItemsDontHaveData: boolean;5070    readonly isFungibleDisallowsNesting: boolean;5071    readonly isSettingPropertiesNotAllowed: boolean;5072    readonly isSettingAllowanceForAllNotAllowed: boolean;5073    readonly isFungibleTokensAreAlwaysValid: boolean;5074    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';5075  }50765077  /** @name PalletRefungibleError (614) */5078  interface PalletRefungibleError extends Enum {5079    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;5080    readonly isWrongRefungiblePieces: boolean;5081    readonly isRepartitionWhileNotOwningAllPieces: boolean;5082    readonly isRefungibleDisallowsNesting: boolean;5083    readonly isSettingPropertiesNotAllowed: boolean;5084    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';5085  }50865087  /** @name PalletNonfungibleItemData (615) */5088  interface PalletNonfungibleItemData extends Struct {5089    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;5090  }50915092  /** @name UpDataStructsPropertyScope (617) */5093  interface UpDataStructsPropertyScope extends Enum {5094    readonly isNone: boolean;5095    readonly isRmrk: boolean;5096    readonly type: 'None' | 'Rmrk';5097  }50985099  /** @name PalletNonfungibleError (620) */5100  interface PalletNonfungibleError extends Enum {5101    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;5102    readonly isNonfungibleItemsHaveNoAmount: boolean;5103    readonly isCantBurnNftWithChildren: boolean;5104    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';5105  }51065107  /** @name PalletStructureError (621) */5108  interface PalletStructureError extends Enum {5109    readonly isOuroborosDetected: boolean;5110    readonly isDepthLimit: boolean;5111    readonly isBreadthLimit: boolean;5112    readonly isTokenNotFound: boolean;5113    readonly isCantNestTokenUnderCollection: boolean;5114    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection';5115  }51165117  /** @name PalletAppPromotionError (626) */5118  interface PalletAppPromotionError extends Enum {5119    readonly isAdminNotSet: boolean;5120    readonly isNoPermission: boolean;5121    readonly isNotSufficientFunds: boolean;5122    readonly isPendingForBlockOverflow: boolean;5123    readonly isSponsorNotSet: boolean;5124    readonly isInsufficientStakedBalance: boolean;5125    readonly isInconsistencyState: boolean;5126    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'InsufficientStakedBalance' | 'InconsistencyState';5127  }51285129  /** @name PalletForeignAssetsModuleError (627) */5130  interface PalletForeignAssetsModuleError extends Enum {5131    readonly isBadLocation: boolean;5132    readonly isMultiLocationExisted: boolean;5133    readonly isAssetIdNotExists: boolean;5134    readonly isAssetIdExisted: boolean;5135    readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';5136  }51375138  /** @name PalletEvmCodeMetadata (628) */5139  interface PalletEvmCodeMetadata extends Struct {5140    readonly size_: u64;5141    readonly hash_: H256;5142  }51435144  /** @name PalletEvmError (630) */5145  interface PalletEvmError extends Enum {5146    readonly isBalanceLow: boolean;5147    readonly isFeeOverflow: boolean;5148    readonly isPaymentOverflow: boolean;5149    readonly isWithdrawFailed: boolean;5150    readonly isGasPriceTooLow: boolean;5151    readonly isInvalidNonce: boolean;5152    readonly isGasLimitTooLow: boolean;5153    readonly isGasLimitTooHigh: boolean;5154    readonly isUndefined: boolean;5155    readonly isReentrancy: boolean;5156    readonly isTransactionMustComeFromEOA: boolean;5157    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';5158  }51595160  /** @name FpRpcTransactionStatus (633) */5161  interface FpRpcTransactionStatus extends Struct {5162    readonly transactionHash: H256;5163    readonly transactionIndex: u32;5164    readonly from: H160;5165    readonly to: Option<H160>;5166    readonly contractAddress: Option<H160>;5167    readonly logs: Vec<EthereumLog>;5168    readonly logsBloom: EthbloomBloom;5169  }51705171  /** @name EthbloomBloom (635) */5172  interface EthbloomBloom extends U8aFixed {}51735174  /** @name EthereumReceiptReceiptV3 (637) */5175  interface EthereumReceiptReceiptV3 extends Enum {5176    readonly isLegacy: boolean;5177    readonly asLegacy: EthereumReceiptEip658ReceiptData;5178    readonly isEip2930: boolean;5179    readonly asEip2930: EthereumReceiptEip658ReceiptData;5180    readonly isEip1559: boolean;5181    readonly asEip1559: EthereumReceiptEip658ReceiptData;5182    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';5183  }51845185  /** @name EthereumReceiptEip658ReceiptData (638) */5186  interface EthereumReceiptEip658ReceiptData extends Struct {5187    readonly statusCode: u8;5188    readonly usedGas: U256;5189    readonly logsBloom: EthbloomBloom;5190    readonly logs: Vec<EthereumLog>;5191  }51925193  /** @name EthereumBlock (639) */5194  interface EthereumBlock extends Struct {5195    readonly header: EthereumHeader;5196    readonly transactions: Vec<EthereumTransactionTransactionV2>;5197    readonly ommers: Vec<EthereumHeader>;5198  }51995200  /** @name EthereumHeader (640) */5201  interface EthereumHeader extends Struct {5202    readonly parentHash: H256;5203    readonly ommersHash: H256;5204    readonly beneficiary: H160;5205    readonly stateRoot: H256;5206    readonly transactionsRoot: H256;5207    readonly receiptsRoot: H256;5208    readonly logsBloom: EthbloomBloom;5209    readonly difficulty: U256;5210    readonly number: U256;5211    readonly gasLimit: U256;5212    readonly gasUsed: U256;5213    readonly timestamp: u64;5214    readonly extraData: Bytes;5215    readonly mixHash: H256;5216    readonly nonce: EthereumTypesHashH64;5217  }52185219  /** @name EthereumTypesHashH64 (641) */5220  interface EthereumTypesHashH64 extends U8aFixed {}52215222  /** @name PalletEthereumError (646) */5223  interface PalletEthereumError extends Enum {5224    readonly isInvalidSignature: boolean;5225    readonly isPreLogExists: boolean;5226    readonly type: 'InvalidSignature' | 'PreLogExists';5227  }52285229  /** @name PalletEvmCoderSubstrateError (647) */5230  interface PalletEvmCoderSubstrateError extends Enum {5231    readonly isOutOfGas: boolean;5232    readonly isOutOfFund: boolean;5233    readonly type: 'OutOfGas' | 'OutOfFund';5234  }52355236  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (648) */5237  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {5238    readonly isDisabled: boolean;5239    readonly isUnconfirmed: boolean;5240    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;5241    readonly isConfirmed: boolean;5242    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;5243    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';5244  }52455246  /** @name PalletEvmContractHelpersSponsoringModeT (649) */5247  interface PalletEvmContractHelpersSponsoringModeT extends Enum {5248    readonly isDisabled: boolean;5249    readonly isAllowlisted: boolean;5250    readonly isGenerous: boolean;5251    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';5252  }52535254  /** @name PalletEvmContractHelpersError (655) */5255  interface PalletEvmContractHelpersError extends Enum {5256    readonly isNoPermission: boolean;5257    readonly isNoPendingSponsor: boolean;5258    readonly isTooManyMethodsHaveSponsoredLimit: boolean;5259    readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';5260  }52615262  /** @name PalletEvmMigrationError (656) */5263  interface PalletEvmMigrationError extends Enum {5264    readonly isAccountNotEmpty: boolean;5265    readonly isAccountIsNotMigrating: boolean;5266    readonly isBadEvent: boolean;5267    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';5268  }52695270  /** @name PalletMaintenanceError (657) */5271  type PalletMaintenanceError = Null;52725273  /** @name PalletTestUtilsError (658) */5274  interface PalletTestUtilsError extends Enum {5275    readonly isTestPalletDisabled: boolean;5276    readonly isTriggerRollback: boolean;5277    readonly type: 'TestPalletDisabled' | 'TriggerRollback';5278  }52795280  /** @name SpRuntimeMultiSignature (660) */5281  interface SpRuntimeMultiSignature extends Enum {5282    readonly isEd25519: boolean;5283    readonly asEd25519: SpCoreEd25519Signature;5284    readonly isSr25519: boolean;5285    readonly asSr25519: SpCoreSr25519Signature;5286    readonly isEcdsa: boolean;5287    readonly asEcdsa: SpCoreEcdsaSignature;5288    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';5289  }52905291  /** @name SpCoreEd25519Signature (661) */5292  interface SpCoreEd25519Signature extends U8aFixed {}52935294  /** @name SpCoreSr25519Signature (663) */5295  interface SpCoreSr25519Signature extends U8aFixed {}52965297  /** @name SpCoreEcdsaSignature (664) */5298  interface SpCoreEcdsaSignature extends U8aFixed {}52995300  /** @name FrameSystemExtensionsCheckSpecVersion (667) */5301  type FrameSystemExtensionsCheckSpecVersion = Null;53025303  /** @name FrameSystemExtensionsCheckTxVersion (668) */5304  type FrameSystemExtensionsCheckTxVersion = Null;53055306  /** @name FrameSystemExtensionsCheckGenesis (669) */5307  type FrameSystemExtensionsCheckGenesis = Null;53085309  /** @name FrameSystemExtensionsCheckNonce (672) */5310  interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}53115312  /** @name FrameSystemExtensionsCheckWeight (673) */5313  type FrameSystemExtensionsCheckWeight = Null;53145315  /** @name QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance (674) */5316  type QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;53175318  /** @name QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls (675) */5319  type QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;53205321  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (676) */5322  interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}53235324  /** @name QuartzRuntimeRuntime (677) */5325  type QuartzRuntimeRuntime = Null;53265327  /** @name PalletEthereumFakeTransactionFinalizer (678) */5328  type PalletEthereumFakeTransactionFinalizer = Null;53295330} // declare module
modifiedtests/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', [
modifiedtests/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
modifiedtests/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);
   });
 });
 
modifiedtests/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) {
modifiedtests/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';
modifiedtests/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;
modifiedtests/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');
modifiedtests/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);
modifiedtests/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);
modifiedtests/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"
+	}
 }