git.delta.rocks / unique-network / refs/commits / fc4f8755b033

difftreelog

createItem* fixes

kryadinskii2022-05-19parents: #b80b794 #a7fe253.patch.diff
in: master

43 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -396,7 +396,7 @@
  "instant",
  "pin-project-lite 0.2.9",
  "rand 0.8.5",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -410,7 +410,7 @@
  "cfg-if 1.0.0",
  "libc",
  "miniz_oxide",
- "object 0.28.3",
+ "object 0.28.4",
  "rustc-demangle",
 ]
 
@@ -464,7 +464,7 @@
  "futures-timer",
  "hex",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-chain-spec",
  "sc-client-api",
@@ -500,7 +500,7 @@
  "jsonrpc-derive",
  "jsonrpc-pubsub",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-rpc",
  "sc-utils",
@@ -520,7 +520,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -571,14 +571,26 @@
 
 [[package]]
 name = "bitvec"
+version = "0.20.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7774144344a4faa177370406a7ff5f1da24303817368584c6206c8303eb07848"
+dependencies = [
+ "funty 1.1.0",
+ "radium 0.6.2",
+ "tap",
+ "wyz 0.2.0",
+]
+
+[[package]]
+name = "bitvec"
 version = "1.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "1489fcb93a5bb47da0462ca93ad252ad6af2145cce58d10d46a83931ba9f016b"
 dependencies = [
- "funty",
- "radium",
+ "funty 2.0.0",
+ "radium 0.7.0",
  "tap",
- "wyz",
+ "wyz 0.5.0",
 ]
 
 [[package]]
@@ -739,7 +751,7 @@
  "bp-runtime",
  "finality-grandpa",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -755,7 +767,7 @@
 dependencies = [
  "bp-runtime",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-std",
 ]
@@ -765,12 +777,12 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "bp-runtime",
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -786,7 +798,7 @@
  "bp-runtime",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -804,7 +816,7 @@
  "bp-polkadot-core",
  "bp-runtime",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "smallvec",
  "sp-api",
  "sp-runtime",
@@ -820,7 +832,7 @@
  "frame-support",
  "hash-db",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -838,7 +850,7 @@
  "bp-header-chain",
  "ed25519-dalek",
  "finality-grandpa",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-application-crypto",
  "sp-finality-grandpa",
  "sp-runtime",
@@ -854,7 +866,7 @@
  "bp-polkadot-core",
  "bp-rococo",
  "bp-runtime",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -875,7 +887,7 @@
  "pallet-bridge-grandpa",
  "pallet-bridge-messages",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -977,9 +989,9 @@
 
 [[package]]
 name = "camino"
-version = "1.0.7"
+version = "1.0.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23"
+checksum = "07fd178c5af4d59e83498ef15cf3f154e1a6f9d091270cb86283c65ef44e9ef0"
 dependencies = [
  "serde",
 ]
@@ -1111,9 +1123,9 @@
 
 [[package]]
 name = "clang-sys"
-version = "1.3.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cc00842eed744b858222c4c9faf7243aafc6d33f92f96935263ef4d8a41ce21"
+checksum = "bf6b561dcf059c85bbe388e0a7b0a1469acb3934cc0cfa148613a830629e3049"
 dependencies = [
  "glob",
  "libc",
@@ -1122,9 +1134,9 @@
 
 [[package]]
 name = "clap"
-version = "3.1.16"
+version = "3.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f52d4f8e4a1419219935762e32913b4430f37cb0c0200ad17a89ee18c0188a9f"
+checksum = "d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b"
 dependencies = [
  "atty",
  "bitflags",
@@ -1139,9 +1151,9 @@
 
 [[package]]
 name = "clap_derive"
-version = "3.1.7"
+version = "3.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1"
+checksum = "25320346e922cffe59c0bbc5410c8d8784509efb321488971081313cb1e1a33c"
 dependencies = [
  "heck 0.4.0",
  "proc-macro-error",
@@ -1524,7 +1536,7 @@
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -1547,7 +1559,7 @@
  "cumulus-client-consensus-common",
  "cumulus-primitives-core",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-aura",
@@ -1576,7 +1588,7 @@
  "cumulus-relay-chain-interface",
  "dyn-clone",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "sc-client-api",
  "sc-consensus",
@@ -1598,7 +1610,7 @@
  "derive_more",
  "futures 0.3.21",
  "futures-timer",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-node-primitives",
  "polkadot-parachain",
@@ -1622,7 +1634,7 @@
  "cumulus-relay-chain-interface",
  "futures 0.3.21",
  "futures-timer",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-overseer",
@@ -1648,7 +1660,7 @@
  "cumulus-client-pov-recovery",
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-overseer",
  "polkadot-primitives",
@@ -1676,7 +1688,7 @@
  "frame-support",
  "frame-system",
  "pallet-aura",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-application-crypto",
@@ -1694,7 +1706,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -1717,7 +1729,7 @@
  "impl-trait-for-tuples",
  "log",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "scale-info",
  "serde",
@@ -1752,7 +1764,7 @@
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-io",
@@ -1770,7 +1782,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand_chacha 0.3.1",
  "scale-info",
  "sp-runtime",
@@ -1785,7 +1797,7 @@
 source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.21#4ce5950ac3efbdbbf6c88c90e2a9ad4c7cb8d334"
 dependencies = [
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1804,7 +1816,7 @@
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
  "cumulus-test-relay-sproof-builder",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "scale-info",
  "sp-api",
@@ -1825,7 +1837,7 @@
 dependencies = [
  "cumulus-primitives-core",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-inherents",
  "sp-std",
  "sp-timestamp",
@@ -1838,7 +1850,7 @@
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1886,7 +1898,7 @@
  "derive_more",
  "futures 0.3.21",
  "jsonrpsee-core",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-overseer",
  "polkadot-service",
@@ -1912,7 +1924,7 @@
  "futures 0.3.21",
  "futures-timer",
  "jsonrpsee",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-service",
  "sc-client-api",
@@ -1932,7 +1944,7 @@
 source = "git+https://github.com/uniquenetwork/cumulus?branch=polkadot-v0.9.21#4ce5950ac3efbdbbf6c88c90e2a9ad4c7cb8d334"
 dependencies = [
  "cumulus-primitives-core",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "sp-runtime",
  "sp-state-machine",
@@ -2147,7 +2159,7 @@
 checksum = "c4d33be9473d06f75f58220f71f7a9317aca647dc061dbd3c361b0bef505fbea"
 dependencies = [
  "byteorder",
- "quick-error 1.2.3",
+ "quick-error",
 ]
 
 [[package]]
@@ -2202,9 +2214,9 @@
 
 [[package]]
 name = "ed25519"
-version = "1.4.1"
+version = "1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d5c4b5e5959dc2c2b89918d8e2cc40fcdd623cef026ed09d2f0ee05199dc8e4"
+checksum = "1e9c280362032ea4203659fc489832d0204ef09f247a0506f170dafcac08c369"
 dependencies = [
  "signature",
 ]
@@ -2361,7 +2373,7 @@
  "ethereum-types",
  "hash-db",
  "hash256-std-hasher",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rlp",
  "rlp-derive",
  "scale-info",
@@ -2404,7 +2416,7 @@
  "evm-gasometer",
  "evm-runtime",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "primitive-types",
  "rlp",
  "scale-info",
@@ -2443,7 +2455,7 @@
 version = "0.35.0"
 source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.19#1b170dc649f5e16a33134710a9fe2610e580661e"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "primitive-types",
  "scale-info",
  "serde",
@@ -2578,7 +2590,7 @@
 dependencies = [
  "fp-storage",
  "kvdb-rocksdb",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sp-core",
  "sp-database",
@@ -2622,7 +2634,7 @@
  "libsecp256k1",
  "log",
  "lru 0.6.6",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand 0.8.5",
  "rlp",
  "sc-client-api",
@@ -2638,7 +2650,7 @@
  "sp-io",
  "sp-runtime",
  "sp-storage",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -2698,7 +2710,7 @@
  "futures-timer",
  "log",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.11.2",
  "scale-info",
 ]
@@ -2761,7 +2773,7 @@
 version = "3.0.0"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
 ]
 
 [[package]]
@@ -2780,7 +2792,7 @@
 source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.21-logs#79cd4c4cf29106c431facd6779783fc887b21475"
 dependencies = [
  "ethereum",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -2793,7 +2805,7 @@
 dependencies = [
  "evm",
  "impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "serde",
  "sp-core",
  "sp-std",
@@ -2816,7 +2828,7 @@
  "ethereum",
  "ethereum-types",
  "fp-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -2832,7 +2844,7 @@
 dependencies = [
  "ethereum",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "scale-info",
  "serde",
@@ -2846,7 +2858,7 @@
 version = "2.0.0"
 source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.21-logs#79cd4c4cf29106c431facd6779783fc887b21475"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
 ]
 
 [[package]]
@@ -2858,7 +2870,7 @@
  "frame-system",
  "linregress",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "paste",
  "scale-info",
  "serde",
@@ -2890,7 +2902,7 @@
  "linked-hash-map",
  "log",
  "memory-db",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "prettytable-rs",
  "rand 0.8.5",
  "rand_pcg 0.3.1",
@@ -2938,7 +2950,7 @@
  "frame-election-provider-solution-type",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-arithmetic",
  "sp-npos-elections",
@@ -2953,7 +2965,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -2969,7 +2981,7 @@
 checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d"
 dependencies = [
  "cfg-if 1.0.0",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
 ]
@@ -2985,7 +2997,7 @@
  "impl-trait-for-tuples",
  "log",
  "once_cell",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "paste",
  "scale-info",
  "serde",
@@ -3044,7 +3056,7 @@
 dependencies = [
  "frame-support",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -3062,7 +3074,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -3074,7 +3086,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
 ]
 
@@ -3141,6 +3153,12 @@
 
 [[package]]
 name = "funty"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
+
+[[package]]
+name = "funty"
 version = "2.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c"
@@ -3394,23 +3412,23 @@
  "http",
  "indexmap",
  "slab",
- "tokio 1.18.1",
- "tokio-util 0.7.1",
+ "tokio 1.18.2",
+ "tokio-util 0.7.2",
  "tracing",
 ]
 
 [[package]]
 name = "handlebars"
-version = "4.2.2"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "99d6a30320f094710245150395bc763ad23128d6a1ebbad7594dc4164b62c56b"
+checksum = "d113a9853e5accd30f43003560b5563ffbb007e3f325e8b103fa0d0029c6e6df"
 dependencies = [
  "log",
  "pest",
  "pest_derive",
- "quick-error 2.0.1",
  "serde",
  "serde_json",
+ "thiserror",
 ]
 
 [[package]]
@@ -3538,7 +3556,7 @@
 dependencies = [
  "bytes 1.1.0",
  "fnv",
- "itoa 1.0.1",
+ "itoa 1.0.2",
 ]
 
 [[package]]
@@ -3585,10 +3603,10 @@
  "http-body",
  "httparse",
  "httpdate",
- "itoa 1.0.1",
+ "itoa 1.0.2",
  "pin-project-lite 0.2.9",
  "socket2 0.4.4",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tower-service",
  "tracing",
  "want",
@@ -3606,7 +3624,7 @@
  "log",
  "rustls 0.19.1",
  "rustls-native-certs 0.5.0",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tokio-rustls 0.22.0",
  "webpki 0.21.4",
 ]
@@ -3620,9 +3638,9 @@
  "http",
  "hyper",
  "log",
- "rustls 0.20.4",
+ "rustls 0.20.6",
  "rustls-native-certs 0.6.2",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tokio-rustls 0.23.4",
  "webpki-roots 0.22.3",
 ]
@@ -3698,7 +3716,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
 ]
 
 [[package]]
@@ -3821,9 +3839,9 @@
 
 [[package]]
 name = "itoa"
-version = "1.0.1"
+version = "1.0.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
 
 [[package]]
 name = "jobserver"
@@ -3954,9 +3972,9 @@
  "jsonrpc-core",
  "lazy_static",
  "log",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tokio-stream",
- "tokio-util 0.6.9",
+ "tokio-util 0.6.10",
  "unicase",
 ]
 
@@ -4002,9 +4020,9 @@
  "rustls-native-certs 0.6.2",
  "soketto",
  "thiserror",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tokio-rustls 0.23.4",
- "tokio-util 0.7.1",
+ "tokio-util 0.7.2",
  "tracing",
  "webpki-roots 0.22.3",
 ]
@@ -4028,7 +4046,7 @@
  "serde_json",
  "soketto",
  "thiserror",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tracing",
 ]
 
@@ -4047,7 +4065,7 @@
  "serde",
  "serde_json",
  "thiserror",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tracing",
 ]
 
@@ -4122,7 +4140,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 1.0.0",
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-executive",
@@ -4174,7 +4192,7 @@
  "pallet-vesting",
  "pallet-xcm",
  "pallet-xcm-benchmarks",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "polkadot-runtime-parachains",
@@ -4281,9 +4299,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.125"
+version = "0.2.126"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
 
 [[package]]
 name = "libloading"
@@ -5126,7 +5144,7 @@
  "kernel32-sys",
  "libc",
  "log",
- "miow 0.2.2",
+ "miow",
  "net2",
  "slab",
  "winapi 0.2.8",
@@ -5134,16 +5152,14 @@
 
 [[package]]
 name = "mio"
-version = "0.8.2"
+version = "0.8.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "52da4364ffb0e4fe33a9841a98a3f3014fb964045ce4f7a45a398243c8d6b0c9"
+checksum = "713d550d9b44d89174e066b7a6217ae06234c10cb47819a88290d2b353c31799"
 dependencies = [
  "libc",
  "log",
- "miow 0.3.7",
- "ntapi",
  "wasi 0.11.0+wasi-snapshot-preview1",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
@@ -5168,15 +5184,6 @@
  "net2",
  "winapi 0.2.8",
  "ws2_32-sys",
-]
-
-[[package]]
-name = "miow"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
-dependencies = [
- "winapi 0.3.9",
 ]
 
 [[package]]
@@ -5353,15 +5360,6 @@
 dependencies = [
  "memchr",
  "minimal-lexical",
-]
-
-[[package]]
-name = "ntapi"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
-dependencies = [
- "winapi 0.3.9",
 ]
 
 [[package]]
@@ -5460,9 +5458,9 @@
 
 [[package]]
 name = "object"
-version = "0.28.3"
+version = "0.28.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
+checksum = "e42c982f2d955fac81dd7e1d0e1426a7d702acd9c98d19ab01083a6a0328c424"
 dependencies = [
  "memchr",
 ]
@@ -5525,8 +5523,9 @@
  "pallet-unq-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
+ "rmrk-rpc",
  "scale-info",
  "serde",
  "smallvec",
@@ -5609,7 +5608,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-io",
@@ -5619,9 +5618,9 @@
 
 [[package]]
 name = "os_str_bytes"
-version = "6.0.0"
+version = "6.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64"
+checksum = "029d8d0b2f198229de29dca79676f2738ff952edf3fde542eb8bf94d8c21b435"
 
 [[package]]
 name = "owning_ref"
@@ -5640,7 +5639,7 @@
  "frame-support",
  "frame-system",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-application-crypto",
  "sp-consensus-aura",
@@ -5656,7 +5655,7 @@
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-application-crypto",
  "sp-authority-discovery",
@@ -5672,7 +5671,7 @@
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-authorship",
  "sp-runtime",
@@ -5691,7 +5690,7 @@
  "pallet-authorship",
  "pallet-session",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-application-crypto",
  "sp-consensus-babe",
@@ -5714,7 +5713,7 @@
  "frame-system",
  "log",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5732,7 +5731,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -5746,7 +5745,7 @@
  "fp-evm",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -5762,7 +5761,7 @@
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -5784,7 +5783,7 @@
  "pallet-beefy",
  "pallet-mmr",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -5803,7 +5802,7 @@
  "frame-system",
  "log",
  "pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5821,7 +5820,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -5841,7 +5840,7 @@
  "frame-system",
  "log",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-finality-grandpa",
@@ -5855,7 +5854,7 @@
 version = "0.1.0"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "bp-message-dispatch",
  "bp-messages",
  "bp-runtime",
@@ -5863,7 +5862,7 @@
  "frame-system",
  "log",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -5882,7 +5881,7 @@
  "log",
  "pallet-bounties",
  "pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5899,7 +5898,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5917,7 +5916,8 @@
  "frame-system",
  "pallet-evm",
  "pallet-evm-coder-substrate",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
+ "rmrk-types",
  "scale-info",
  "serde",
  "sp-core",
@@ -5934,7 +5934,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-io",
@@ -5952,7 +5952,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand 0.7.3",
  "scale-info",
  "sp-arithmetic",
@@ -5973,7 +5973,7 @@
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-npos-elections",
  "sp-runtime",
 ]
@@ -5987,7 +5987,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6016,7 +6016,7 @@
  "pallet-balances",
  "pallet-evm",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rlp",
  "scale-info",
  "serde",
@@ -6042,7 +6042,7 @@
  "log",
  "pallet-balances",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "primitive-types",
  "rlp",
  "scale-info",
@@ -6065,7 +6065,7 @@
  "frame-system",
  "pallet-ethereum",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-std",
@@ -6083,7 +6083,7 @@
  "log",
  "pallet-evm",
  "pallet-evm-coder-substrate",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -6100,7 +6100,7 @@
  "frame-support",
  "frame-system",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6118,7 +6118,7 @@
  "frame-system",
  "pallet-ethereum",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6140,7 +6140,7 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-structure",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -6156,7 +6156,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-arithmetic",
  "sp-runtime",
@@ -6174,7 +6174,7 @@
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-application-crypto",
  "sp-core",
@@ -6195,7 +6195,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6212,7 +6212,7 @@
  "frame-system",
  "log",
  "pallet-authorship",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-application-crypto",
  "sp-core",
@@ -6230,7 +6230,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6249,7 +6249,7 @@
  "pallet-balances",
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -6267,7 +6267,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6284,7 +6284,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6301,7 +6301,7 @@
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "serde",
  "sp-api",
  "sp-blockchain",
@@ -6318,7 +6318,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6332,7 +6332,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6346,7 +6346,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -6366,7 +6366,7 @@
  "pallet-bags-list",
  "pallet-nomination-pools",
  "pallet-staking",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-staking",
@@ -6386,11 +6386,12 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-structure",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
  "sp-std",
+ "struct-versioning",
  "up-data-structs",
 ]
 
@@ -6403,7 +6404,7 @@
  "frame-system",
  "log",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -6427,7 +6428,7 @@
  "pallet-offences",
  "pallet-session",
  "pallet-staking",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-staking",
@@ -6442,7 +6443,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6458,7 +6459,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6472,7 +6473,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "safe-mix",
  "scale-info",
  "sp-runtime",
@@ -6486,7 +6487,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6503,11 +6504,12 @@
  "pallet-common",
  "pallet-evm",
  "pallet-structure",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-runtime",
  "sp-std",
+ "struct-versioning",
  "up-data-structs",
 ]
 
@@ -6520,7 +6522,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6537,7 +6539,7 @@
  "impl-trait-for-tuples",
  "log",
  "pallet-timestamp",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6571,7 +6573,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand_chacha 0.2.2",
  "scale-info",
  "sp-runtime",
@@ -6590,7 +6592,7 @@
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand_chacha 0.2.2",
  "scale-info",
  "serde",
@@ -6629,7 +6631,7 @@
  "frame-support",
  "frame-system",
  "pallet-common",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-std",
  "up-data-structs",
@@ -6642,7 +6644,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6659,7 +6661,7 @@
  "frame-system",
  "pallet-balances",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -6678,7 +6680,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-inherents",
  "sp-io",
@@ -6697,7 +6699,7 @@
  "frame-system",
  "log",
  "pallet-treasury",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -6713,7 +6715,7 @@
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "smallvec",
@@ -6732,7 +6734,7 @@
  "jsonrpc-core-client",
  "jsonrpc-derive",
  "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-blockchain",
  "sp-core",
@@ -6746,7 +6748,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-runtime",
 ]
@@ -6761,7 +6763,7 @@
  "frame-system",
  "impl-trait-for-tuples",
  "pallet-balances",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -6777,7 +6779,7 @@
  "frame-system",
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6794,7 +6796,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -6813,7 +6815,7 @@
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6830,7 +6832,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -6844,7 +6846,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -6863,7 +6865,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -6879,16 +6881,16 @@
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
 ]
 
 [[package]]
 name = "parity-db"
-version = "0.3.12"
+version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e73cd0b0a78045276b19eaae8eaaa20e44a1da9a0217ff934a810d9492ae701"
+checksum = "55a7901b85874402471e131de3332dde0e51f38432c69a3853627c8e25433048"
 dependencies = [
  "blake2-rfc",
  "crc32fast",
@@ -6905,20 +6907,46 @@
 
 [[package]]
 name = "parity-scale-codec"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "373b1a4c1338d9cd3d1fa53b3a11bdab5ab6bd80a20f7f7becd76953ae2be909"
+dependencies = [
+ "arrayvec 0.7.2",
+ "bitvec 0.20.4",
+ "byte-slice-cast",
+ "impl-trait-for-tuples",
+ "parity-scale-codec-derive 2.3.1",
+ "serde",
+]
+
+[[package]]
+name = "parity-scale-codec"
 version = "3.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e8b44461635bbb1a0300f100a841e571e7d919c81c73075ef5d152ffdb521066"
 dependencies = [
  "arrayvec 0.7.2",
- "bitvec",
+ "bitvec 1.0.0",
  "byte-slice-cast",
  "impl-trait-for-tuples",
- "parity-scale-codec-derive",
+ "parity-scale-codec-derive 3.1.2",
  "serde",
 ]
 
 [[package]]
 name = "parity-scale-codec-derive"
+version = "2.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1557010476e0595c9b568d16dcfb81b93cdeb157612726f5170d31aa707bed27"
+dependencies = [
+ "proc-macro-crate 1.1.3",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "parity-scale-codec-derive"
 version = "3.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c45ed1f39709f5a89338fab50e59816b2e8815f5bb58276e7ddf9afd495f73f8"
@@ -6945,7 +6973,7 @@
  "libc",
  "log",
  "rand 0.7.3",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "winapi 0.3.9",
 ]
 
@@ -7278,7 +7306,7 @@
  "fatality",
  "futures 0.3.21",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7300,7 +7328,7 @@
  "fatality",
  "futures 0.3.21",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7403,7 +7431,7 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "scale-info",
  "sp-core",
@@ -7420,7 +7448,7 @@
  "fatality",
  "futures 0.3.21",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7439,7 +7467,7 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-primitives",
  "polkadot-primitives",
  "reed-solomon-novelpoly",
@@ -7475,7 +7503,7 @@
 dependencies = [
  "async-trait",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
@@ -7493,7 +7521,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7510,14 +7538,14 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "derive_more",
  "futures 0.3.21",
  "futures-timer",
  "kvdb",
  "lru 0.7.5",
  "merlin",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7539,11 +7567,11 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "futures 0.3.21",
  "futures-timer",
  "kvdb",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7559,7 +7587,7 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "futures 0.3.21",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
@@ -7594,7 +7622,7 @@
 dependencies = [
  "async-trait",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-core-pvf",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7628,7 +7656,7 @@
  "futures 0.3.21",
  "futures-timer",
  "kvdb",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7646,7 +7674,7 @@
  "futures 0.3.21",
  "kvdb",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7678,7 +7706,7 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "futures 0.3.21",
  "futures-timer",
  "polkadot-node-primitives",
@@ -7701,7 +7729,7 @@
  "async-std",
  "futures 0.3.21",
  "futures-timer",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "pin-project 1.0.10",
  "polkadot-core-primitives",
  "polkadot-node-subsystem-util",
@@ -7763,7 +7791,7 @@
  "lazy_static",
  "log",
  "mick-jaeger",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7782,7 +7810,7 @@
  "futures-timer",
  "log",
  "metered-channel",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "sc-cli",
  "sc-service",
@@ -7799,7 +7827,7 @@
  "async-trait",
  "fatality",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7816,7 +7844,7 @@
 dependencies = [
  "bounded-vec",
  "futures 0.3.21",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "polkadot-primitives",
  "schnorrkel",
@@ -7874,7 +7902,7 @@
  "lru 0.7.5",
  "metered-channel",
  "parity-db",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "parking_lot 0.11.2",
  "pin-project 1.0.10",
@@ -7950,7 +7978,7 @@
 dependencies = [
  "derive_more",
  "frame-support",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "polkadot-core-primitives",
  "scale-info",
@@ -7980,10 +8008,10 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "frame-system",
  "hex-literal",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "polkadot-core-primitives",
  "polkadot-parachain",
@@ -8043,7 +8071,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 1.0.0",
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-executive",
@@ -8090,7 +8118,7 @@
  "pallet-utility",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "polkadot-runtime-constants",
@@ -8129,7 +8157,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 1.0.0",
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-support",
@@ -8149,7 +8177,7 @@
  "pallet-transaction-payment",
  "pallet-treasury",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "polkadot-runtime-parachains",
  "rustc-hex",
@@ -8188,7 +8216,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "bs58",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "sp-std",
  "sp-tracing",
@@ -8200,7 +8228,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "bitflags",
- "bitvec",
+ "bitvec 1.0.0",
  "derive_more",
  "frame-benchmarking",
  "frame-support",
@@ -8214,7 +8242,7 @@
  "pallet-staking",
  "pallet-timestamp",
  "pallet-vesting",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "polkadot-runtime-metrics",
  "rand 0.8.5",
@@ -8346,7 +8374,7 @@
  "fatality",
  "futures 0.3.21",
  "indexmap",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -8363,7 +8391,7 @@
 version = "0.9.21"
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-primitives",
  "sp-core",
 ]
@@ -8374,7 +8402,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 1.0.0",
  "frame-election-provider-support",
  "frame-executive",
  "frame-support",
@@ -8398,7 +8426,7 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -8480,7 +8508,7 @@
  "substrate-test-client",
  "tempfile",
  "test-runtime-constants",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tracing-gum",
 ]
 
@@ -8599,24 +8627,24 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.38"
+version = "1.0.39"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa"
+checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f"
 dependencies = [
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "prometheus"
-version = "0.13.0"
+version = "0.13.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b7f64969ffd5dd8f39bd57a68ac53c163a095ed9d0fb707146da1b27025a3504"
+checksum = "cface98dfa6d645ea4c789839f176e4b072265d085bfcc48eaa8d137f58d3c39"
 dependencies = [
  "cfg-if 1.0.0",
  "fnv",
  "lazy_static",
  "memchr",
- "parking_lot 0.11.2",
+ "parking_lot 0.12.0",
  "thiserror",
 ]
 
@@ -8731,8 +8759,9 @@
  "pallet-unq-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
+ "rmrk-rpc",
  "scale-info",
  "serde",
  "smallvec",
@@ -8763,12 +8792,6 @@
 version = "1.2.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-
-[[package]]
-name = "quick-error"
-version = "2.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3"
 
 [[package]]
 name = "quicksink"
@@ -8792,6 +8815,12 @@
 
 [[package]]
 name = "radium"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb"
+
+[[package]]
+name = "radium"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09"
@@ -8904,9 +8933,9 @@
 
 [[package]]
 name = "rayon"
-version = "1.5.2"
+version = "1.5.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221"
+checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
 dependencies = [
  "autocfg",
  "crossbeam-deque",
@@ -8916,9 +8945,9 @@
 
 [[package]]
 name = "rayon-core"
-version = "1.9.2"
+version = "1.9.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4"
+checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
 dependencies = [
  "crossbeam-channel",
  "crossbeam-deque",
@@ -9053,7 +9082,7 @@
  "env_logger",
  "jsonrpsee",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "serde",
  "serde_json",
  "sp-core",
@@ -9078,7 +9107,7 @@
 checksum = "52e44394d2086d010551b14b53b1f24e31647570cd1deb0379e2c21b329aba00"
 dependencies = [
  "hostname",
- "quick-error 1.2.3",
+ "quick-error",
 ]
 
 [[package]]
@@ -9124,6 +9153,30 @@
 ]
 
 [[package]]
+name = "rmrk-rpc"
+version = "0.0.1"
+source = "git+https://github.com/UniqueNetwork/rmrk-substrate.git?branch=feature/separate-types-and-traits#01c2995b64c34063a1c9fc4d856635022cea4f78"
+dependencies = [
+ "parity-scale-codec 2.3.1",
+ "rmrk-types",
+ "serde",
+ "sp-api",
+ "sp-core",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "rmrk-types"
+version = "0.0.1"
+source = "git+https://github.com/UniqueNetwork/rmrk-substrate.git?branch=feature/separate-types-and-traits#01c2995b64c34063a1c9fc4d856635022cea4f78"
+dependencies = [
+ "parity-scale-codec 3.1.2",
+ "scale-info",
+ "serde",
+]
+
+[[package]]
 name = "rocksdb"
 version = "0.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -9179,7 +9232,7 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-utility",
  "pallet-xcm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -9318,9 +9371,9 @@
 
 [[package]]
 name = "rustls"
-version = "0.20.4"
+version = "0.20.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4fbfeb8d0ddb84706bc597a5574ab8912817c52a397f819e5b614e2265206921"
+checksum = "5aab8ee6c7097ed6057f43c187a62418d0c05a4bd5f18b3571db50ee0f9ce033"
 dependencies = [
  "log",
  "ring",
@@ -9380,9 +9433,9 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.9"
+version = "1.0.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
 
 [[package]]
 name = "safe-mix"
@@ -9433,7 +9486,7 @@
  "ip_network",
  "libp2p",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "prost",
  "prost-build",
  "rand 0.7.3",
@@ -9457,7 +9510,7 @@
  "futures 0.3.21",
  "futures-timer",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-block-builder",
  "sc-client-api",
  "sc-proposer-metrics",
@@ -9477,7 +9530,7 @@
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sp-api",
  "sp-block-builder",
@@ -9495,7 +9548,7 @@
 dependencies = [
  "impl-trait-for-tuples",
  "memmap2 0.5.3",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-chain-spec-derive",
  "sc-network",
  "sc-telemetry",
@@ -9529,7 +9582,7 @@
  "libp2p",
  "log",
  "names",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "rand 0.7.3",
  "regex",
  "rpassword",
@@ -9551,7 +9604,7 @@
  "sp-version",
  "thiserror",
  "tiny-bip39",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -9563,7 +9616,7 @@
  "futures 0.3.21",
  "hash-db",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-executor",
  "sc-transaction-pool-api",
@@ -9594,7 +9647,7 @@
  "linked-hash-map",
  "log",
  "parity-db",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-client-api",
  "sc-state-db",
@@ -9639,7 +9692,7 @@
  "async-trait",
  "futures 0.3.21",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-block-builder",
  "sc-client-api",
  "sc-consensus",
@@ -9673,7 +9726,7 @@
  "num-bigint",
  "num-rational 0.2.4",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "rand 0.7.3",
  "retain_mut",
@@ -9733,7 +9786,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "fork-tree",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-consensus",
  "sp-blockchain",
@@ -9752,7 +9805,7 @@
  "jsonrpc-core-client",
  "jsonrpc-derive",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-aura",
@@ -9785,7 +9838,7 @@
  "futures 0.3.21",
  "futures-timer",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-consensus",
  "sc-telemetry",
@@ -9819,7 +9872,7 @@
 dependencies = [
  "lazy_static",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-executor-common",
  "sc-executor-wasmi",
@@ -9845,7 +9898,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "environmental",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-allocator",
  "sp-core",
  "sp-maybe-compressed-blob",
@@ -9862,7 +9915,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-allocator",
  "sc-executor-common",
  "scoped-tls",
@@ -9880,7 +9933,7 @@
  "cfg-if 1.0.0",
  "libc",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-wasm 0.42.2",
  "sc-allocator",
  "sc-executor-common",
@@ -9904,7 +9957,7 @@
  "futures-timer",
  "hex",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "rand 0.8.5",
  "sc-block-builder",
@@ -9942,7 +9995,7 @@
  "jsonrpc-derive",
  "jsonrpc-pubsub",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-finality-grandpa",
  "sc-rpc",
@@ -10008,7 +10061,7 @@
  "linked_hash_set",
  "log",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "pin-project 1.0.10",
  "prost",
@@ -10066,7 +10119,7 @@
  "hyper-rustls 0.22.1",
  "num_cpus",
  "once_cell",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "rand 0.7.3",
  "sc-client-api",
@@ -10112,7 +10165,7 @@
  "jsonrpc-core",
  "jsonrpc-pubsub",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-block-builder",
  "sc-chain-spec",
@@ -10144,7 +10197,7 @@
  "jsonrpc-derive",
  "jsonrpc-pubsub",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sc-chain-spec",
  "sc-transaction-pool-api",
@@ -10173,7 +10226,7 @@
  "log",
  "serde_json",
  "substrate-prometheus-endpoint",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -10190,7 +10243,7 @@
  "jsonrpc-core",
  "jsonrpc-pubsub",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "parking_lot 0.12.0",
  "pin-project 1.0.10",
@@ -10236,7 +10289,7 @@
  "substrate-prometheus-endpoint",
  "tempfile",
  "thiserror",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tracing",
  "tracing-futures",
 ]
@@ -10247,7 +10300,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "parity-util-mem-derive",
  "parking_lot 0.12.0",
@@ -10263,7 +10316,7 @@
  "jsonrpc-core",
  "jsonrpc-core-client",
  "jsonrpc-derive",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-chain-spec",
  "sc-client-api",
  "sc-consensus-babe",
@@ -10364,7 +10417,7 @@
  "futures-timer",
  "linked-hash-map",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "parking_lot 0.12.0",
  "retain_mut",
@@ -10410,23 +10463,23 @@
 
 [[package]]
 name = "scale-info"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8980cafbe98a7ee7a9cc16b32ebce542c77883f512d83fbf2ddc8f6a85ea74c9"
+checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a"
 dependencies = [
- "bitvec",
+ "bitvec 1.0.0",
  "cfg-if 1.0.0",
  "derive_more",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info-derive",
  "serde",
 ]
 
 [[package]]
 name = "scale-info-derive"
-version = "2.1.1"
+version = "2.1.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4260c630e8a8a33429d1688eff2f163f24c65a4e1b1578ef6b565061336e4b6f"
+checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c"
 dependencies = [
  "proc-macro-crate 1.1.3",
  "proc-macro2",
@@ -10436,12 +10489,12 @@
 
 [[package]]
 name = "schannel"
-version = "0.1.19"
+version = "0.1.20"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
+checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2"
 dependencies = [
  "lazy_static",
- "winapi 0.3.9",
+ "windows-sys",
 ]
 
 [[package]]
@@ -10634,7 +10687,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
 dependencies = [
- "itoa 1.0.1",
+ "itoa 1.0.2",
  "ryu",
  "serde",
 ]
@@ -10748,9 +10801,9 @@
 
 [[package]]
 name = "signal-hook"
-version = "0.3.13"
+version = "0.3.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "647c97df271007dcea485bb74ffdb57f2e683f1306c854f468a0c244badabf2d"
+checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
 dependencies = [
  "libc",
  "signal-hook-registry",
@@ -10798,7 +10851,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "enumn",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "paste",
  "sp-runtime",
  "sp-std",
@@ -10887,7 +10940,7 @@
 dependencies = [
  "hash-db",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api-proc-macro",
  "sp-core",
  "sp-runtime",
@@ -10914,7 +10967,7 @@
 version = "6.0.0"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-core",
@@ -10929,7 +10982,7 @@
 dependencies = [
  "integer-sqrt",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-debug-derive",
@@ -10942,7 +10995,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -10956,7 +11009,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "async-trait",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-inherents",
  "sp-runtime",
  "sp-std",
@@ -10967,7 +11020,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -10982,7 +11035,7 @@
  "futures 0.3.21",
  "log",
  "lru 0.7.5",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "sp-api",
  "sp-consensus",
@@ -11001,7 +11054,7 @@
  "futures 0.3.21",
  "futures-timer",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-core",
  "sp-inherents",
  "sp-runtime",
@@ -11017,7 +11070,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "async-trait",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -11036,7 +11089,7 @@
 dependencies = [
  "async-trait",
  "merlin",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-api",
@@ -11057,7 +11110,7 @@
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-arithmetic",
@@ -11071,7 +11124,7 @@
 version = "0.10.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "schnorrkel",
  "sp-core",
  "sp-runtime",
@@ -11099,7 +11152,7 @@
  "log",
  "merlin",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "parking_lot 0.12.0",
  "primitive-types",
@@ -11174,7 +11227,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "environmental",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-std",
  "sp-storage",
 ]
@@ -11186,7 +11239,7 @@
 dependencies = [
  "finality-grandpa",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-api",
@@ -11204,7 +11257,7 @@
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -11220,7 +11273,7 @@
  "hash-db",
  "libsecp256k1",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "secp256k1",
  "sp-core",
@@ -11255,7 +11308,7 @@
  "async-trait",
  "futures 0.3.21",
  "merlin",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "schnorrkel",
  "serde",
@@ -11279,7 +11332,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "serde",
  "sp-api",
  "sp-core",
@@ -11293,7 +11346,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "serde",
  "sp-arithmetic",
@@ -11341,7 +11394,7 @@
  "hash256-std-hasher",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-util-mem",
  "paste",
  "rand 0.7.3",
@@ -11360,7 +11413,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "impl-trait-for-tuples",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "primitive-types",
  "sp-externalities",
  "sp-runtime-interface-proc-macro",
@@ -11397,7 +11450,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -11411,7 +11464,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -11425,7 +11478,7 @@
  "hash-db",
  "log",
  "num-traits",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.12.0",
  "rand 0.7.3",
  "smallvec",
@@ -11450,7 +11503,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "impl-serde",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "ref-cast",
  "serde",
  "sp-debug-derive",
@@ -11478,7 +11531,7 @@
  "async-trait",
  "futures-timer",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -11491,7 +11544,7 @@
 version = "5.0.0"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-std",
  "tracing",
  "tracing-core",
@@ -11514,7 +11567,7 @@
 dependencies = [
  "async-trait",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-inherents",
@@ -11530,7 +11583,7 @@
 dependencies = [
  "hash-db",
  "memory-db",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-std",
@@ -11545,7 +11598,7 @@
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
  "impl-serde",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parity-wasm 0.42.2",
  "scale-info",
  "serde",
@@ -11561,7 +11614,7 @@
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.21#563f4820d8f36d256ada7ea3fef46b2e94c4cd5a"
 dependencies = [
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "proc-macro2",
  "quote",
  "syn",
@@ -11574,7 +11627,7 @@
 dependencies = [
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-std",
  "wasmi",
  "wasmtime",
@@ -11598,9 +11651,9 @@
 
 [[package]]
 name = "ss58-registry"
-version = "1.17.0"
+version = "1.18.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7b84a70894df7a73666e0694f44b41a9571625e9546fb58a0818a565d2c7e084"
+checksum = "ceb8b72a924ccfe7882d0e26144c114503760a4d1248bb5cd06c8ab2d55404cc"
 dependencies = [
  "Inflector",
  "num-format",
@@ -11751,7 +11804,7 @@
  "jsonrpc-core-client",
  "jsonrpc-derive",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-rpc-api",
  "sc-transaction-pool-api",
@@ -11772,7 +11825,7 @@
  "log",
  "prometheus",
  "thiserror",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -11784,7 +11837,7 @@
  "jsonrpc-core-client",
  "jsonrpc-derive",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-rpc-api",
  "scale-info",
@@ -11806,7 +11859,7 @@
  "async-trait",
  "futures 0.3.21",
  "hex",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sc-client-api",
  "sc-client-db",
  "sc-consensus",
@@ -11831,7 +11884,7 @@
 dependencies = [
  "futures 0.3.21",
  "substrate-test-utils-derive",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
@@ -11869,13 +11922,13 @@
 
 [[package]]
 name = "syn"
-version = "1.0.92"
+version = "1.0.95"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ff7c592601f11445996a06f8ad0c27f094a58857c2f89e97974ab9235b92c52"
+checksum = "fbaf6116ab8924f39d52792136fb74fd60a80194cf1b1c6ffa6453eef1c3f942"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
@@ -11967,7 +12020,7 @@
  "pallet-timestamp",
  "pallet-transaction-payment",
  "pallet-unique",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -12119,14 +12172,14 @@
 
 [[package]]
 name = "tokio"
-version = "1.18.1"
+version = "1.18.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dce653fb475565de9f6fb0614b28bca8df2c430c0cf84bcd9c843f15de5414cc"
+checksum = "4903bf0427cf68dddd5aa6a93220756f8be0c34fcfa9f5e6191e103e15a31395"
 dependencies = [
  "bytes 1.1.0",
  "libc",
  "memchr",
- "mio 0.8.2",
+ "mio 0.8.3",
  "num_cpus",
  "once_cell",
  "parking_lot 0.12.0",
@@ -12166,7 +12219,7 @@
 checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6"
 dependencies = [
  "rustls 0.19.1",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "webpki 0.21.4",
 ]
 
@@ -12176,8 +12229,8 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59"
 dependencies = [
- "rustls 0.20.4",
- "tokio 1.18.1",
+ "rustls 0.20.6",
+ "tokio 1.18.2",
  "webpki 0.22.0",
 ]
 
@@ -12189,35 +12242,35 @@
 dependencies = [
  "futures-core",
  "pin-project-lite 0.2.9",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
 name = "tokio-util"
-version = "0.6.9"
+version = "0.6.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0"
+checksum = "36943ee01a6d67977dd3f84a5a1d2efeb4ada3a1ae771cadfaa535d9d9fc6507"
 dependencies = [
  "bytes 1.1.0",
  "futures-core",
  "futures-sink",
  "log",
  "pin-project-lite 0.2.9",
- "tokio 1.18.1",
+ "tokio 1.18.2",
 ]
 
 [[package]]
 name = "tokio-util"
-version = "0.7.1"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764"
+checksum = "f988a1a1adc2fb21f9c12aa96441da33a1728193ae0b95d2be22dbd17fcb4e5c"
 dependencies = [
  "bytes 1.1.0",
  "futures-core",
  "futures-io",
  "futures-sink",
  "pin-project-lite 0.2.9",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "tracing",
 ]
 
@@ -12435,7 +12488,7 @@
  "clap",
  "jsonrpsee",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "remote-externalities",
  "sc-chain-spec",
  "sc-cli",
@@ -12485,12 +12538,15 @@
  "jsonrpc-derive",
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
+ "rmrk-rpc",
+ "rmrk-types",
  "sp-api",
  "sp-blockchain",
  "sp-core",
  "sp-rpc",
  "sp-runtime",
+ "unique-runtime-common",
  "up-data-structs",
  "up-rpc",
 ]
@@ -12529,6 +12585,12 @@
 checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
 
 [[package]]
+name = "unicode-ident"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
+
+[[package]]
 name = "unicode-normalization"
 version = "0.1.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12588,7 +12650,7 @@
  "pallet-ethereum",
  "pallet-transaction-payment-rpc",
  "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "parking_lot 0.11.2",
  "polkadot-cli",
  "polkadot-parachain",
@@ -12596,6 +12658,7 @@
  "polkadot-service",
  "polkadot-test-service",
  "quartz-runtime",
+ "rmrk-rpc",
  "sc-basic-authorship",
  "sc-chain-spec",
  "sc-cli",
@@ -12633,7 +12696,7 @@
  "substrate-build-script-utils",
  "substrate-frame-rpc-system",
  "substrate-prometheus-endpoint",
- "tokio 1.18.1",
+ "tokio 1.18.2",
  "try-runtime-cli",
  "unique-rpc",
  "unique-runtime",
@@ -12660,6 +12723,7 @@
  "pallet-transaction-payment-rpc",
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-unique",
+ "rmrk-rpc",
  "sc-client-api",
  "sc-consensus-aura",
  "sc-consensus-epochs",
@@ -12687,6 +12751,7 @@
  "tokio 0.2.25",
  "uc-rpc",
  "unique-runtime-common",
+ "up-data-structs",
  "up-rpc",
 ]
 
@@ -12742,8 +12807,9 @@
  "pallet-unq-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
+ "rmrk-rpc",
  "scale-info",
  "serde",
  "smallvec",
@@ -12783,7 +12849,9 @@
  "pallet-nonfungible",
  "pallet-refungible",
  "pallet-unique",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
+ "rmrk-rpc",
+ "rmrk-types",
  "scale-info",
  "sp-consensus-aura",
  "sp-core",
@@ -12847,7 +12915,8 @@
  "frame-support",
  "frame-system",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
+ "rmrk-types",
  "scale-info",
  "serde",
  "sp-core",
@@ -12862,7 +12931,7 @@
 dependencies = [
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-api",
  "sp-core",
  "sp-runtime",
@@ -13341,7 +13410,7 @@
 source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.21#56cbe45f6c9397b06a99a2d80f4752578ed3637f"
 dependencies = [
  "beefy-primitives",
- "bitvec",
+ "bitvec 1.0.0",
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-executive",
@@ -13391,7 +13460,7 @@
  "pallet-vesting",
  "pallet-xcm",
  "pallet-xcm-benchmarks",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -13560,6 +13629,12 @@
 
 [[package]]
 name = "wyz"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
+
+[[package]]
+name = "wyz"
 version = "0.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "30b31594f29d27036c383b53b59ed3476874d518f0efb151b27a4c275141390e"
@@ -13586,7 +13661,7 @@
  "derivative",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "scale-info",
  "xcm-procedural",
 ]
@@ -13600,7 +13675,7 @@
  "frame-system",
  "log",
  "pallet-transaction-payment",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "polkadot-parachain",
  "scale-info",
  "sp-arithmetic",
@@ -13620,7 +13695,7 @@
  "frame-support",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec",
+ "parity-scale-codec 3.1.2",
  "sp-arithmetic",
  "sp-core",
  "sp-io",
@@ -13683,18 +13758,18 @@
 
 [[package]]
 name = "zstd"
-version = "0.10.0+zstd.1.5.2"
+version = "0.10.2+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3b1365becbe415f3f0fcd024e2f7b45bacfb5bdd055f0dc113571394114e7bdd"
+checksum = "5f4a6bd64f22b5e3e94b4e238669ff9f10815c27a5180108b849d24174a83847"
 dependencies = [
  "zstd-safe",
 ]
 
 [[package]]
 name = "zstd-safe"
-version = "4.1.4+zstd.1.5.2"
+version = "4.1.6+zstd.1.5.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f7cd17c9af1a4d6c24beb1cc54b17e2ef7b593dc92f19e9d9acad8b182bbaee"
+checksum = "94b61c51bb270702d6167b8ce67340d2754b088d0c091b06e593aa772c3ee9bb"
 dependencies = [
  "libc",
  "zstd-sys",
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -5,6 +5,7 @@
 edition = "2021"
 
 [dependencies]
+unique-runtime-common = { default-features = false, path = "../../runtime/common" }
 pallet-common = { default-features = false, path = '../../pallets/common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 up-rpc = { path = "../../primitives/rpc" }
@@ -19,3 +20,8 @@
 sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
 sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
 pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
+
+# RMRK
+# todo git
+rmrk-rpc = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } 
+rmrk-types = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } 
modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -16,7 +16,7 @@
 
 use std::sync::Arc;
 
-use codec::Decode;
+use codec::{Decode, Encode};
 use jsonrpc_core::{Error as RpcError, ErrorCode, Result};
 use jsonrpc_derive::rpc;
 use up_data_structs::{
@@ -27,6 +27,15 @@
 use sp_blockchain::HeaderBackend;
 use up_rpc::UniqueApi as UniqueRuntimeApi;
 
+// RMRK
+use rmrk_rpc::RmrkApi as RmrkRuntimeApi;
+use up_data_structs::{
+	RmrkCollectionId, RmrkNftId, RmrkBaseId, RmrkNftChild, RmrkThemeName, RmrkPropertyKey,
+	RmrkResourceId,
+};
+
+pub use rmrk_unique_rpc::RmrkApi;
+
 #[rpc]
 pub trait UniqueApi<BlockHash, CrossAccountId, AccountId> {
 	#[rpc(name = "unique_accountTokens")]
@@ -179,6 +188,124 @@
 	) -> Result<Option<CollectionLimits>>;
 }
 
+mod rmrk_unique_rpc {
+	use super::*;
+
+	#[rpc(server)]
+	pub trait RmrkApi<
+		BlockHash,
+		AccountId,
+		CollectionInfo,
+		NftInfo,
+		ResourceInfo,
+		PropertyInfo,
+		BaseInfo,
+		PartType,
+		Theme,
+	>
+	{
+		#[rpc(name = "rmrk_lastCollectionIdx")]
+		/// Get the latest created collection id
+		fn last_collection_idx(&self, at: Option<BlockHash>) -> Result<RmrkCollectionId>;
+
+		#[rpc(name = "rmrk_collectionById")]
+		/// Get collection by id
+		fn collection_by_id(
+			&self,
+			id: RmrkCollectionId,
+			at: Option<BlockHash>,
+		) -> Result<Option<CollectionInfo>>;
+
+		#[rpc(name = "rmrk_nftById")]
+		/// Get NFT by collection id and NFT id
+		fn nft_by_id(
+			&self,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			at: Option<BlockHash>,
+		) -> Result<Option<NftInfo>>;
+
+		#[rpc(name = "rmrk_accountTokens")]
+		/// Get tokens owned by an account in a collection
+		fn account_tokens(
+			&self,
+			account_id: AccountId,
+			collection_id: RmrkCollectionId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<RmrkNftId>>;
+
+		#[rpc(name = "rmrk_nftChildren")]
+		/// Get NFT children
+		fn nft_children(
+			&self,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<RmrkNftChild>>;
+
+		#[rpc(name = "rmrk_collectionProperties")]
+		/// Get collection properties
+		fn collection_properties(
+			&self,
+			collection_id: RmrkCollectionId,
+			filter_keys: Option<Vec<RmrkPropertyKey>>, //String
+			at: Option<BlockHash>,
+		) -> Result<Vec<PropertyInfo>>;
+
+		#[rpc(name = "rmrk_nftProperties")]
+		/// Get NFT properties
+		fn nft_properties(
+			&self,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			filter_keys: Option<Vec<RmrkPropertyKey>>,
+			at: Option<BlockHash>,
+		) -> Result<Vec<PropertyInfo>>;
+
+		#[rpc(name = "rmrk_nftResources")]
+		/// Get NFT resources
+		fn nft_resources(
+			&self,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<ResourceInfo>>;
+
+		#[rpc(name = "rmrk_nftResourcePriorities")]
+		/// Get NFT resource priorities
+		fn nft_resource_priorities(
+			&self,
+			collection_id: RmrkCollectionId,
+			nft_id: RmrkNftId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<RmrkResourceId>>;
+
+		#[rpc(name = "rmrk_base")]
+		/// Get base info
+		fn base(&self, base_id: RmrkBaseId, at: Option<BlockHash>) -> Result<Option<BaseInfo>>;
+
+		#[rpc(name = "rmrk_baseParts")]
+		/// Get all Base's parts
+		fn base_parts(&self, base_id: RmrkBaseId, at: Option<BlockHash>) -> Result<Vec<PartType>>;
+
+		#[rpc(name = "rmrk_themeNames")]
+		fn theme_names(
+			&self,
+			base_id: RmrkBaseId,
+			at: Option<BlockHash>,
+		) -> Result<Vec<RmrkThemeName>>;
+
+		#[rpc(name = "rmrk_themes")]
+		fn theme(
+			&self,
+			base_id: RmrkBaseId,
+			theme_name: RmrkThemeName, // String
+			filter_keys: Option<Vec<RmrkPropertyKey>>,
+			at: Option<BlockHash>,
+		) -> Result<Option<Theme>>;
+	}
+}
+
 pub struct Unique<C, P> {
 	client: Arc<C>,
 	_marker: std::marker::PhantomData<P>,
@@ -209,7 +336,9 @@
 	(
 		$method_name:ident(
 			$($(#[map(|$map_arg:ident| $map:expr)])? $name:ident: $ty:ty),* $(,)?
-		) -> $result:ty $(=> $mapper:expr)?
+		) -> $result:ty $(=> $mapper:expr)?,
+		//$runtime_name:ident $(<$($lt: tt),+>)*
+		$runtime_api_macro:ident
 		$(; changed_in $ver:expr, $changed_method_name:ident ($($changed_name:expr), * $(,)?) => $fixer:expr)*
 	) => {
 		fn $method_name(
@@ -222,7 +351,7 @@
 			let api = self.client.runtime_api();
 			let at = BlockId::hash(at.unwrap_or_else(|| self.client.info().best_hash));
 			let _api_version = if let Ok(Some(api_version)) =
-				api.api_version::<dyn UniqueRuntimeApi<Block, CrossAccountId, AccountId>>(&at)
+				api.api_version::<$runtime_api_macro!()>(&at)
 			{
 				api_version
 			} else {
@@ -253,6 +382,18 @@
 	};
 }
 
+macro_rules! unique_api {
+	() => {
+		dyn UniqueRuntimeApi<Block, CrossAccountId, AccountId>
+	};
+}
+
+macro_rules! rmrk_api {
+	() => {
+		dyn RmrkRuntimeApi<Block, AccountId, CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme>
+	};
+}
+
 #[allow(deprecated)]
 impl<C, Block, CrossAccountId, AccountId>
 	UniqueApi<<Block as BlockT>::Hash, CrossAccountId, AccountId> for Unique<C, Block>
@@ -263,22 +404,38 @@
 	C::Api: UniqueRuntimeApi<Block, CrossAccountId, AccountId>,
 	CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
 {
-	pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
-	pass_method!(collection_tokens(collection: CollectionId) -> Vec<TokenId>);
-	pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
 	pass_method!(
-		token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>;
-		changed_in 2, token_owner_before_version_2(collection, token) => |u| Some(u)
+		account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>, unique_api
 	);
-	pass_method!(topmost_token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>);
-	pass_method!(const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>);
+	pass_method!(
+		collection_tokens(collection: CollectionId) -> Vec<TokenId>, unique_api
+	);
+	pass_method!(
+		token_exists(collection: CollectionId, token: TokenId) -> bool, unique_api
+	);
+	pass_method!(
+		token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>, unique_api
+	);
+	pass_method!(
+		topmost_token_owner(collection: CollectionId, token: TokenId) -> Option<CrossAccountId>, unique_api
+	);
+	pass_method!(
+		const_metadata(collection: CollectionId, token: TokenId) -> Vec<u8>, unique_api
+	);
+	pass_method!(total_supply(collection: CollectionId) -> u32, unique_api);
+	pass_method!(account_balance(collection: CollectionId, account: CrossAccountId) -> u32, unique_api);
+	pass_method!(balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> String => |v| v.to_string(), unique_api);
+	pass_method!(
+		allowance(collection: CollectionId, sender: CrossAccountId, spender: CrossAccountId, token: TokenId) -> String => |v| v.to_string(),
+		unique_api
+	);
 
 	pass_method!(collection_properties(
 		collection: CollectionId,
 
 		#[map(|keys| string_keys_to_bytes_keys(keys))]
 		keys: Option<Vec<String>>
-	) -> Vec<Property>);
+	) -> Vec<Property>, unique_api);
 
 	pass_method!(token_properties(
 		collection: CollectionId,
@@ -286,14 +443,14 @@
 
 		#[map(|keys| string_keys_to_bytes_keys(keys))]
 		keys: Option<Vec<String>>
-	) -> Vec<Property>);
+	) -> Vec<Property>, unique_api);
 
 	pass_method!(property_permissions(
 		collection: CollectionId,
 
 		#[map(|keys| string_keys_to_bytes_keys(keys))]
 		keys: Option<Vec<String>>
-	) -> Vec<PropertyKeyPermission>);
+	) -> Vec<PropertyKeyPermission>, unique_api);
 
 	pass_method!(token_data(
 		collection: CollectionId,
@@ -301,25 +458,86 @@
 
 		#[map(|keys| string_keys_to_bytes_keys(keys))]
 		keys: Option<Vec<String>>,
-	) -> TokenData<CrossAccountId>);
+	) -> TokenData<CrossAccountId>, unique_api);
 
-	pass_method!(total_supply(collection: CollectionId) -> u32);
-	pass_method!(account_balance(collection: CollectionId, account: CrossAccountId) -> u32);
-	pass_method!(balance(collection: CollectionId, account: CrossAccountId, token: TokenId) -> String => |v| v.to_string());
-	pass_method!(allowance(collection: CollectionId, sender: CrossAccountId, spender: CrossAccountId, token: TokenId) -> String => |v| v.to_string());
+	pass_method!(adminlist(collection: CollectionId) -> Vec<CrossAccountId>, unique_api);
+	pass_method!(allowlist(collection: CollectionId) -> Vec<CrossAccountId>, unique_api);
+	pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool, unique_api);
+	pass_method!(last_token_id(collection: CollectionId) -> TokenId, unique_api);
+	pass_method!(collection_by_id(collection: CollectionId) -> Option<RpcCollection<AccountId>>, unique_api);
+	pass_method!(collection_stats() -> CollectionStats, unique_api);
+	pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option<u64>, unique_api);
+	pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option<CollectionLimits>, unique_api);
+}
 
-	pass_method!(adminlist(collection: CollectionId) -> Vec<CrossAccountId>);
-	pass_method!(allowlist(collection: CollectionId) -> Vec<CrossAccountId>);
-	pass_method!(allowed(collection: CollectionId, user: CrossAccountId) -> bool);
-	pass_method!(last_token_id(collection: CollectionId) -> TokenId);
-	pass_method!(collection_by_id(collection: CollectionId) -> Option<RpcCollection<AccountId>>);
-	pass_method!(collection_stats() -> CollectionStats);
-	pass_method!(next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Option<u64>);
-	pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option<CollectionLimits>);
+#[allow(deprecated)]
+impl<
+		C,
+		Block,
+		AccountId,
+		CollectionInfo,
+		NftInfo,
+		ResourceInfo,
+		PropertyInfo,
+		BaseInfo,
+		PartType,
+		Theme,
+	>
+	rmrk_unique_rpc::RmrkApi<
+		<Block as BlockT>::Hash,
+		AccountId,
+		CollectionInfo,
+		NftInfo,
+		ResourceInfo,
+		PropertyInfo,
+		BaseInfo,
+		PartType,
+		Theme,
+	> for Unique<C, Block>
+where
+	C: Send + Sync + 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
+	C::Api: RmrkRuntimeApi<
+		Block,
+		AccountId,
+		CollectionInfo,
+		NftInfo,
+		ResourceInfo,
+		PropertyInfo,
+		BaseInfo,
+		PartType,
+		Theme,
+	>,
+	AccountId: Decode + Encode,
+	CollectionInfo: Decode,
+	NftInfo: Decode,
+	ResourceInfo: Decode,
+	PropertyInfo: Decode,
+	BaseInfo: Decode,
+	PartType: Decode,
+	Theme: Decode,
+	Block: BlockT,
+{
+	pass_method!(last_collection_idx() -> RmrkCollectionId, rmrk_api);
+	pass_method!(collection_by_id(id: RmrkCollectionId) -> Option<CollectionInfo>, rmrk_api);
+	pass_method!(nft_by_id(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Option<NftInfo>, rmrk_api);
+	pass_method!(account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Vec<RmrkNftId>, rmrk_api);
+	pass_method!(nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec<RmrkNftChild>, rmrk_api);
+	pass_method!(
+		collection_properties(collection_id: RmrkCollectionId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Vec<PropertyInfo>,
+		rmrk_api
+	);
+	pass_method!(
+		nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Vec<PropertyInfo>,
+		rmrk_api
+	);
+	pass_method!(nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec<ResourceInfo>, rmrk_api);
+	pass_method!(nft_resource_priorities(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Vec<RmrkResourceId>, rmrk_api);
+	pass_method!(base(base_id: RmrkBaseId) -> Option<BaseInfo>, rmrk_api);
+	pass_method!(base_parts(base_id: RmrkBaseId) -> Vec<PartType>, rmrk_api);
+	pass_method!(theme_names(base_id: RmrkBaseId) -> Vec<RmrkThemeName>, rmrk_api);
+	pass_method!(theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Option<Theme>, rmrk_api);
 }
 
 fn string_keys_to_bytes_keys(keys: Option<Vec<String>>) -> Option<Vec<Vec<u8>>> {
-	keys.map(|keys| {
-		keys.into_iter().map(|key| key.into_bytes()).collect()
-	})
+	keys.map(|keys| keys.into_iter().map(|key| key.into_bytes()).collect())
 }
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -276,6 +276,14 @@
 branch = "polkadot-v0.9.21"
 
 ################################################################################
+# RMRK dependencies
+
+# todo git
+[dependencies.rmrk-rpc]
+git = "https://github.com/UniqueNetwork/rmrk-substrate.git"
+branch = "feature/separate-types-and-traits"
+
+################################################################################
 # Package
 
 [package]
modifiednode/cli/src/service.rsdiffbeforeafterboth
--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -67,6 +67,12 @@
 
 use unique_runtime_common::types::{AuraId, RuntimeInstance, AccountId, Balance, Index, Hash, Block};
 
+// RMRK
+use up_data_structs::{
+	RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, RmrkBaseInfo,
+	RmrkPartType, RmrkTheme,
+};
+
 /// Unique native executor instance.
 #[cfg(feature = "unique-runtime")]
 pub struct UniqueRuntimeExecutor;
@@ -347,7 +353,17 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, Runtime::CrossAccountId, AccountId>
-		+ substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
+		+ rmrk_rpc::RmrkApi<
+			Block,
+			AccountId,
+			RmrkCollectionInfo<AccountId>,
+			RmrkInstanceInfo<AccountId>,
+			RmrkResourceInfo,
+			RmrkPropertyInfo,
+			RmrkBaseInfo<AccountId>,
+			RmrkPartType,
+			RmrkTheme,
+		> + substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
 		+ sp_api::Metadata<Block>
 		+ sp_offchain::OffchainWorkerApi<Block>
 		+ cumulus_primitives_core::CollectCollationInfo<Block>,
@@ -628,7 +644,17 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, Runtime::CrossAccountId, AccountId>
-		+ substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
+		+ rmrk_rpc::RmrkApi<
+			Block,
+			AccountId,
+			RmrkCollectionInfo<AccountId>,
+			RmrkInstanceInfo<AccountId>,
+			RmrkResourceInfo,
+			RmrkPropertyInfo,
+			RmrkBaseInfo<AccountId>,
+			RmrkPartType,
+			RmrkTheme,
+		> + substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
 		+ sp_api::Metadata<Block>
 		+ sp_offchain::OffchainWorkerApi<Block>
 		+ cumulus_primitives_core::CollectCollationInfo<Block>
@@ -761,7 +787,17 @@
 		+ pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi<Block, Balance>
 		+ sp_api::ApiExt<Block, StateBackend = sc_client_api::StateBackendFor<FullBackend, Block>>
 		+ up_rpc::UniqueApi<Block, Runtime::CrossAccountId, AccountId>
-		+ substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
+		+ rmrk_rpc::RmrkApi<
+			Block,
+			AccountId,
+			RmrkCollectionInfo<AccountId>,
+			RmrkInstanceInfo<AccountId>,
+			RmrkResourceInfo,
+			RmrkPropertyInfo,
+			RmrkBaseInfo<AccountId>,
+			RmrkPartType,
+			RmrkTheme,
+		> + substrate_frame_rpc_system::AccountNonceApi<Block, AccountId, Index>
 		+ sp_api::Metadata<Block>
 		+ sp_offchain::OffchainWorkerApi<Block>
 		+ cumulus_primitives_core::CollectCollationInfo<Block>
modifiednode/rpc/Cargo.tomldiffbeforeafterboth
--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -49,11 +49,16 @@
 fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
 fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
 
+# RMRK
+# todo git
+rmrk-rpc = { git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" }
+
 pallet-common = { default-features = false, path = "../../pallets/common" }
 unique-runtime-common = { default-features = false, path = "../../runtime/common" }
 pallet-unique = { path = "../../pallets/unique" }
 uc-rpc = { path = "../../client/rpc" }
 up-rpc = { path = "../../primitives/rpc" }
+up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
 
 [dependencies.serde]
 features = ['derive']
modifiednode/rpc/src/lib.rsdiffbeforeafterboth
--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -43,6 +43,11 @@
 use unique_runtime_common::types::{
 	Hash, AccountId, RuntimeInstance, Index, Block, BlockNumber, Balance,
 };
+// RMRK
+use up_data_structs::{
+	RmrkCollectionInfo, RmrkInstanceInfo, RmrkResourceInfo, RmrkPropertyInfo, RmrkBaseInfo,
+	RmrkPartType, RmrkTheme,
+};
 
 /// Public io handler for exporting into other modules
 pub type IoHandler = jsonrpc_core::IoHandler<sc_rpc::Metadata>;
@@ -144,6 +149,17 @@
 	C::Api: fp_rpc::EthereumRuntimeRPCApi<Block>,
 	C::Api: fp_rpc::ConvertTransactionRuntimeApi<Block>,
 	C::Api: up_rpc::UniqueApi<Block, <R as RuntimeInstance>::CrossAccountId, AccountId>,
+	C::Api: rmrk_rpc::RmrkApi<
+		Block,
+		AccountId,
+		RmrkCollectionInfo<AccountId>,
+		RmrkInstanceInfo<AccountId>,
+		RmrkResourceInfo,
+		RmrkPropertyInfo,
+		RmrkBaseInfo<AccountId>,
+		RmrkPartType,
+		RmrkTheme,
+	>,
 	B: sc_client_api::Backend<Block> + Send + Sync + 'static,
 	B::State: sc_client_api::backend::StateBackend<sp_runtime::traits::HashFor<Block>>,
 	P: TransactionPool<Block = Block> + 'static,
@@ -157,7 +173,7 @@
 		EthPubSubApiServer, EthSigner, HexEncodedIdProvider, NetApi, NetApiServer, Web3Api,
 		Web3ApiServer,
 	};
-	use uc_rpc::{UniqueApi, Unique};
+	use uc_rpc::{UniqueApi, RmrkApi, Unique};
 	// use pallet_contracts_rpc::{Contracts, ContractsApi};
 	use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApi};
 	use substrate_frame_rpc_system::{FullSystem, SystemApi};
@@ -213,7 +229,11 @@
 		fee_history_limit,
 		fee_history_cache,
 	)));
+
+	// todo look into
+	//let unique = Unique::new(client.clone());
 	io.extend_with(UniqueApi::to_delegate(Unique::new(client.clone())));
+	io.extend_with(RmrkApi::to_delegate(Unique::new(client.clone())));
 
 	if let Some(filter_pool) = filter_pool {
 		io.extend_with(EthFilterApiServer::to_delegate(EthFilterApi::new(
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -26,6 +26,10 @@
     "derive",
 ] }
 
+# RMRK
+# todo git
+rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" }
+
 [features]
 default = ["std"]
 std = [
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -30,15 +30,52 @@
 };
 use pallet_evm::GasWeightMapping;
 use up_data_structs::{
-	COLLECTION_NUMBER_LIMIT, Collection, RpcCollection, CollectionId, CreateItemData,
-	MAX_TOKEN_PREFIX_LENGTH, COLLECTION_ADMINS_LIMIT, TokenId, CollectionStats,
-	MAX_TOKEN_OWNERSHIP, CollectionMode, NFT_SPONSOR_TRANSFER_TIMEOUT,
-	FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT,
-	CUSTOM_DATA_LIMIT, CollectionLimits, CreateCollectionData, SponsorshipState, CreateItemExData,
-	SponsoringRateLimit, budget::Budget, COLLECTION_FIELD_LIMIT, CollectionField, PhantomType,
-	Property, Properties, PropertiesPermissionMap, PropertyKey, PropertyPermission,
-	PropertiesError, PropertyKeyPermission, TokenData, TrySetProperty,
+	COLLECTION_NUMBER_LIMIT,
+	Collection,
+	RpcCollection,
+	CollectionId,
+	CreateItemData,
+	MAX_TOKEN_PREFIX_LENGTH,
+	COLLECTION_ADMINS_LIMIT,
+	TokenId,
+	CollectionStats,
+	MAX_TOKEN_OWNERSHIP,
+	CollectionMode,
+	NFT_SPONSOR_TRANSFER_TIMEOUT,
+	FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+	REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+	MAX_SPONSOR_TIMEOUT,
+	CUSTOM_DATA_LIMIT,
+	CollectionLimits,
+	CreateCollectionData,
+	SponsorshipState,
+	CreateItemExData,
+	SponsoringRateLimit,
+	budget::Budget,
+	COLLECTION_FIELD_LIMIT,
+	CollectionField,
+	PhantomType,
+	Property,
+	Properties,
+	PropertiesPermissionMap,
+	PropertyKey,
+	PropertyPermission,
+	PropertiesError,
+	PropertyKeyPermission,
+	TokenData,
+	TrySetProperty,
+	PropertyScope,
+	// RMRK
+	RmrkCollectionInfo,
+	RmrkInstanceInfo,
+	RmrkResourceInfo,
+	RmrkPropertyInfo,
+	RmrkBaseInfo,
+	RmrkPartType,
+	RmrkTheme,
+	RmrkNftChild,
 };
+
 pub use pallet::*;
 use sp_core::H160;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
@@ -441,6 +478,15 @@
 			TokenId,
 			PhantomType<TokenData<T::CrossAccountId>>,
 			PhantomType<RpcCollection<T::AccountId>>,
+			// RMRK
+			PhantomType<RmrkCollectionInfo<T::AccountId>>,
+			PhantomType<RmrkInstanceInfo<T::AccountId>>,
+			PhantomType<RmrkResourceInfo>,
+			PhantomType<RmrkPropertyInfo>,
+			PhantomType<RmrkBaseInfo<T::AccountId>>,
+			PhantomType<RmrkPartType>,
+			PhantomType<RmrkTheme>,
+			PhantomType<RmrkNftChild>,
 		),
 		QueryKind = OptionQuery,
 	>;
@@ -644,18 +690,14 @@
 
 		let mut collection_properties = up_data_structs::CollectionProperties::get();
 		collection_properties
-			.try_set_from_iter(data.properties.into_iter().map(|p| (p.key, p.value)))
+			.try_set_from_iter(data.properties.into_iter())
 			.map_err(<Error<T>>::from)?;
 
 		CollectionProperties::<T>::insert(id, collection_properties);
 
 		let mut token_props_permissions = PropertiesPermissionMap::new();
 		token_props_permissions
-			.try_set_from_iter(
-				data.token_property_permissions
-					.into_iter()
-					.map(|property| (property.key, property.permission)),
-			)
+			.try_set_from_iter(data.token_property_permissions.into_iter())
 			.map_err(<Error<T>>::from)?;
 
 		CollectionPropertyPermissions::<T>::insert(id, token_props_permissions);
@@ -720,6 +762,7 @@
 		<AdminAmount<T>>::remove(collection.id);
 		<IsAdmin<T>>::remove_prefix((collection.id,), None);
 		<Allowlist<T>>::remove_prefix((collection.id,), None);
+		<CollectionProperties<T>>::remove(collection.id);
 
 		<Pallet<T>>::deposit_event(Event::CollectionDestroyed(collection.id));
 		Ok(())
@@ -743,7 +786,34 @@
 		Ok(())
 	}
 
+	pub fn set_scoped_collection_property(
+		collection: &CollectionHandle<T>,
+		scope: PropertyScope,
+		property: Property,
+	) -> DispatchResult {
+		CollectionProperties::<T>::try_mutate(collection.id, |properties| {
+			properties.try_scoped_set(scope, property.key, property.value)
+		})
+		.map_err(<Error<T>>::from)?;
+
+		Ok(())
+	}
+
 	#[transactional]
+	pub fn set_scoped_collection_properties(
+		collection: &CollectionHandle<T>,
+		scope: PropertyScope,
+		properties: impl Iterator<Item=Property>,
+	) -> DispatchResult {
+		CollectionProperties::<T>::try_mutate(collection.id, |stored_properties| {
+			stored_properties.try_scoped_set_from_iter(scope, properties)
+		})
+		.map_err(<Error<T>>::from)?;
+
+		Ok(())
+	}
+
+	#[transactional]
 	pub fn set_collection_properties(
 		collection: &CollectionHandle<T>,
 		sender: &T::CrossAccountId,
@@ -849,23 +919,26 @@
 	) -> Result<Vec<Property>, DispatchError> {
 		let properties = Self::collection_properties(collection_id);
 
-		let properties = keys.map(|keys| {
-			keys.into_iter()
-			.filter_map(|key| {
-				properties.get(&key).map(|value| Property {
-					key,
-					value: value.clone(),
-				})
+		let properties = keys
+			.map(|keys| {
+				keys.into_iter()
+					.filter_map(|key| {
+						properties.get(&key).map(|value| Property {
+							key,
+							value: value.clone(),
+						})
+					})
+					.collect()
 			})
-			.collect()
-		}).unwrap_or(
-			properties.iter()
-				.map(|(key, value)| Property {
-					key: key.clone(),
-					value: value.clone(),
-				})
-				.collect()
-		);
+			.unwrap_or_else(|| {
+				properties
+					.iter()
+					.map(|(key, value)| Property {
+						key: key.clone(),
+						value: value.clone(),
+					})
+					.collect()
+			});
 
 		Ok(properties)
 	}
@@ -876,25 +949,28 @@
 	) -> Result<Vec<PropertyKeyPermission>, DispatchError> {
 		let permissions = Self::property_permissions(collection_id);
 
-		let key_permissions = keys.map(|keys| {
-			keys.into_iter()
-			.filter_map(|key| {
+		let key_permissions = keys
+			.map(|keys| {
+				keys.into_iter()
+					.filter_map(|key| {
+						permissions
+							.get(&key)
+							.map(|permission| PropertyKeyPermission {
+								key,
+								permission: permission.clone(),
+							})
+					})
+					.collect()
+			})
+			.unwrap_or_else(|| {
 				permissions
-					.get(&key)
-					.map(|permission| PropertyKeyPermission {
-						key,
+					.iter()
+					.map(|(key, permission)| PropertyKeyPermission {
+						key: key.clone(),
 						permission: permission.clone(),
 					})
-			})
-			.collect()
-		}).unwrap_or(
-			permissions.iter()
-				.map(|(key, permission)| PropertyKeyPermission {
-					key: key.clone(),
-					permission: permission.clone(),
-				})
-				.collect()
-		);
+					.collect()
+			});
 
 		Ok(key_permissions)
 	}
modifiedpallets/fungible/src/common.rsdiffbeforeafterboth
--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -319,7 +319,11 @@
 		Vec::new()
 	}
 
-	fn token_properties(&self, _token_id: TokenId, _keys: Option<Vec<PropertyKey>>) -> Vec<Property> {
+	fn token_properties(
+		&self,
+		_token_id: TokenId,
+		_keys: Option<Vec<PropertyKey>>,
+	) -> Vec<Property> {
 		Vec::new()
 	}
 
modifiedpallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -28,10 +28,7 @@
 
 fn create_max_item_data<T: Config>(owner: T::CrossAccountId) -> CreateItemData<T> {
 	let const_data = create_data::<CUSTOM_DATA_LIMIT>();
-	CreateItemData::<T> {
-		const_data,
-		owner,
-	}
+	CreateItemData::<T> { const_data, owner }
 }
 fn create_max_item<T: Config>(
 	collection: &NonfungibleHandle<T>,
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -18,8 +18,8 @@
 
 use frame_support::{dispatch::DispatchResultWithPostInfo, ensure, fail, weights::Weight};
 use up_data_structs::{
-	TokenId, CreateItemExData, CollectionId, budget::Budget, Property,
-	PropertyKey, PropertyKeyPermission,
+	TokenId, CreateItemExData, CollectionId, budget::Budget, Property, PropertyKey,
+	PropertyKeyPermission,
 };
 use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
 use sp_runtime::DispatchError;
@@ -179,7 +179,7 @@
 		let weight = <CommonWeights<T>>::delete_collection_properties(property_keys.len() as u32);
 
 		with_weight(
-			<Pallet<T>>::delete_collection_properties(self, &sender, property_keys),
+			<Pallet<T>>::delete_collection_properties(self, sender, property_keys),
 			weight,
 		)
 	}
@@ -367,20 +367,23 @@
 
 		keys.map(|keys| {
 			keys.into_iter()
-			.filter_map(|key| {
-				properties.get(&key).map(|value| Property {
-					key,
+				.filter_map(|key| {
+					properties.get(&key).map(|value| Property {
+						key,
+						value: value.clone(),
+					})
+				})
+				.collect()
+		})
+		.unwrap_or_else(|| {
+			properties
+				.iter()
+				.map(|(key, value)| Property {
+					key: key.clone(),
 					value: value.clone(),
 				})
-			})
-			.collect()
-		}).unwrap_or(
-			properties.iter().map(|(key, value)| Property {
-				key: key.clone(),
-				value: value.clone(),
-			})
-			.collect()
-		)
+				.collect()
+		})
 	}
 
 	fn total_supply(&self) -> u32 {
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -257,6 +257,7 @@
 		<Owned<T>>::remove((collection.id, &token_data.owner, token));
 		<TokensBurnt<T>>::insert(collection.id, burnt);
 		<TokenData<T>>::remove((collection.id, token));
+		<TokenProperties<T>>::remove((collection.id, token));
 		let old_spender = <Allowance<T>>::take((collection.id, token));
 
 		if let Some(old_spender) = old_spender {
@@ -353,8 +354,8 @@
 	) -> DispatchResult {
 		let permission = <PalletCommon<T>>::property_permissions(collection.id)
 			.get(property_key)
-			.map(|p| p.clone())
-			.unwrap_or(PropertyPermission::none());
+			.cloned()
+			.unwrap_or_else(PropertyPermission::none);
 
 		let token_data = <TokenData<T>>::get((collection.id, token_id))
 			.ok_or(<CommonError<T>>::TokenNotFound)?;
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -19,8 +19,8 @@
 use sp_std::collections::btree_map::BTreeMap;
 use frame_support::{dispatch::DispatchResultWithPostInfo, fail, weights::Weight};
 use up_data_structs::{
-	CollectionId, TokenId, CreateItemExData, CreateRefungibleExData,
-	budget::Budget, Property, PropertyKey, PropertyKeyPermission,
+	CollectionId, TokenId, CreateItemExData, CreateRefungibleExData, budget::Budget, Property,
+	PropertyKey, PropertyKeyPermission,
 };
 use pallet_common::{CommonCollectionOperations, CommonWeightInfo, with_weight};
 use sp_runtime::DispatchError;
@@ -340,7 +340,11 @@
 			.into_inner()
 	}
 
-	fn token_properties(&self, _token_id: TokenId, _keys: Option<Vec<PropertyKey>>) -> Vec<Property> {
+	fn token_properties(
+		&self,
+		_token_id: TokenId,
+		_keys: Option<Vec<PropertyKey>>,
+	) -> Vec<Property> {
 		Vec::new()
 	}
 
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -53,7 +53,10 @@
 #[frame_support::pallet]
 pub mod pallet {
 	use super::*;
-	use frame_support::{Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key, traits::StorageVersion};
+	use frame_support::{
+		Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key,
+		traits::StorageVersion,
+	};
 	use frame_system::pallet_prelude::*;
 	use up_data_structs::{CollectionId, TokenId};
 	use super::weights::WeightInfo;
addedpallets/rmrk-proxy/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/pallets/rmrk-proxy/Cargo.toml
@@ -0,0 +1,49 @@
+[package]
+name = "pallet-rmrk-proxy"
+version = "0.1.0"
+license = "GPLv3"
+edition = "2021"
+
+[dependencies.codec]
+default-features = false
+features = ['derive']
+package = 'parity-scale-codec'
+version = '3.1.2'
+
+[dependencies]
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+pallet-common = { default-features = false, path = '../common' }
+pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }
+# pallet-structure = { default-features = false, path = '../structure' }
+up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
+# evm-coder = { default-features = false, path = '../../crates/evm-coder' }
+# pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.21" }
+scale-info = { version = "2.0.1", default-features = false, features = ["derive"] }
+
+[features]
+default = ["std"]
+std = [
+    "frame-support/std",
+    "frame-system/std",
+    "sp-runtime/std",
+    "sp-std/std",
+    "up-data-structs/std",
+    "pallet-common/std",
+    "pallet-nonfungible/std",
+    "pallet-evm/std",
+    # "pallet-structure/std",
+    # "evm-coder/std",
+    # "pallet-evm-coder-substrate/std",
+    'frame-benchmarking/std',
+]
+runtime-benchmarks = [
+    'frame-benchmarking',
+    'frame-support/runtime-benchmarks',
+    'frame-system/runtime-benchmarks',
+]
addedpallets/rmrk-proxy/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/rmrk-proxy/src/lib.rs
@@ -0,0 +1,232 @@
+// 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/>.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+use frame_support::{pallet_prelude::*, transactional, BoundedVec, traits::ConstU32, dispatch::DispatchResult};
+use frame_system::{pallet_prelude::*, ensure_signed};
+use sp_runtime::DispatchError;
+use up_data_structs::*;
+use pallet_common::{Pallet as PalletCommon, Error as CommonError, CollectionHandle, CommonCollectionOperations};
+use pallet_nonfungible::{Pallet as PalletNft, NonfungibleHandle};
+use pallet_evm::account::CrossAccountId;
+
+pub use pallet::*;
+
+pub mod misc;
+
+use misc::*;
+
+#[frame_support::pallet]
+pub mod pallet {
+    use super::*;
+    use pallet_evm::account;
+
+	#[pallet::config]
+	pub trait Config: frame_system::Config
+                    + pallet_common::Config
+                    + pallet_nonfungible::Config
+                    + account::Config {
+		type Event: From<Event<Self>> + IsType<<Self as frame_system::Config>::Event>;
+	}
+
+	#[pallet::pallet]
+	#[pallet::generate_store(pub(super) trait Store)]
+	pub struct Pallet<T>(_);
+
+	#[pallet::event]
+	#[pallet::generate_deposit(pub(super) fn deposit_event)]
+	pub enum Event<T: Config> {
+        CollectionCreated {
+			issuer: T::AccountId,
+			collection_id: CollectionId,
+		},
+        CollectionDestroyed {
+			issuer: T::AccountId,
+			collection_id: CollectionId,
+		},
+        CollectionLocked {
+			issuer: T::AccountId,
+			collection_id: CollectionId,
+		},
+	}
+
+	#[pallet::error]
+	pub enum Error<T> {
+        /* Unique-specific events */
+        CorruptedCollectionType,
+        NotRmrkCollection,
+
+        /* RMRK compatible events */
+        CollectionNotEmpty,
+        NoAvailableCollectionId,
+        CollectionUnknown,
+	}
+
+	#[pallet::call]
+	impl<T: Config> Pallet<T> {
+        #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn create_collection(
+			origin: OriginFor<T>,
+			metadata: PropertyValue,
+			max: Option<u32>,
+			symbol: BoundedVec<u8, ConstU32<MAX_TOKEN_PREFIX_LENGTH>>,
+		) -> DispatchResult {
+            let sender = ensure_signed(origin)?;
+
+            let limits = max.map(|max| CollectionLimits {
+                token_limit: Some(max),
+                ..Default::default()
+            });
+
+            let data = CreateCollectionData {
+                limits,
+                token_prefix: symbol,
+                ..Default::default()
+            };
+
+            let collection_id_res = <PalletNft<T>>::init_collection(sender.clone(), data);
+
+            if let Err(DispatchError::Arithmetic(_)) = &collection_id_res {
+                return Err(<Error<T>>::NoAvailableCollectionId.into());
+            }
+
+            let collection_id = collection_id_res?;
+
+            let collection = Self::get_nft_collection(collection_id)?.into_inner();
+
+            <PalletCommon<T>>::set_scoped_collection_properties(
+                &collection,
+                PropertyScope::Rmrk,
+                [
+                    rmrk_property!(Metadata, metadata),
+                    rmrk_property!(CollectionType, CollectionType::Regular),
+                ].into_iter()
+            )?;
+
+            Self::deposit_event(Event::CollectionCreated { issuer: sender, collection_id });
+
+            Ok(())
+        }
+
+        #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn destroy_collection(
+			origin: OriginFor<T>,
+			collection_id: CollectionId,
+		) -> DispatchResult {
+            let sender = ensure_signed(origin)?;
+            let cross_sender = T::CrossAccountId::from_sub(sender.clone());
+
+            let collection = Self::get_nft_collection(collection_id)?;
+
+            Self::check_collection_type(collection_id, CollectionType::Regular)?;
+
+            ensure!(collection.total_supply() == 0, <Error<T>>::CollectionNotEmpty);
+
+            <PalletNft<T>>::destroy_collection(collection, &cross_sender)?;
+
+            Self::deposit_event(Event::CollectionDestroyed { issuer: sender, collection_id });
+
+            Ok(())
+        }
+
+        #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn change_collection_issuer(
+			origin: OriginFor<T>,
+			collection_id: CollectionId,
+			new_issuer: T::AccountId,
+		) -> DispatchResult {
+            let sender = ensure_signed(origin)?;
+
+            Self::change_collection_owner(
+                collection_id,
+                CollectionType::Regular,
+                sender,
+                new_issuer
+            )?;
+
+            Ok(())
+        }
+
+        #[pallet::weight(10_000 + T::DbWeight::get().reads_writes(1,1))]
+		#[transactional]
+		pub fn lock_collection(
+			origin: OriginFor<T>,
+			collection_id: CollectionId,
+		) -> DispatchResult {
+            let sender = ensure_signed(origin)?;
+            let cross_sender = T::CrossAccountId::from_sub(sender.clone());
+
+            let collection = Self::get_nft_collection(collection_id)?;
+            collection.check_is_owner(&cross_sender)?;
+
+            let token_count = collection.total_supply();
+
+            let mut collection = collection.into_inner();
+            collection.limits.token_limit = Some(token_count);
+            collection.save()?;
+
+			Self::deposit_event(Event::CollectionLocked { issuer: sender, collection_id });
+
+            Ok(())
+        }
+	}
+}
+
+impl<T: Config> Pallet<T> {
+    fn change_collection_owner(
+        collection_id: CollectionId,
+        collection_type: CollectionType,
+        sender: T::AccountId,
+        new_owner: T::AccountId,
+    ) -> DispatchResult {
+        let mut collection = Self::get_nft_collection(collection_id)?.into_inner();
+        collection.check_is_owner(&T::CrossAccountId::from_sub(sender))?;
+
+        Self::check_collection_type(collection_id, collection_type)?;
+
+        collection.owner = new_owner;
+        collection.save()
+    }
+
+    fn get_nft_collection(collection_id: CollectionId) -> Result<NonfungibleHandle<T>, DispatchError> {
+        let collection = <CollectionHandle<T>>::try_get(collection_id)
+            .map_err(|_| <Error<T>>::CollectionUnknown)?
+            .into_nft_collection()?;
+
+        Ok(collection)
+    }
+
+    fn get_collection_type(collection_id: CollectionId) -> Result<CollectionType, DispatchError> {
+        let collection_type: CollectionType = <PalletCommon<T>>::collection_properties(collection_id)
+            .get(&rmrk_property!(CollectionType))
+            .ok_or(<Error<T>>::NotRmrkCollection)?
+            .try_into()
+            .map_err(<Error<T>>::from)?;
+
+        Ok(collection_type)
+    }
+
+    fn check_collection_type(collection_id: CollectionId, collection_type: CollectionType) -> DispatchResult {
+        let actual_type = Self::get_collection_type(collection_id)?;
+        ensure!(actual_type == collection_type, <CommonError<T>>::NoPermission);
+
+        Ok(())
+    }
+}
addedpallets/rmrk-proxy/src/misc.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/rmrk-proxy/src/misc.rs
@@ -0,0 +1,98 @@
+use super::*;
+use codec::{Encode, Decode};
+use frame_support::dispatch::Vec;
+use pallet_nonfungible::NonfungibleHandle;
+
+#[macro_export]
+macro_rules! rmrk_property {
+    ($key:ident, $value:expr) => {
+        Property {
+            key: rmrk_property!(@raw $key),
+            value: $value.into()
+        }
+    };
+
+    (@raw $key:ident) => {
+        RmrkProperty::$key.to_key()
+    };
+
+    ($key:ident) => {
+        PropertyScope::Rmrk.apply(rmrk_property!(@raw $key)).unwrap()
+    };
+}
+
+macro_rules! impl_rmrk_value {
+    ($enum_name:path, decode_error: $error:ident) => {
+        impl Into<PropertyValue> for $enum_name {
+            fn into(self) -> PropertyValue {
+                self.encode().try_into().unwrap()
+            }
+        }
+
+        impl TryFrom<&PropertyValue> for $enum_name {
+            type Error = MiscError;
+
+            fn try_from(value: &PropertyValue) -> Result<Self, Self::Error> {
+                let mut value = value.as_slice();
+
+                <$enum_name>::decode(&mut value)
+                    .map_err(|_| MiscError::$error)
+            }
+        }
+
+    };
+}
+
+pub enum MiscError {
+    CorruptedCollectionType,
+}
+
+impl<T: Config> From<MiscError> for Error<T> {
+    fn from(error: MiscError) -> Self {
+        match error {
+            MiscError::CorruptedCollectionType => Self::CorruptedCollectionType,
+        }
+    }
+}
+
+pub trait IntoNftCollection<T: Config> {
+    fn into_nft_collection(self) -> Result<NonfungibleHandle<T>, Error<T>>;
+}
+
+impl<T: Config> IntoNftCollection<T> for CollectionHandle<T> {
+    fn into_nft_collection(self) -> Result<NonfungibleHandle<T>, Error<T>> {
+        match self.mode {
+            CollectionMode::NFT => Ok(NonfungibleHandle::cast(self)),
+            _ => Err(<Error<T>>::NotRmrkCollection)
+        }
+    }
+}
+
+pub enum RmrkProperty {
+    Metadata,
+    CollectionType,
+}
+
+impl RmrkProperty {
+    pub fn to_key(self) -> PropertyKey {
+        let key = |str_key: &str| {
+            PropertyKey::try_from(
+                str_key.bytes().collect::<Vec<_>>()
+            ).unwrap()
+        };
+
+        match self {
+            Self::Metadata => key("metadata"),
+            Self::CollectionType => key("collection-type"),
+        }
+    }
+}
+
+#[derive(Encode, Decode, PartialEq, Eq)]
+pub enum CollectionType {
+    Regular,
+    Resource,
+    Base,
+}
+
+impl_rmrk_value!(CollectionType, decode_error: CorruptedCollectionType);
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -35,16 +35,16 @@
 use frame_system::{self as system, ensure_signed};
 use sp_runtime::{sp_std::prelude::Vec};
 use up_data_structs::{
-	CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT,
-	MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
-	AccessMode, CreateItemData, CollectionLimits, CollectionId, CollectionMode, TokenId,
-	SchemaVersion, SponsorshipState, CreateCollectionData,
-	CreateItemExData, budget, CollectionField, Property, PropertyKey, PropertyKeyPermission,
+	CONST_ON_CHAIN_SCHEMA_LIMIT, OFFCHAIN_SCHEMA_LIMIT, MAX_COLLECTION_NAME_LENGTH,
+	MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH, AccessMode, CreateItemData,
+	CollectionLimits, CollectionId, CollectionMode, TokenId, SchemaVersion, SponsorshipState,
+	CreateCollectionData, CreateItemExData, budget, CollectionField, Property, PropertyKey,
+	PropertyKeyPermission,
 };
 use pallet_evm::account::CrossAccountId;
 use pallet_common::{
-	CollectionHandle, Pallet as PalletCommon, CommonWeightInfo,
-	dispatch::dispatch_call, dispatch::CollectionDispatch,
+	CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, dispatch::dispatch_call,
+	dispatch::CollectionDispatch,
 };
 
 #[cfg(feature = "runtime-benchmarks")]
modifiedprimitives/data-structs/Cargo.tomldiffbeforeafterboth
--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -27,6 +27,10 @@
 struct-versioning = { path = "../../crates/struct-versioning" }
 pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
 
+# RMRK
+# todo git
+rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" }
+
 [features]
 default = ["std"]
 std = [
modifiedprimitives/data-structs/src/lib.rsdiffbeforeafterboth
--- a/primitives/data-structs/src/lib.rs
+++ b/primitives/data-structs/src/lib.rs
@@ -23,18 +23,31 @@
 use frame_support::{
 	storage::{bounded_btree_map::BoundedBTreeMap, bounded_btree_set::BoundedBTreeSet},
 	traits::Get,
+	parameter_types,
 };
 
 #[cfg(feature = "serde")]
 use serde::{Serialize, Deserialize};
 
 use sp_core::U256;
-use sp_runtime::{ArithmeticError, sp_std::prelude::Vec};
+use sp_runtime::{ArithmeticError, sp_std::prelude::Vec, Permill};
 use codec::{Decode, Encode, EncodeLike, MaxEncodedLen};
 use frame_support::{BoundedVec, traits::ConstU32};
 use derivative::Derivative;
 use scale_info::TypeInfo;
 
+// RMRK
+use rmrk_types::{
+	CollectionInfo, NftInfo, ResourceInfo, PropertyInfo, BaseInfo, PartType, Theme, ThemeProperty,
+};
+pub use rmrk_types::{
+	primitives::{
+		CollectionId as RmrkCollectionId, NftId as RmrkNftId, BaseId as RmrkBaseId,
+		PartId as RmrkPartId, ResourceId as RmrkResourceId,
+	},
+	NftChild as RmrkNftChild, AccountIdOrCollectionNftTuple as RmrkAccountIdOrCollectionNftTuple,
+};
+
 mod bounded;
 pub mod budget;
 pub mod mapping;
@@ -96,6 +109,13 @@
 pub const MAX_COLLECTION_PROPERTIES_ENCODE_LEN: u32 =
 	MAX_PROPERTIES_PER_ITEM * MAX_PROPERTY_KEY_LENGTH + MAX_COLLECTION_PROPERTIES_SIZE;
 
+// RMRK constants
+pub const RMRK_STRING_LIMIT: u32 = 128;
+pub const RMRK_COLLECTION_SYMBOL_LIMIT: u32 = 100;
+pub const RMRK_RESOURCE_SYMBOL_LIMIT: u32 = 10;
+pub const RMRK_KEY_LIMIT: u32 = 32;
+pub const RMRK_VALUE_LIMIT: u32 = 256;
+
 pub struct MaxPropertiesPermissionsEncodeLen;
 
 impl Get<u32> for MaxPropertiesPermissionsEncodeLen {
@@ -581,7 +601,8 @@
 	pub alive: u32,
 }
 
-#[derive(Encode, Decode, PartialEq, Clone, Debug)]
+#[derive(Encode, Decode, Clone, Debug)]
+#[cfg_attr(feature = "std", derive(PartialEq))]
 pub struct PhantomType<T>(core::marker::PhantomData<T>);
 
 impl<T: TypeInfo + 'static> TypeInfo for PhantomType<T> {
@@ -636,6 +657,12 @@
 	pub value: PropertyValue,
 }
 
+impl Into<(PropertyKey, PropertyValue)> for Property {
+	fn into(self) -> (PropertyKey, PropertyValue) {
+		(self.key, self.value)
+	}
+}
+
 #[derive(Encode, Decode, TypeInfo, Debug, MaxEncodedLen, PartialEq, Clone)]
 #[cfg_attr(feature = "serde1", derive(Serialize, Deserialize))]
 pub struct PropertyKeyPermission {
@@ -645,6 +672,13 @@
 	pub permission: PropertyPermission,
 }
 
+impl Into<(PropertyKey, PropertyPermission)> for PropertyKeyPermission {
+	fn into(self) -> (PropertyKey, PropertyPermission) {
+		(self.key, self.permission)
+	}
+}
+
+#[derive(Debug)]
 pub enum PropertiesError {
 	NoSpaceForProperty,
 	PropertyLimitReached,
@@ -660,7 +694,7 @@
 }
 
 impl PropertyScope {
-	fn apply(self, key: PropertyKey) -> Result<PropertyKey, PropertiesError> {
+	pub fn apply(self, key: PropertyKey) -> Result<PropertyKey, PropertiesError> {
 		let scope_str: &[u8] = match self {
 			Self::None => return Ok(key),
 			Self::Rmrk => b"rmrk",
@@ -680,18 +714,20 @@
 		&mut self,
 		scope: PropertyScope,
 		key: PropertyKey,
-		value: Self::Value
+		value: Self::Value,
 	) -> Result<(), PropertiesError>;
 
-	fn try_scoped_set_from_iter<I>(
+	fn try_scoped_set_from_iter<I, KV>(
 		&mut self,
 		scope: PropertyScope,
-		iter: I
+		iter: I,
 	) -> Result<(), PropertiesError>
 	where
-		I: Iterator<Item=(PropertyKey, Self::Value)>
+		I: Iterator<Item=KV>,
+		KV: Into<(PropertyKey, Self::Value)>
 	{
-		for (key, value) in iter {
+		for kv in iter {
+			let (key, value) = kv.into();
 			self.try_scoped_set(scope, key, value)?;
 		}
 
@@ -702,9 +738,10 @@
 		self.try_scoped_set(PropertyScope::None, key, value)
 	}
 
-	fn try_set_from_iter<I>(&mut self, iter: I) -> Result<(), PropertiesError>
+	fn try_set_from_iter<I, KV>(&mut self, iter: I) -> Result<(), PropertiesError>
 	where
-		I: Iterator<Item = (PropertyKey, Self::Value)>,
+		I: Iterator<Item=KV>,
+		KV: Into<(PropertyKey, Self::Value)>
 	{
 		self.try_scoped_set_from_iter(PropertyScope::None, iter)
 	}
@@ -743,10 +780,8 @@
 		for byte in key.as_slice().iter() {
 			let byte = *byte;
 
-			if !byte.is_ascii_alphanumeric()
-				&& byte != b'_'
-				&& byte != b'-' {
-				return Err(PropertiesError::InvalidCharacterInPropertyKey)
+			if !byte.is_ascii_alphanumeric() && byte != b'_' && byte != b'-' {
+				return Err(PropertiesError::InvalidCharacterInPropertyKey);
 			}
 		}
 
@@ -761,7 +796,7 @@
 		&mut self,
 		scope: PropertyScope,
 		key: PropertyKey,
-		value: Self::Value
+		value: Self::Value,
 	) -> Result<(), PropertiesError> {
 		Self::check_property_key(&key)?;
 
@@ -819,7 +854,7 @@
 		&mut self,
 		scope: PropertyScope,
 		key: PropertyKey,
-		value: Self::Value
+		value: Self::Value,
 	) -> Result<(), PropertiesError> {
 		let value_len = value.len();
 
@@ -850,3 +885,43 @@
 		Properties::new(MAX_TOKEN_PROPERTIES_SIZE)
 	}
 }
+
+// RMRK
+// todo document?
+parameter_types! {
+	#[derive(PartialEq, TypeInfo)]
+	pub const RmrkStringLimit: u32 = 128;
+	#[derive(PartialEq)]
+	pub const RmrkCollectionSymbolLimit: u32 = 100;
+	#[derive(PartialEq)]
+	pub const RmrkResourceSymbolLimit: u32 = 10;
+	#[derive(PartialEq)]
+	pub const RmrkKeyLimit: u32 = 32;
+	#[derive(PartialEq)]
+	pub const RmrkValueLimit: u32 = 256;
+	#[derive(PartialEq)]
+	pub const RmrkMaxCollectionsEquippablePerPart: u32 = 100;
+	#[derive(PartialEq)]
+	pub const RmrkPartsLimit: u32 = 3;
+}
+
+pub type RmrkCollectionInfo<AccountId> =
+	CollectionInfo<RmrkString, BoundedVec<u8, RmrkCollectionSymbolLimit>, AccountId>;
+pub type RmrkInstanceInfo<AccountId> = NftInfo<AccountId, Permill, RmrkString>;
+pub type RmrkResourceInfo = ResourceInfo<
+	BoundedVec<u8, RmrkResourceSymbolLimit>,
+	RmrkString,
+	BoundedVec<RmrkPartId, RmrkPartsLimit>,
+>;
+pub type RmrkPropertyInfo =
+	PropertyInfo<BoundedVec<u8, RmrkKeyLimit>, BoundedVec<u8, RmrkValueLimit>>;
+pub type RmrkBaseInfo<AccountId> = BaseInfo<AccountId, RmrkString>;
+pub type RmrkPartType =
+	PartType<RmrkString, BoundedVec<RmrkCollectionId, RmrkMaxCollectionsEquippablePerPart>>;
+pub type RmrkTheme = Theme<RmrkString, Vec<ThemeProperty<RmrkString>>>;
+
+pub type RmrkRpcString = Vec<u8>;
+pub type RmrkThemeName = RmrkRpcString;
+pub type RmrkPropertyKey = RmrkRpcString;
+
+type RmrkString = BoundedVec<u8, RmrkStringLimit>;
modifiedruntime/common/Cargo.tomldiffbeforeafterboth
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -106,4 +106,9 @@
 [dependencies]
 pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.21-logs" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.21' }
+up-sponsorship = { default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.21' }
+
+# RMRK
+# todo git
+rmrk-rpc = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } 
+rmrk-types = { default-features = false, git = "https://github.com/UniqueNetwork/rmrk-substrate.git", branch = "feature/separate-types-and-traits" } 
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -130,6 +130,200 @@
                 }
             }
 
+            impl rmrk_rpc::RmrkApi<
+                Block,
+                AccountId,
+                RmrkCollectionInfo<AccountId>,
+                RmrkInstanceInfo<AccountId>,
+                RmrkResourceInfo,
+                RmrkPropertyInfo,
+                RmrkBaseInfo<AccountId>,
+                RmrkPartType,
+                RmrkTheme
+            > for Runtime {
+                fn last_collection_idx() -> Result<RmrkCollectionId, DispatchError> {
+                    Ok(<pallet_common::CreatedCollectionCount<Runtime>>::get().0)
+                }
+                fn collection_by_id(collection_id: RmrkCollectionId) -> Result<Option<RmrkCollectionInfo<AccountId>>, DispatchError> {
+                    // TODO decide on displacement to palettes -- does RMRK belong there, spread across common and nonfungible?
+                    use frame_support::BoundedVec;
+
+                    let collection_id = CollectionId(collection_id);
+                    let collection = match <pallet_common::CollectionById<Runtime>>::get(collection_id) {
+                        Some(c) => c,
+                        None => return Ok(None)
+                    };
+                    let nfts_count: Result<u32, DispatchError> = dispatch_unique_runtime!(collection_id.total_supply());
+                    Ok(Some(RmrkCollectionInfo {
+                        issuer: collection.owner,
+                        metadata: BoundedVec::default(), // todo property - namespace:metadata
+                        max: Some(collection.limits.token_limit()), // must have some effective limits
+                        symbol: BoundedVec::try_from(collection.token_prefix.into_inner()).unwrap_or_default() /*{ // todo map_err
+                            Ok(s) => s,
+                            Err(_) => return Err(pallet_common::Error::<Runtime>::CollectionTokenPrefixLimitExceeded)
+                        }*/,
+                        nfts_count: nfts_count? // todo? <Runtime>::total_supply(collection_id)
+                    }))
+                }
+                fn nft_by_id(collection_id: RmrkCollectionId, nft_by_id: RmrkNftId) -> Result<Option<RmrkInstanceInfo<AccountId>>, DispatchError> {
+                    use frame_support::BoundedVec;
+                    use up_data_structs::mapping::TokenAddressMapping;
+
+                    let collection_id = CollectionId(collection_id);
+                    let nft_id = TokenId(nft_by_id);
+
+                    let owner = match (dispatch_unique_runtime!(collection_id.token_owner(nft_id)) as Result<Option<CrossAccountId>, DispatchError>)? {
+                        Some(owner) => match <Runtime as pallet_common::Config>::CrossTokenAddressMapping::address_to_token(&owner) {
+                            Some((col, tok)) => RmrkAccountIdOrCollectionNftTuple::CollectionAndNftTuple(col.0, tok.0),
+                            None => RmrkAccountIdOrCollectionNftTuple::AccountId(owner.as_sub().clone())
+                        },
+                        None => return Ok(None)
+                    };
+
+                    Ok(Some(RmrkInstanceInfo {
+                        owner: owner,
+                        //recipient: , // prop
+                        royalty: None,//Permill::from_percent(0), // prop
+                        metadata: BoundedVec::default(), // prop
+                        equipped: false, // prop
+                        pending: false, // prop
+                    }))
+                }
+                fn account_tokens(account_id: AccountId, collection_id: RmrkCollectionId) -> Result<Vec<RmrkNftId>, DispatchError> {
+                    let cross_account_id = CrossAccountId::from_sub(account_id);
+                    let collection_id = CollectionId(collection_id);
+                    Ok(
+                        (dispatch_unique_runtime!(collection_id.account_tokens(cross_account_id)) as Result<Vec<TokenId>, DispatchError>)?
+                        //<Runtime as up_rpc::UniqueApi<Block, CrossAccountId, AccountId>>::account_tokens(collection_id, cross_account_id)?
+                            .into_iter()
+                            .map(|token| token.0)
+                            .collect::<Vec<_>>()
+                    )
+                }
+                fn nft_children(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkNftChild>, DispatchError> {
+                    use up_data_structs::mapping::TokenAddressMapping;
+
+                    let collection_id = CollectionId(collection_id);
+                    let nft_id = TokenId(nft_id);
+                    let cross_account_id = CrossAccountId::from_eth(
+                        EvmTokenAddressMapping::token_to_address(collection_id, nft_id)
+                    );
+
+                    Ok(
+                        pallet_nonfungible::Owned::<Runtime>::iter_prefix((collection_id, cross_account_id))
+                            .map(|(child_id, _)| RmrkNftChild {
+                                collection_id: collection_id.0, // todo make sure they're always from this collection
+                                nft_id: child_id.0,
+                            })
+                            .collect()
+                    )
+                }
+                fn collection_properties(collection_id: RmrkCollectionId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {
+                    use frame_support::BoundedVec;
+
+                    let collection_id = CollectionId(collection_id);
+                    let properties = pallet_common::Pallet::<Runtime>::collection_properties(collection_id);
+
+                    return Ok(match filter_keys {
+                        Some(keys) => {
+                            let keys = pallet_common::Pallet::<Runtime>::bytes_keys_to_property_keys(keys)?;
+                            let properties = keys
+                                .into_iter()
+                                .filter_map(|key| {
+                                    properties.get(&key).map(|value| RmrkPropertyInfo {
+                                        key: BoundedVec::try_from(key.into_inner()).unwrap_or_default(),
+                                        value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(),
+                                    })
+                                })
+                                .collect();
+
+                            properties
+                        }
+                        None => {
+                            properties
+                                .iter()
+                                .map(|(key, value)| RmrkPropertyInfo {
+                                    key: BoundedVec::try_from(key.clone().into_inner()).unwrap_or_default(),
+                                    value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(),
+                                })
+                                .collect()
+                        }
+                    });
+                }
+                fn nft_properties(collection_id: RmrkCollectionId, nft_id: RmrkNftId, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Vec<RmrkPropertyInfo>, DispatchError> {
+                    use frame_support::BoundedVec;
+
+                    let collection_id = CollectionId(collection_id);
+                    let token_id = TokenId(nft_id);
+
+		            let properties = pallet_nonfungible::Pallet::<Runtime>::token_properties((collection_id, token_id)); // todo look into usage of nonfungible
+
+                    return Ok(match filter_keys {
+                        Some(keys) => {
+                            let keys = pallet_common::Pallet::<Runtime>::bytes_keys_to_property_keys(keys)?;
+                            let properties = keys
+                                .into_iter()
+                                .filter_map(|key| {
+                                    properties.get(&key).map(|value| RmrkPropertyInfo {
+                                        key: BoundedVec::try_from(key.into_inner()).unwrap_or_default(),
+                                        value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(),
+                                    })
+                                })
+                                .collect();
+
+                            properties
+                        }
+                        None => {
+                            properties
+                                .iter()
+                                .map(|(key, value)| RmrkPropertyInfo {
+                                    key: BoundedVec::try_from(key.clone().into_inner()).unwrap_or_default(),
+                                    value: BoundedVec::try_from(value.clone().into_inner()).unwrap_or_default(),
+                                })
+                                .collect()
+                        }
+                    });
+                }
+                fn nft_resources(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkResourceInfo>, DispatchError> {
+                    todo!()
+                }
+                fn nft_resource_priorities(collection_id: RmrkCollectionId, nft_id: RmrkNftId) -> Result<Vec<RmrkResourceId>, DispatchError> {
+                    todo!()
+                }
+                fn base(base_id: RmrkBaseId) -> Result<Option<RmrkBaseInfo<AccountId>>, DispatchError> {
+                    use frame_support::{BoundedVec, ensure};
+                    use scale_info::prelude::string::String;
+
+                    let collection_id = CollectionId(base_id);
+                    let collection = match <pallet_common::CollectionById<Runtime>>::get(collection_id) {
+                        Some(c) => c,
+                        None => return Ok(None)
+                    };
+
+                    // string_keys_to_bytes_keys
+                    let keys = pallet_common::Pallet::<Runtime>::bytes_keys_to_property_keys(
+                        Vec::from([String::from("rmrk:base-type").into_bytes()])
+                    )?;
+                    let properties = pallet_common::Pallet::<Runtime>::filter_collection_properties(collection_id, Some(keys))?;
+                    //ensure!(properties.len() == 1); // todo make sure it's fine to have ensure in place // no access to errors from here? displace?
+
+                    Ok(Some( RmrkBaseInfo {
+                        issuer: collection.owner,
+                        base_type: BoundedVec::try_from(properties[0].value.clone().into_inner()).unwrap_or_default(), // todo map_err? no access to errors
+                        symbol: BoundedVec::try_from(collection.token_prefix.into_inner()).unwrap_or_default(),
+                    }))
+                }
+                fn base_parts(base_id: RmrkBaseId) -> Result<Vec<RmrkPartType>, DispatchError> {
+                    todo!()
+                }
+                fn theme_names(base_id: RmrkBaseId) -> Result<Vec<RmrkThemeName>, DispatchError> {
+                    todo!()
+                }
+                fn theme(base_id: RmrkBaseId, theme_name: RmrkThemeName, filter_keys: Option<Vec<RmrkPropertyKey>>) -> Result<Option<RmrkTheme>, DispatchError> {
+                    todo!()
+                }
+            }
+
             impl sp_api::Core<Block> for Runtime {
                 fn version() -> RuntimeVersion {
                     VERSION
modifiedruntime/common/src/sponsoring.rsdiffbeforeafterboth
--- a/runtime/common/src/sponsoring.rs
+++ b/runtime/common/src/sponsoring.rs
@@ -21,17 +21,16 @@
 	storage::{StorageMap, StorageDoubleMap, StorageNMap},
 };
 use up_data_structs::{
-	CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
-	NFT_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId, CollectionMode,
-	CreateItemData,
+	CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, NFT_SPONSOR_TRANSFER_TIMEOUT,
+	REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId, CollectionMode, CreateItemData,
 };
 use sp_runtime::traits::Saturating;
 use pallet_common::{CollectionHandle};
 use pallet_evm::account::CrossAccountId;
 use pallet_unique::{
 	Call as UniqueCall, Config as UniqueConfig, FungibleApproveBasket, RefungibleApproveBasket,
-	NftApproveBasket, CreateItemBasket, ReFungibleTransferBasket,
-	FungibleTransferBasket, NftTransferBasket,
+	NftApproveBasket, CreateItemBasket, ReFungibleTransferBasket, FungibleTransferBasket,
+	NftTransferBasket,
 };
 use pallet_fungible::Config as FungibleConfig;
 use pallet_nonfungible::Config as NonfungibleConfig;
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -33,6 +33,7 @@
     'pallet-fungible/runtime-benchmarks',
     'pallet-refungible/runtime-benchmarks',
     'pallet-nonfungible/runtime-benchmarks',
+    'pallet-rmrk-proxy/runtime-benchmarks',
     'pallet-unique/runtime-benchmarks',
     'pallet-inflation/runtime-benchmarks',
     'pallet-xcm/runtime-benchmarks',
@@ -89,6 +90,7 @@
     'pallet-fungible/std',
     'pallet-refungible/std',
     'pallet-nonfungible/std',
+    'pallet-rmrk-proxy/std',
     'pallet-unique/std',
     'pallet-unq-scheduler/std',
     'pallet-charge-transaction/std',
@@ -109,6 +111,7 @@
     'xcm-builder/std',
     'xcm-executor/std',
     'unique-runtime-common/std',
+    'rmrk-rpc/std',
 
     "orml-vesting/std",
 ]
@@ -386,6 +389,15 @@
 default-features = false
 
 ################################################################################
+# RMRK dependencies
+
+# todo git
+[dependencies.rmrk-rpc]
+default-features = false
+git = "https://github.com/UniqueNetwork/rmrk-substrate.git"
+branch = "feature/separate-types-and-traits"
+
+################################################################################
 # local dependencies
 
 [dependencies]
@@ -405,6 +417,7 @@
 pallet-fungible = { default-features = false, path = "../../pallets/fungible" }
 pallet-refungible = { default-features = false, path = "../../pallets/refungible" }
 pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }
+pallet-rmrk-proxy = { default-features = false, path = "../../pallets/rmrk-proxy" }
 pallet-unq-scheduler = { path = '../../pallets/scheduler', default-features = false }
 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
 pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.21", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -901,6 +901,10 @@
 	type WeightInfo = pallet_nonfungible::weights::SubstrateWeight<Self>;
 }
 
+impl pallet_rmrk_proxy::Config for Runtime {
+	type Event = Event;
+}
+
 impl pallet_unique::Config for Runtime {
 	type Event = Event;
 	type WeightInfo = pallet_unique::weights::SubstrateWeight<Self>;
@@ -1013,6 +1017,7 @@
 		Refungible: pallet_refungible::{Pallet, Storage} = 68,
 		Nonfungible: pallet_nonfungible::{Pallet, Storage} = 69,
 		Structure: pallet_structure::{Pallet, Call, Storage, Event<T>} = 70,
+		RmrkProxy: pallet_rmrk_proxy::{Pallet, Call, Storage, Event<T>} = 71,
 
 		// Frontier
 		EVM: pallet_evm::{Pallet, Config, Call, Storage, Event<T>} = 100,
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -386,6 +386,15 @@
 default-features = false
 
 ################################################################################
+# RMRK dependencies
+
+# todo git
+[dependencies.rmrk-rpc]
+default-features = false
+git = "https://github.com/UniqueNetwork/rmrk-substrate.git"
+branch = "feature/separate-types-and-traits"
+
+################################################################################
 # local dependencies
 
 [dependencies]
modifiedruntime/tests/src/tests.rsdiffbeforeafterboth
--- a/runtime/tests/src/tests.rs
+++ b/runtime/tests/src/tests.rs
@@ -18,9 +18,9 @@
 use crate::{Test, TestCrossAccountId, CollectionCreationPrice, Origin, Unique, new_test_ext};
 use up_data_structs::{
 	COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,
-	CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT,
-	TokenId, MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionField, SchemaVersion,
-	CollectionMode, AccessMode,
+	CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId,
+	MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionField, SchemaVersion, CollectionMode,
+	AccessMode,
 };
 use frame_support::{assert_noop, assert_ok, assert_err};
 use sp_std::convert::TryInto;
@@ -47,6 +47,7 @@
 fn default_nft_data() -> CreateNftData {
 	CreateNftData {
 		const_data: vec![1, 2, 3].try_into().unwrap(),
+		properties: vec![].try_into().unwrap(),
 	}
 }
 
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -386,6 +386,15 @@
 default-features = false
 
 ################################################################################
+# RMRK dependencies
+
+# todo git
+[dependencies.rmrk-rpc]
+default-features = false
+git = "https://github.com/UniqueNetwork/rmrk-substrate.git"
+branch = "feature/separate-types-and-traits"
+
+################################################################################
 # local dependencies
 
 [dependencies]
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -5,7 +5,7 @@
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64 } 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, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 declare module '@polkadot/api-base/types/storage' {
@@ -92,7 +92,7 @@
       /**
        * Not used by code, exists only to provide some types to metadata
        **/
-      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, PhantomTypeUpDataStructsTokenData, PhantomTypeUpDataStructsRpcCollection]>>>, []> & QueryableStorageEntry<ApiType, []>;
+      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, PhantomTypeUpDataStructsTokenData, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsNftChild]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * List of collection admins
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-chain`, do not edit
 /* eslint-disable */
 
-import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './unique';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenData } from './unique';
 import type { AugmentedRpc } from '@polkadot/rpc-core/types';
 import type { Metadata, StorageKey } from '@polkadot/types';
 import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, u128, u32, u64 } from '@polkadot/types-codec';
@@ -22,7 +22,7 @@
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { FeeDetails, RuntimeDispatchInfo } from '@polkadot/types/interfaces/payment';
 import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
-import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
+import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
 import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';
 import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';
 import type { IExtrinsic, Observable } from '@polkadot/types/types';
@@ -393,6 +393,60 @@
        **/
       queryInfo: AugmentedRpc<(extrinsic: Bytes | string | Uint8Array, at?: BlockHash | string | Uint8Array) => Observable<RuntimeDispatchInfo>>;
     };
+    rmrk: {
+      /**
+       * Get tokens owned by an account in a collection
+       **/
+      accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
+      /**
+       * Get base info
+       **/
+      base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTypesBaseInfo>>>;
+      /**
+       * Get all Base's parts
+       **/
+      baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTypesPartType>>>;
+      /**
+       * Get collection by id
+       **/
+      collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTypesCollectionInfo>>>;
+      /**
+       * Get collection properties
+       **/
+      collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTypesPropertyInfo>>>;
+      /**
+       * Get the latest created collection id
+       **/
+      lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<u32>>;
+      /**
+       * Get NFT by collection id and NFT id
+       **/
+      nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTypesNftInfo>>>;
+      /**
+       * Get NFT children
+       **/
+      nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTypesNftChild>>>;
+      /**
+       * Get NFT properties
+       **/
+      nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTypesPropertyInfo>>>;
+      /**
+       * Get NFT resource priorities
+       **/
+      nftResourcePriorities: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;
+      /**
+       * Get NFT resources
+       **/
+      nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTypesResourceInfo>>>;
+      /**
+       * Get Base's theme names
+       **/
+      themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;
+      /**
+       * Get Theme's keys values
+       **/
+      themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option<Vec<Text>> | null | object | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTypesTheme>>>;
+    };
     rpc: {
       /**
        * Retrieves the list of RPC methods that are exposed by the node
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -3,7 +3,7 @@
 
 import type { ApiTypes } from '@polkadot/api-base/types';
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64 } from '@polkadot/types-codec';
-import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
+import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
 import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
@@ -378,7 +378,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-      sudo: AugmentedSubmittable<(call: Call) => SubmittableExtrinsic<ApiType>, [Call]>;
+      sudo: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Signed` origin from
        * a given account.
@@ -392,7 +392,7 @@
        * - Weight of derivative `call` execution + 10,000.
        * # </weight>
        **/
-      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
+      sudoAs: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Call]>;
       /**
        * Authenticates the sudo key and dispatches a function call with `Root` origin.
        * This function does not check the weight of the call, and instead allows the
@@ -405,7 +405,7 @@
        * - The weight of this call is defined by the caller.
        * # </weight>
        **/
-      sudoUncheckedWeight: AugmentedSubmittable<(call: Call, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
+      sudoUncheckedWeight: AugmentedSubmittable<(call: Call | IMethod | string | Uint8Array, weight: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, u64]>;
       /**
        * Generic tx
        **/
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, 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, FrameSupportPalletId, FrameSupportStorageBoundedBTreeSet, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, 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, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTypesAccountIdOrCollectionNftTuple, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesEquippableList, RmrkTypesFixedPart, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesRoyaltyInfo, RmrkTypesSlotPart, RmrkTypesTheme, RmrkTypesThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './unique';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, 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';
@@ -478,7 +478,6 @@
     ForkTreePendingChangeNode: ForkTreePendingChangeNode;
     FpRpcTransactionStatus: FpRpcTransactionStatus;
     FrameSupportPalletId: FrameSupportPalletId;
-    FrameSupportStorageBoundedBTreeSet: FrameSupportStorageBoundedBTreeSet;
     FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
     FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass;
     FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo;
@@ -850,7 +849,15 @@
     PerU16: PerU16;
     Phantom: Phantom;
     PhantomData: PhantomData;
+    PhantomTypeUpDataStructsBaseInfo: PhantomTypeUpDataStructsBaseInfo;
+    PhantomTypeUpDataStructsCollectionInfo: PhantomTypeUpDataStructsCollectionInfo;
+    PhantomTypeUpDataStructsNftChild: PhantomTypeUpDataStructsNftChild;
+    PhantomTypeUpDataStructsNftInfo: PhantomTypeUpDataStructsNftInfo;
+    PhantomTypeUpDataStructsPartType: PhantomTypeUpDataStructsPartType;
+    PhantomTypeUpDataStructsPropertyInfo: PhantomTypeUpDataStructsPropertyInfo;
+    PhantomTypeUpDataStructsResourceInfo: PhantomTypeUpDataStructsResourceInfo;
     PhantomTypeUpDataStructsRpcCollection: PhantomTypeUpDataStructsRpcCollection;
+    PhantomTypeUpDataStructsTheme: PhantomTypeUpDataStructsTheme;
     PhantomTypeUpDataStructsTokenData: PhantomTypeUpDataStructsTokenData;
     Phase: Phase;
     PhragmenScore: PhragmenScore;
@@ -943,6 +950,20 @@
     Retriable: Retriable;
     RewardDestination: RewardDestination;
     RewardPoint: RewardPoint;
+    RmrkTypesAccountIdOrCollectionNftTuple: RmrkTypesAccountIdOrCollectionNftTuple;
+    RmrkTypesBaseInfo: RmrkTypesBaseInfo;
+    RmrkTypesCollectionInfo: RmrkTypesCollectionInfo;
+    RmrkTypesEquippableList: RmrkTypesEquippableList;
+    RmrkTypesFixedPart: RmrkTypesFixedPart;
+    RmrkTypesNftChild: RmrkTypesNftChild;
+    RmrkTypesNftInfo: RmrkTypesNftInfo;
+    RmrkTypesPartType: RmrkTypesPartType;
+    RmrkTypesPropertyInfo: RmrkTypesPropertyInfo;
+    RmrkTypesResourceInfo: RmrkTypesResourceInfo;
+    RmrkTypesRoyaltyInfo: RmrkTypesRoyaltyInfo;
+    RmrkTypesSlotPart: RmrkTypesSlotPart;
+    RmrkTypesTheme: RmrkTypesTheme;
+    RmrkTypesThemeProperty: RmrkTypesThemeProperty;
     RoundSnapshot: RoundSnapshot;
     RoundState: RoundState;
     RpcMethods: RpcMethods;
modifiedtests/src/interfaces/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/definitions.ts
+++ b/tests/src/interfaces/definitions.ts
@@ -15,3 +15,4 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 export {default as unique} from './unique/definitions';
+export {default as rmrk} from './rmrk/definitions';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1448,14 +1448,10 @@
     _enum: {
       Disabled: 'Null',
       Owner: 'Null',
-      OwnerRestricted: 'FrameSupportStorageBoundedBTreeSet'
+      OwnerRestricted: 'BTreeSet<u32>'
     }
   },
   /**
-   * Lookup171: frame_support::storage::bounded_btree_set::BoundedBTreeSet<up_data_structs::CollectionId, S>
-   **/
-  FrameSupportStorageBoundedBTreeSet: 'BTreeSet<u32>',
-  /**
    * Lookup177: up_data_structs::PropertyKeyPermission
    **/
   UpDataStructsPropertyKeyPermission: {
@@ -2351,56 +2347,212 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup333: pallet_common::pallet::Error<T>
+   * Lookup333: PhantomType::up_data_structs<rmrk_types::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>>
+   **/
+  PhantomTypeUpDataStructsCollectionInfo: '[Lookup334;0]',
+  /**
+   * Lookup334: rmrk_types::CollectionInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>
+   **/
+  RmrkTypesCollectionInfo: {
+    issuer: 'AccountId32',
+    metadata: 'Bytes',
+    max: 'Option<u32>',
+    symbol: 'Bytes',
+    nftsCount: 'u32'
+  },
+  /**
+   * Lookup338: PhantomType::up_data_structs<rmrk_types::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>>
+   **/
+  PhantomTypeUpDataStructsNftInfo: '[Lookup339;0]',
+  /**
+   * Lookup339: rmrk_types::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesNftInfo: {
+    owner: 'RmrkTypesAccountIdOrCollectionNftTuple',
+    royalty: 'Option<RmrkTypesRoyaltyInfo>',
+    metadata: 'Bytes',
+    equipped: 'bool',
+    pending: 'bool'
+  },
+  /**
+   * Lookup340: rmrk_types::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
+   **/
+  RmrkTypesAccountIdOrCollectionNftTuple: {
+    _enum: {
+      AccountId: 'AccountId32',
+      CollectionAndNftTuple: '(u32,u32)'
+    }
+  },
+  /**
+   * Lookup342: rmrk_types::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   **/
+  RmrkTypesRoyaltyInfo: {
+    recipient: 'AccountId32',
+    amount: 'Permill'
+  },
+  /**
+   * Lookup344: PhantomType::up_data_structs<rmrk_types::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>>
+   **/
+  PhantomTypeUpDataStructsResourceInfo: '[Lookup345;0]',
+  /**
+   * Lookup345: rmrk_types::ResourceInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesResourceInfo: {
+    id: 'Bytes',
+    pending: 'bool',
+    pendingRemoval: 'bool',
+    parts: 'Option<Vec<u32>>',
+    base: 'Option<u32>',
+    src: 'Option<Bytes>',
+    metadata: 'Option<Bytes>',
+    slot: 'Option<u32>',
+    license: 'Option<Bytes>',
+    thumb: 'Option<Bytes>'
+  },
+  /**
+   * Lookup351: PhantomType::up_data_structs<rmrk_types::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>>
+   **/
+  PhantomTypeUpDataStructsPropertyInfo: '[Lookup352;0]',
+  /**
+   * Lookup352: rmrk_types::PropertyInfo<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesPropertyInfo: {
+    key: 'Bytes',
+    value: 'Bytes'
+  },
+  /**
+   * Lookup356: PhantomType::up_data_structs<rmrk_types::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>>
+   **/
+  PhantomTypeUpDataStructsBaseInfo: '[Lookup357;0]',
+  /**
+   * Lookup357: rmrk_types::BaseInfo<sp_core::crypto::AccountId32, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesBaseInfo: {
+    issuer: 'AccountId32',
+    baseType: 'Bytes',
+    symbol: 'Bytes'
+  },
+  /**
+   * Lookup359: PhantomType::up_data_structs<rmrk_types::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>>
+   **/
+  PhantomTypeUpDataStructsPartType: '[Lookup360;0]',
+  /**
+   * Lookup360: rmrk_types::PartType<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesPartType: {
+    _enum: {
+      FixedPart: 'RmrkTypesFixedPart',
+      SlotPart: 'RmrkTypesSlotPart'
+    }
+  },
+  /**
+   * Lookup362: rmrk_types::FixedPart<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesFixedPart: {
+    id: 'u32',
+    z: 'u32',
+    src: 'Bytes'
+  },
+  /**
+   * Lookup363: rmrk_types::SlotPart<frame_support::storage::bounded_vec::BoundedVec<T, S>, frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesSlotPart: {
+    id: 'u32',
+    equippable: 'RmrkTypesEquippableList',
+    src: 'Bytes',
+    z: 'u32'
+  },
+  /**
+   * Lookup364: rmrk_types::EquippableList<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesEquippableList: {
+    _enum: {
+      All: 'Null',
+      Empty: 'Null',
+      Custom: 'Vec<u32>'
+    }
+  },
+  /**
+   * Lookup366: PhantomType::up_data_structs<rmrk_types::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, BoundedPropertyList>>
+   **/
+  PhantomTypeUpDataStructsTheme: '[Lookup367;0]',
+  /**
+   * Lookup367: rmrk_types::Theme<frame_support::storage::bounded_vec::BoundedVec<T, S>, BoundedPropertyList>
+   **/
+  RmrkTypesTheme: {
+    name: 'Bytes',
+    properties: 'Vec<RmrkTypesThemeProperty>',
+    inherit: 'bool'
+  },
+  /**
+   * Lookup369: rmrk_types::ThemeProperty<frame_support::storage::bounded_vec::BoundedVec<T, S>>
+   **/
+  RmrkTypesThemeProperty: {
+    key: 'Bytes',
+    value: 'Bytes'
+  },
+  /**
+   * Lookup371: PhantomType::up_data_structs<rmrk_types::NftChild>
+   **/
+  PhantomTypeUpDataStructsNftChild: '[Lookup372;0]',
+  /**
+   * Lookup372: rmrk_types::NftChild
+   **/
+  RmrkTypesNftChild: {
+    collectionId: 'u32',
+    nftId: 'u32'
+  },
+  /**
+   * Lookup374: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'NestingIsDisabled', 'OnlyOwnerAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey']
   },
   /**
-   * Lookup335: pallet_fungible::pallet::Error<T>
+   * Lookup376: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup336: pallet_refungible::ItemData
+   * Lookup377: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup340: pallet_refungible::pallet::Error<T>
+   * Lookup381: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup341: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup382: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     constData: 'Bytes',
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup342: pallet_nonfungible::pallet::Error<T>
+   * Lookup383: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']
   },
   /**
-   * Lookup343: pallet_structure::pallet::Error<T>
+   * Lookup384: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup346: pallet_evm::pallet::Error<T>
+   * Lookup387: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']
   },
   /**
-   * Lookup349: fp_rpc::TransactionStatus
+   * Lookup390: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -2412,11 +2564,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup351: ethbloom::Bloom
+   * Lookup392: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup353: ethereum::receipt::ReceiptV3
+   * Lookup394: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -2426,7 +2578,7 @@
     }
   },
   /**
-   * Lookup354: ethereum::receipt::EIP658ReceiptData
+   * Lookup395: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -2435,7 +2587,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup355: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup396: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -2443,7 +2595,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup356: ethereum::header::Header
+   * Lookup397: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -2463,41 +2615,41 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup357: ethereum_types::hash::H64
+   * Lookup398: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup362: pallet_ethereum::pallet::Error<T>
+   * Lookup403: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup363: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup404: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup364: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup405: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup366: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup407: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission']
   },
   /**
-   * Lookup367: pallet_evm_migration::pallet::Error<T>
+   * Lookup408: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
   },
   /**
-   * Lookup369: sp_runtime::MultiSignature
+   * Lookup410: sp_runtime::MultiSignature
    **/
   SpRuntimeMultiSignature: {
     _enum: {
@@ -2507,43 +2659,43 @@
     }
   },
   /**
-   * Lookup370: sp_core::ed25519::Signature
+   * Lookup411: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup372: sp_core::sr25519::Signature
+   * Lookup413: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup373: sp_core::ecdsa::Signature
+   * Lookup414: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup376: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup417: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup377: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup418: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup380: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup421: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup381: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup422: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup382: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup423: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup383: opal_runtime::Runtime
+   * Lookup424: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup384: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup425: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -1,7 +1,7 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, 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, FrameSupportPalletId, FrameSupportStorageBoundedBTreeSet, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, 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, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructsBaseInfo, PhantomTypeUpDataStructsCollectionInfo, PhantomTypeUpDataStructsNftChild, PhantomTypeUpDataStructsNftInfo, PhantomTypeUpDataStructsPartType, PhantomTypeUpDataStructsPropertyInfo, PhantomTypeUpDataStructsResourceInfo, PhantomTypeUpDataStructsRpcCollection, PhantomTypeUpDataStructsTheme, PhantomTypeUpDataStructsTokenData, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTypesAccountIdOrCollectionNftTuple, RmrkTypesBaseInfo, RmrkTypesCollectionInfo, RmrkTypesEquippableList, RmrkTypesFixedPart, RmrkTypesNftChild, RmrkTypesNftInfo, RmrkTypesPartType, RmrkTypesPropertyInfo, RmrkTypesResourceInfo, RmrkTypesRoyaltyInfo, RmrkTypesSlotPart, RmrkTypesTheme, RmrkTypesThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionField, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsNestingRule, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsRpcCollection, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   export interface InterfaceTypes {
@@ -47,7 +47,6 @@
     EvmCoreErrorExitSucceed: EvmCoreErrorExitSucceed;
     FpRpcTransactionStatus: FpRpcTransactionStatus;
     FrameSupportPalletId: FrameSupportPalletId;
-    FrameSupportStorageBoundedBTreeSet: FrameSupportStorageBoundedBTreeSet;
     FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
     FrameSupportWeightsDispatchClass: FrameSupportWeightsDispatchClass;
     FrameSupportWeightsDispatchInfo: FrameSupportWeightsDispatchInfo;
@@ -125,7 +124,15 @@
     PalletXcmCall: PalletXcmCall;
     PalletXcmError: PalletXcmError;
     PalletXcmEvent: PalletXcmEvent;
+    PhantomTypeUpDataStructsBaseInfo: PhantomTypeUpDataStructsBaseInfo;
+    PhantomTypeUpDataStructsCollectionInfo: PhantomTypeUpDataStructsCollectionInfo;
+    PhantomTypeUpDataStructsNftChild: PhantomTypeUpDataStructsNftChild;
+    PhantomTypeUpDataStructsNftInfo: PhantomTypeUpDataStructsNftInfo;
+    PhantomTypeUpDataStructsPartType: PhantomTypeUpDataStructsPartType;
+    PhantomTypeUpDataStructsPropertyInfo: PhantomTypeUpDataStructsPropertyInfo;
+    PhantomTypeUpDataStructsResourceInfo: PhantomTypeUpDataStructsResourceInfo;
     PhantomTypeUpDataStructsRpcCollection: PhantomTypeUpDataStructsRpcCollection;
+    PhantomTypeUpDataStructsTheme: PhantomTypeUpDataStructsTheme;
     PhantomTypeUpDataStructsTokenData: PhantomTypeUpDataStructsTokenData;
     PolkadotCorePrimitivesInboundDownwardMessage: PolkadotCorePrimitivesInboundDownwardMessage;
     PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage;
@@ -135,6 +142,20 @@
     PolkadotPrimitivesV2AbridgedHrmpChannel: PolkadotPrimitivesV2AbridgedHrmpChannel;
     PolkadotPrimitivesV2PersistedValidationData: PolkadotPrimitivesV2PersistedValidationData;
     PolkadotPrimitivesV2UpgradeRestriction: PolkadotPrimitivesV2UpgradeRestriction;
+    RmrkTypesAccountIdOrCollectionNftTuple: RmrkTypesAccountIdOrCollectionNftTuple;
+    RmrkTypesBaseInfo: RmrkTypesBaseInfo;
+    RmrkTypesCollectionInfo: RmrkTypesCollectionInfo;
+    RmrkTypesEquippableList: RmrkTypesEquippableList;
+    RmrkTypesFixedPart: RmrkTypesFixedPart;
+    RmrkTypesNftChild: RmrkTypesNftChild;
+    RmrkTypesNftInfo: RmrkTypesNftInfo;
+    RmrkTypesPartType: RmrkTypesPartType;
+    RmrkTypesPropertyInfo: RmrkTypesPropertyInfo;
+    RmrkTypesResourceInfo: RmrkTypesResourceInfo;
+    RmrkTypesRoyaltyInfo: RmrkTypesRoyaltyInfo;
+    RmrkTypesSlotPart: RmrkTypesSlotPart;
+    RmrkTypesTheme: RmrkTypesTheme;
+    RmrkTypesThemeProperty: RmrkTypesThemeProperty;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
addedtests/src/interfaces/rmrk/definitions.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/rmrk/definitions.ts
@@ -0,0 +1,115 @@
+// 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/>.
+
+import types from '../lookup';
+
+type RpcParam = {
+  name: string;
+  type: string;
+  isOptional?: true;
+};
+
+const atParam = {name: 'at', type: 'Hash', isOptional: true};
+const fn = (description: string, params: RpcParam[], type: string) => ({
+    description,
+    params: [...params, atParam],
+    type,
+});
+
+export default {
+    types,
+    rpc: {
+        lastCollectionIdx: fn('Get the latest created collection id', [], 'u32'),
+        collectionById: fn('Get collection by id', [{name: 'id', type: 'u32'}], 'Option<RmrkTypesCollectionInfo>'),
+        nftById: fn(
+            'Get NFT by collection id and NFT id',
+            [
+                {name: 'collectionId', type: 'u32'},
+                {name: 'nftId', type: 'u32'},
+            ],
+            'Option<RmrkTypesNftInfo>'
+        ),
+        accountTokens: fn(
+            'Get tokens owned by an account in a collection',
+            [
+                {name: 'accountId', type: 'AccountId32'},
+                {name: 'collectionId', type: 'u32'}
+            ],
+            'Vec<u32>'
+        ),
+        nftChildren: fn(
+            'Get NFT children',
+            [
+                {name: 'collectionId', type: 'u32'},
+                {name: 'nftId', type: 'u32'},
+            ],
+            'Vec<RmrkTypesNftChild>'
+        ),
+        collectionProperties: fn(
+            'Get collection properties',
+            [{name: 'collectionId', type: 'u32'}],
+            'Vec<RmrkTypesPropertyInfo>'
+        ),
+        nftProperties: fn(
+            'Get NFT properties',
+            [
+                {name: 'collectionId', type: 'u32'},
+                {name: 'nftId', type: 'u32'}
+            ],
+            'Vec<RmrkTypesPropertyInfo>'
+        ),
+        nftResources: fn(
+            'Get NFT resources',
+            [
+                {name: 'collectionId', type: 'u32'},
+                {name: 'nftId', type: 'u32'}
+            ],
+            'Vec<RmrkTypesResourceInfo>'
+        ),
+        nftResourcePriorities: fn(
+            'Get NFT resource priorities',
+            [
+                {name: 'collectionId', type: 'u32'},
+                {name: 'nftId', type: 'u32'}
+            ],
+            'Vec<Bytes>'
+        ),
+        base: fn(
+            'Get base info',
+            [{name: 'baseId', type: 'u32'}],
+            'Option<RmrkTypesBaseInfo>'
+        ),
+        baseParts: fn(
+            'Get all Base\'s parts',
+            [{name: 'baseId', type: 'u32'}],
+            'Vec<RmrkTypesPartType>'
+        ),
+        themeNames: fn(
+            'Get Base\'s theme names',
+            [{name: 'baseId', type: 'u32'}],
+            'Vec<Bytes>'
+        ),
+        themes: fn(
+            'Get Theme\'s keys values',
+            [
+                {name: 'baseId', type: 'u32'},
+                {name: 'themeName', type: 'String'},
+                {name: 'keys', type: 'Option<Vec<String>>'}
+            ],
+            'Option<RmrkTypesTheme>'
+        )
+    }
+};
addedtests/src/interfaces/rmrk/index.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/rmrk/index.ts
@@ -0,0 +1,4 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+export * from './types';
addedtests/src/interfaces/rmrk/types.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/interfaces/rmrk/types.ts
@@ -0,0 +1,2910 @@
+// Auto-generated via `yarn polkadot-types-from-defs`, do not edit
+/* eslint-disable */
+
+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 { ITuple } from '@polkadot/types-codec/types';
+import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { Event } from '@polkadot/types/interfaces/system';
+
+/** @name CumulusPalletDmpQueueCall */
+export interface CumulusPalletDmpQueueCall extends Enum {
+  readonly isServiceOverweight: boolean;
+  readonly asServiceOverweight: {
+    readonly index: u64;
+    readonly weightLimit: u64;
+  } & Struct;
+  readonly type: 'ServiceOverweight';
+}
+
+/** @name CumulusPalletDmpQueueConfigData */
+export interface CumulusPalletDmpQueueConfigData extends Struct {
+  readonly maxIndividual: u64;
+}
+
+/** @name CumulusPalletDmpQueueError */
+export interface CumulusPalletDmpQueueError extends Enum {
+  readonly isUnknown: boolean;
+  readonly isOverLimit: boolean;
+  readonly type: 'Unknown' | 'OverLimit';
+}
+
+/** @name CumulusPalletDmpQueueEvent */
+export interface CumulusPalletDmpQueueEvent extends Enum {
+  readonly isInvalidFormat: boolean;
+  readonly asInvalidFormat: U8aFixed;
+  readonly isUnsupportedVersion: boolean;
+  readonly asUnsupportedVersion: U8aFixed;
+  readonly isExecutedDownward: boolean;
+  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;
+  readonly isWeightExhausted: boolean;
+  readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;
+  readonly isOverweightEnqueued: boolean;
+  readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;
+  readonly isOverweightServiced: boolean;
+  readonly asOverweightServiced: ITuple<[u64, u64]>;
+  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
+}
+
+/** @name CumulusPalletDmpQueuePageIndexData */
+export interface CumulusPalletDmpQueuePageIndexData extends Struct {
+  readonly beginUsed: u32;
+  readonly endUsed: u32;
+  readonly overweightCount: u64;
+}
+
+/** @name CumulusPalletParachainSystemCall */
+export interface CumulusPalletParachainSystemCall extends Enum {
+  readonly isSetValidationData: boolean;
+  readonly asSetValidationData: {
+    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;
+  } & Struct;
+  readonly isSudoSendUpwardMessage: boolean;
+  readonly asSudoSendUpwardMessage: {
+    readonly message: Bytes;
+  } & Struct;
+  readonly isAuthorizeUpgrade: boolean;
+  readonly asAuthorizeUpgrade: {
+    readonly codeHash: H256;
+  } & Struct;
+  readonly isEnactAuthorizedUpgrade: boolean;
+  readonly asEnactAuthorizedUpgrade: {
+    readonly code: Bytes;
+  } & Struct;
+  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
+}
+
+/** @name CumulusPalletParachainSystemError */
+export interface CumulusPalletParachainSystemError extends Enum {
+  readonly isOverlappingUpgrades: boolean;
+  readonly isProhibitedByPolkadot: boolean;
+  readonly isTooBig: boolean;
+  readonly isValidationDataNotAvailable: boolean;
+  readonly isHostConfigurationNotAvailable: boolean;
+  readonly isNotScheduled: boolean;
+  readonly isNothingAuthorized: boolean;
+  readonly isUnauthorized: boolean;
+  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
+}
+
+/** @name CumulusPalletParachainSystemEvent */
+export interface CumulusPalletParachainSystemEvent extends Enum {
+  readonly isValidationFunctionStored: boolean;
+  readonly isValidationFunctionApplied: boolean;
+  readonly asValidationFunctionApplied: u32;
+  readonly isValidationFunctionDiscarded: boolean;
+  readonly isUpgradeAuthorized: boolean;
+  readonly asUpgradeAuthorized: H256;
+  readonly isDownwardMessagesReceived: boolean;
+  readonly asDownwardMessagesReceived: u32;
+  readonly isDownwardMessagesProcessed: boolean;
+  readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;
+  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
+}
+
+/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */
+export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
+  readonly dmqMqcHead: H256;
+  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
+  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
+  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
+}
+
+/** @name CumulusPalletXcmCall */
+export interface CumulusPalletXcmCall extends Null {}
+
+/** @name CumulusPalletXcmError */
+export interface CumulusPalletXcmError extends Null {}
+
+/** @name CumulusPalletXcmEvent */
+export interface CumulusPalletXcmEvent extends Enum {
+  readonly isInvalidFormat: boolean;
+  readonly asInvalidFormat: U8aFixed;
+  readonly isUnsupportedVersion: boolean;
+  readonly asUnsupportedVersion: U8aFixed;
+  readonly isExecutedDownward: boolean;
+  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;
+  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
+}
+
+/** @name CumulusPalletXcmpQueueCall */
+export interface CumulusPalletXcmpQueueCall extends Enum {
+  readonly isServiceOverweight: boolean;
+  readonly asServiceOverweight: {
+    readonly index: u64;
+    readonly weightLimit: u64;
+  } & Struct;
+  readonly isSuspendXcmExecution: boolean;
+  readonly isResumeXcmExecution: boolean;
+  readonly isUpdateSuspendThreshold: boolean;
+  readonly asUpdateSuspendThreshold: {
+    readonly new_: u32;
+  } & Struct;
+  readonly isUpdateDropThreshold: boolean;
+  readonly asUpdateDropThreshold: {
+    readonly new_: u32;
+  } & Struct;
+  readonly isUpdateResumeThreshold: boolean;
+  readonly asUpdateResumeThreshold: {
+    readonly new_: u32;
+  } & Struct;
+  readonly isUpdateThresholdWeight: boolean;
+  readonly asUpdateThresholdWeight: {
+    readonly new_: u64;
+  } & Struct;
+  readonly isUpdateWeightRestrictDecay: boolean;
+  readonly asUpdateWeightRestrictDecay: {
+    readonly new_: u64;
+  } & Struct;
+  readonly isUpdateXcmpMaxIndividualWeight: boolean;
+  readonly asUpdateXcmpMaxIndividualWeight: {
+    readonly new_: u64;
+  } & Struct;
+  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
+}
+
+/** @name CumulusPalletXcmpQueueError */
+export interface CumulusPalletXcmpQueueError extends Enum {
+  readonly isFailedToSend: boolean;
+  readonly isBadXcmOrigin: boolean;
+  readonly isBadXcm: boolean;
+  readonly isBadOverweightIndex: boolean;
+  readonly isWeightOverLimit: boolean;
+  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
+}
+
+/** @name CumulusPalletXcmpQueueEvent */
+export interface CumulusPalletXcmpQueueEvent extends Enum {
+  readonly isSuccess: boolean;
+  readonly asSuccess: Option<H256>;
+  readonly isFail: boolean;
+  readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;
+  readonly isBadVersion: boolean;
+  readonly asBadVersion: Option<H256>;
+  readonly isBadFormat: boolean;
+  readonly asBadFormat: Option<H256>;
+  readonly isUpwardMessageSent: boolean;
+  readonly asUpwardMessageSent: Option<H256>;
+  readonly isXcmpMessageSent: boolean;
+  readonly asXcmpMessageSent: Option<H256>;
+  readonly isOverweightEnqueued: boolean;
+  readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;
+  readonly isOverweightServiced: boolean;
+  readonly asOverweightServiced: ITuple<[u64, u64]>;
+  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
+}
+
+/** @name CumulusPalletXcmpQueueInboundChannelDetails */
+export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
+  readonly sender: u32;
+  readonly state: CumulusPalletXcmpQueueInboundState;
+  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
+}
+
+/** @name CumulusPalletXcmpQueueInboundState */
+export interface CumulusPalletXcmpQueueInboundState extends Enum {
+  readonly isOk: boolean;
+  readonly isSuspended: boolean;
+  readonly type: 'Ok' | 'Suspended';
+}
+
+/** @name CumulusPalletXcmpQueueOutboundChannelDetails */
+export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
+  readonly recipient: u32;
+  readonly state: CumulusPalletXcmpQueueOutboundState;
+  readonly signalsExist: bool;
+  readonly firstIndex: u16;
+  readonly lastIndex: u16;
+}
+
+/** @name CumulusPalletXcmpQueueOutboundState */
+export interface CumulusPalletXcmpQueueOutboundState extends Enum {
+  readonly isOk: boolean;
+  readonly isSuspended: boolean;
+  readonly type: 'Ok' | 'Suspended';
+}
+
+/** @name CumulusPalletXcmpQueueQueueConfigData */
+export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
+  readonly suspendThreshold: u32;
+  readonly dropThreshold: u32;
+  readonly resumeThreshold: u32;
+  readonly thresholdWeight: u64;
+  readonly weightRestrictDecay: u64;
+  readonly xcmpMaxIndividualWeight: u64;
+}
+
+/** @name CumulusPrimitivesParachainInherentParachainInherentData */
+export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
+  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
+  readonly relayChainState: SpTrieStorageProof;
+  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;
+  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
+}
+
+/** @name EthbloomBloom */
+export interface EthbloomBloom extends U8aFixed {}
+
+/** @name EthereumBlock */
+export interface EthereumBlock extends Struct {
+  readonly header: EthereumHeader;
+  readonly transactions: Vec<EthereumTransactionTransactionV2>;
+  readonly ommers: Vec<EthereumHeader>;
+}
+
+/** @name EthereumHeader */
+export interface EthereumHeader extends Struct {
+  readonly parentHash: H256;
+  readonly ommersHash: H256;
+  readonly beneficiary: H160;
+  readonly stateRoot: H256;
+  readonly transactionsRoot: H256;
+  readonly receiptsRoot: H256;
+  readonly logsBloom: EthbloomBloom;
+  readonly difficulty: U256;
+  readonly number: U256;
+  readonly gasLimit: U256;
+  readonly gasUsed: U256;
+  readonly timestamp: u64;
+  readonly extraData: Bytes;
+  readonly mixHash: H256;
+  readonly nonce: EthereumTypesHashH64;
+}
+
+/** @name EthereumLog */
+export interface EthereumLog extends Struct {
+  readonly address: H160;
+  readonly topics: Vec<H256>;
+  readonly data: Bytes;
+}
+
+/** @name EthereumReceiptEip658ReceiptData */
+export interface EthereumReceiptEip658ReceiptData extends Struct {
+  readonly statusCode: u8;
+  readonly usedGas: U256;
+  readonly logsBloom: EthbloomBloom;
+  readonly logs: Vec<EthereumLog>;
+}
+
+/** @name EthereumReceiptReceiptV3 */
+export interface EthereumReceiptReceiptV3 extends Enum {
+  readonly isLegacy: boolean;
+  readonly asLegacy: EthereumReceiptEip658ReceiptData;
+  readonly isEip2930: boolean;
+  readonly asEip2930: EthereumReceiptEip658ReceiptData;
+  readonly isEip1559: boolean;
+  readonly asEip1559: EthereumReceiptEip658ReceiptData;
+  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
+}
+
+/** @name EthereumTransactionAccessListItem */
+export interface EthereumTransactionAccessListItem extends Struct {
+  readonly address: H160;
+  readonly storageKeys: Vec<H256>;
+}
+
+/** @name EthereumTransactionEip1559Transaction */
+export interface EthereumTransactionEip1559Transaction extends Struct {
+  readonly chainId: u64;
+  readonly nonce: U256;
+  readonly maxPriorityFeePerGas: U256;
+  readonly maxFeePerGas: U256;
+  readonly gasLimit: U256;
+  readonly action: EthereumTransactionTransactionAction;
+  readonly value: U256;
+  readonly input: Bytes;
+  readonly accessList: Vec<EthereumTransactionAccessListItem>;
+  readonly oddYParity: bool;
+  readonly r: H256;
+  readonly s: H256;
+}
+
+/** @name EthereumTransactionEip2930Transaction */
+export interface EthereumTransactionEip2930Transaction extends Struct {
+  readonly chainId: u64;
+  readonly nonce: U256;
+  readonly gasPrice: U256;
+  readonly gasLimit: U256;
+  readonly action: EthereumTransactionTransactionAction;
+  readonly value: U256;
+  readonly input: Bytes;
+  readonly accessList: Vec<EthereumTransactionAccessListItem>;
+  readonly oddYParity: bool;
+  readonly r: H256;
+  readonly s: H256;
+}
+
+/** @name EthereumTransactionLegacyTransaction */
+export interface EthereumTransactionLegacyTransaction extends Struct {
+  readonly nonce: U256;
+  readonly gasPrice: U256;
+  readonly gasLimit: U256;
+  readonly action: EthereumTransactionTransactionAction;
+  readonly value: U256;
+  readonly input: Bytes;
+  readonly signature: EthereumTransactionTransactionSignature;
+}
+
+/** @name EthereumTransactionTransactionAction */
+export interface EthereumTransactionTransactionAction extends Enum {
+  readonly isCall: boolean;
+  readonly asCall: H160;
+  readonly isCreate: boolean;
+  readonly type: 'Call' | 'Create';
+}
+
+/** @name EthereumTransactionTransactionSignature */
+export interface EthereumTransactionTransactionSignature extends Struct {
+  readonly v: u64;
+  readonly r: H256;
+  readonly s: H256;
+}
+
+/** @name EthereumTransactionTransactionV2 */
+export interface EthereumTransactionTransactionV2 extends Enum {
+  readonly isLegacy: boolean;
+  readonly asLegacy: EthereumTransactionLegacyTransaction;
+  readonly isEip2930: boolean;
+  readonly asEip2930: EthereumTransactionEip2930Transaction;
+  readonly isEip1559: boolean;
+  readonly asEip1559: EthereumTransactionEip1559Transaction;
+  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
+}
+
+/** @name EthereumTypesHashH64 */
+export interface EthereumTypesHashH64 extends U8aFixed {}
+
+/** @name EvmCoreErrorExitError */
+export interface EvmCoreErrorExitError extends Enum {
+  readonly isStackUnderflow: boolean;
+  readonly isStackOverflow: boolean;
+  readonly isInvalidJump: boolean;
+  readonly isInvalidRange: boolean;
+  readonly isDesignatedInvalid: boolean;
+  readonly isCallTooDeep: boolean;
+  readonly isCreateCollision: boolean;
+  readonly isCreateContractLimit: boolean;
+  readonly isOutOfOffset: boolean;
+  readonly isOutOfGas: boolean;
+  readonly isOutOfFund: boolean;
+  readonly isPcUnderflow: boolean;
+  readonly isCreateEmpty: boolean;
+  readonly isOther: boolean;
+  readonly asOther: Text;
+  readonly isInvalidCode: boolean;
+  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
+}
+
+/** @name EvmCoreErrorExitFatal */
+export interface EvmCoreErrorExitFatal extends Enum {
+  readonly isNotSupported: boolean;
+  readonly isUnhandledInterrupt: boolean;
+  readonly isCallErrorAsFatal: boolean;
+  readonly asCallErrorAsFatal: EvmCoreErrorExitError;
+  readonly isOther: boolean;
+  readonly asOther: Text;
+  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
+}
+
+/** @name EvmCoreErrorExitReason */
+export interface EvmCoreErrorExitReason extends Enum {
+  readonly isSucceed: boolean;
+  readonly asSucceed: EvmCoreErrorExitSucceed;
+  readonly isError: boolean;
+  readonly asError: EvmCoreErrorExitError;
+  readonly isRevert: boolean;
+  readonly asRevert: EvmCoreErrorExitRevert;
+  readonly isFatal: boolean;
+  readonly asFatal: EvmCoreErrorExitFatal;
+  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
+}
+
+/** @name EvmCoreErrorExitRevert */
+export interface EvmCoreErrorExitRevert extends Enum {
+  readonly isReverted: boolean;
+  readonly type: 'Reverted';
+}
+
+/** @name EvmCoreErrorExitSucceed */
+export interface EvmCoreErrorExitSucceed extends Enum {
+  readonly isStopped: boolean;
+  readonly isReturned: boolean;
+  readonly isSuicided: boolean;
+  readonly type: 'Stopped' | 'Returned' | 'Suicided';
+}
+
+/** @name FpRpcTransactionStatus */
+export interface FpRpcTransactionStatus extends Struct {
+  readonly transactionHash: H256;
+  readonly transactionIndex: u32;
+  readonly from: H160;
+  readonly to: Option<H160>;
+  readonly contractAddress: Option<H160>;
+  readonly logs: Vec<EthereumLog>;
+  readonly logsBloom: EthbloomBloom;
+}
+
+/** @name FrameSupportPalletId */
+export interface FrameSupportPalletId extends U8aFixed {}
+
+/** @name FrameSupportTokensMiscBalanceStatus */
+export interface FrameSupportTokensMiscBalanceStatus extends Enum {
+  readonly isFree: boolean;
+  readonly isReserved: boolean;
+  readonly type: 'Free' | 'Reserved';
+}
+
+/** @name FrameSupportWeightsDispatchClass */
+export interface FrameSupportWeightsDispatchClass extends Enum {
+  readonly isNormal: boolean;
+  readonly isOperational: boolean;
+  readonly isMandatory: boolean;
+  readonly type: 'Normal' | 'Operational' | 'Mandatory';
+}
+
+/** @name FrameSupportWeightsDispatchInfo */
+export interface FrameSupportWeightsDispatchInfo extends Struct {
+  readonly weight: u64;
+  readonly class: FrameSupportWeightsDispatchClass;
+  readonly paysFee: FrameSupportWeightsPays;
+}
+
+/** @name FrameSupportWeightsPays */
+export interface FrameSupportWeightsPays extends Enum {
+  readonly isYes: boolean;
+  readonly isNo: boolean;
+  readonly type: 'Yes' | 'No';
+}
+
+/** @name FrameSupportWeightsPerDispatchClassU32 */
+export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
+  readonly normal: u32;
+  readonly operational: u32;
+  readonly mandatory: u32;
+}
+
+/** @name FrameSupportWeightsPerDispatchClassU64 */
+export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
+  readonly normal: u64;
+  readonly operational: u64;
+  readonly mandatory: u64;
+}
+
+/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */
+export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
+  readonly normal: FrameSystemLimitsWeightsPerClass;
+  readonly operational: FrameSystemLimitsWeightsPerClass;
+  readonly mandatory: FrameSystemLimitsWeightsPerClass;
+}
+
+/** @name FrameSupportWeightsRuntimeDbWeight */
+export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
+  readonly read: u64;
+  readonly write: u64;
+}
+
+/** @name FrameSupportWeightsWeightToFeeCoefficient */
+export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {
+  readonly coeffInteger: u128;
+  readonly coeffFrac: Perbill;
+  readonly negative: bool;
+  readonly degree: u8;
+}
+
+/** @name FrameSystemAccountInfo */
+export interface FrameSystemAccountInfo extends Struct {
+  readonly nonce: u32;
+  readonly consumers: u32;
+  readonly providers: u32;
+  readonly sufficients: u32;
+  readonly data: PalletBalancesAccountData;
+}
+
+/** @name FrameSystemCall */
+export interface FrameSystemCall extends Enum {
+  readonly isFillBlock: boolean;
+  readonly asFillBlock: {
+    readonly ratio: Perbill;
+  } & Struct;
+  readonly isRemark: boolean;
+  readonly asRemark: {
+    readonly remark: Bytes;
+  } & Struct;
+  readonly isSetHeapPages: boolean;
+  readonly asSetHeapPages: {
+    readonly pages: u64;
+  } & Struct;
+  readonly isSetCode: boolean;
+  readonly asSetCode: {
+    readonly code: Bytes;
+  } & Struct;
+  readonly isSetCodeWithoutChecks: boolean;
+  readonly asSetCodeWithoutChecks: {
+    readonly code: Bytes;
+  } & Struct;
+  readonly isSetStorage: boolean;
+  readonly asSetStorage: {
+    readonly items: Vec<ITuple<[Bytes, Bytes]>>;
+  } & Struct;
+  readonly isKillStorage: boolean;
+  readonly asKillStorage: {
+    readonly keys_: Vec<Bytes>;
+  } & Struct;
+  readonly isKillPrefix: boolean;
+  readonly asKillPrefix: {
+    readonly prefix: Bytes;
+    readonly subkeys: u32;
+  } & Struct;
+  readonly isRemarkWithEvent: boolean;
+  readonly asRemarkWithEvent: {
+    readonly remark: Bytes;
+  } & Struct;
+  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
+}
+
+/** @name FrameSystemError */
+export interface FrameSystemError extends Enum {
+  readonly isInvalidSpecName: boolean;
+  readonly isSpecVersionNeedsToIncrease: boolean;
+  readonly isFailedToExtractRuntimeVersion: boolean;
+  readonly isNonDefaultComposite: boolean;
+  readonly isNonZeroRefCount: boolean;
+  readonly isCallFiltered: boolean;
+  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
+}
+
+/** @name FrameSystemEvent */
+export interface FrameSystemEvent extends Enum {
+  readonly isExtrinsicSuccess: boolean;
+  readonly asExtrinsicSuccess: {
+    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;
+  } & Struct;
+  readonly isExtrinsicFailed: boolean;
+  readonly asExtrinsicFailed: {
+    readonly dispatchError: SpRuntimeDispatchError;
+    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;
+  } & Struct;
+  readonly isCodeUpdated: boolean;
+  readonly isNewAccount: boolean;
+  readonly asNewAccount: {
+    readonly account: AccountId32;
+  } & Struct;
+  readonly isKilledAccount: boolean;
+  readonly asKilledAccount: {
+    readonly account: AccountId32;
+  } & Struct;
+  readonly isRemarked: boolean;
+  readonly asRemarked: {
+    readonly sender: AccountId32;
+    readonly hash_: H256;
+  } & Struct;
+  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
+}
+
+/** @name FrameSystemEventRecord */
+export interface FrameSystemEventRecord extends Struct {
+  readonly phase: FrameSystemPhase;
+  readonly event: Event;
+  readonly topics: Vec<H256>;
+}
+
+/** @name FrameSystemExtensionsCheckGenesis */
+export interface FrameSystemExtensionsCheckGenesis extends Null {}
+
+/** @name FrameSystemExtensionsCheckNonce */
+export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
+
+/** @name FrameSystemExtensionsCheckSpecVersion */
+export interface FrameSystemExtensionsCheckSpecVersion extends Null {}
+
+/** @name FrameSystemExtensionsCheckWeight */
+export interface FrameSystemExtensionsCheckWeight extends Null {}
+
+/** @name FrameSystemLastRuntimeUpgradeInfo */
+export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
+  readonly specVersion: Compact<u32>;
+  readonly specName: Text;
+}
+
+/** @name FrameSystemLimitsBlockLength */
+export interface FrameSystemLimitsBlockLength extends Struct {
+  readonly max: FrameSupportWeightsPerDispatchClassU32;
+}
+
+/** @name FrameSystemLimitsBlockWeights */
+export interface FrameSystemLimitsBlockWeights extends Struct {
+  readonly baseBlock: u64;
+  readonly maxBlock: u64;
+  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
+}
+
+/** @name FrameSystemLimitsWeightsPerClass */
+export interface FrameSystemLimitsWeightsPerClass extends Struct {
+  readonly baseExtrinsic: u64;
+  readonly maxExtrinsic: Option<u64>;
+  readonly maxTotal: Option<u64>;
+  readonly reserved: Option<u64>;
+}
+
+/** @name FrameSystemPhase */
+export interface FrameSystemPhase extends Enum {
+  readonly isApplyExtrinsic: boolean;
+  readonly asApplyExtrinsic: u32;
+  readonly isFinalization: boolean;
+  readonly isInitialization: boolean;
+  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
+}
+
+/** @name OpalRuntimeRuntime */
+export interface OpalRuntimeRuntime extends Null {}
+
+/** @name OrmlVestingModuleCall */
+export interface OrmlVestingModuleCall extends Enum {
+  readonly isClaim: boolean;
+  readonly isVestedTransfer: boolean;
+  readonly asVestedTransfer: {
+    readonly dest: MultiAddress;
+    readonly schedule: OrmlVestingVestingSchedule;
+  } & Struct;
+  readonly isUpdateVestingSchedules: boolean;
+  readonly asUpdateVestingSchedules: {
+    readonly who: MultiAddress;
+    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;
+  } & Struct;
+  readonly isClaimFor: boolean;
+  readonly asClaimFor: {
+    readonly dest: MultiAddress;
+  } & Struct;
+  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
+}
+
+/** @name OrmlVestingModuleError */
+export interface OrmlVestingModuleError extends Enum {
+  readonly isZeroVestingPeriod: boolean;
+  readonly isZeroVestingPeriodCount: boolean;
+  readonly isInsufficientBalanceToLock: boolean;
+  readonly isTooManyVestingSchedules: boolean;
+  readonly isAmountLow: boolean;
+  readonly isMaxVestingSchedulesExceeded: boolean;
+  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
+}
+
+/** @name OrmlVestingModuleEvent */
+export interface OrmlVestingModuleEvent extends Enum {
+  readonly isVestingScheduleAdded: boolean;
+  readonly asVestingScheduleAdded: {
+    readonly from: AccountId32;
+    readonly to: AccountId32;
+    readonly vestingSchedule: OrmlVestingVestingSchedule;
+  } & Struct;
+  readonly isClaimed: boolean;
+  readonly asClaimed: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isVestingSchedulesUpdated: boolean;
+  readonly asVestingSchedulesUpdated: {
+    readonly who: AccountId32;
+  } & Struct;
+  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
+}
+
+/** @name OrmlVestingVestingSchedule */
+export interface OrmlVestingVestingSchedule extends Struct {
+  readonly start: u32;
+  readonly period: u32;
+  readonly periodCount: u32;
+  readonly perPeriod: Compact<u128>;
+}
+
+/** @name PalletBalancesAccountData */
+export interface PalletBalancesAccountData extends Struct {
+  readonly free: u128;
+  readonly reserved: u128;
+  readonly miscFrozen: u128;
+  readonly feeFrozen: u128;
+}
+
+/** @name PalletBalancesBalanceLock */
+export interface PalletBalancesBalanceLock extends Struct {
+  readonly id: U8aFixed;
+  readonly amount: u128;
+  readonly reasons: PalletBalancesReasons;
+}
+
+/** @name PalletBalancesCall */
+export interface PalletBalancesCall extends Enum {
+  readonly isTransfer: boolean;
+  readonly asTransfer: {
+    readonly dest: MultiAddress;
+    readonly value: Compact<u128>;
+  } & Struct;
+  readonly isSetBalance: boolean;
+  readonly asSetBalance: {
+    readonly who: MultiAddress;
+    readonly newFree: Compact<u128>;
+    readonly newReserved: Compact<u128>;
+  } & Struct;
+  readonly isForceTransfer: boolean;
+  readonly asForceTransfer: {
+    readonly source: MultiAddress;
+    readonly dest: MultiAddress;
+    readonly value: Compact<u128>;
+  } & Struct;
+  readonly isTransferKeepAlive: boolean;
+  readonly asTransferKeepAlive: {
+    readonly dest: MultiAddress;
+    readonly value: Compact<u128>;
+  } & Struct;
+  readonly isTransferAll: boolean;
+  readonly asTransferAll: {
+    readonly dest: MultiAddress;
+    readonly keepAlive: bool;
+  } & Struct;
+  readonly isForceUnreserve: boolean;
+  readonly asForceUnreserve: {
+    readonly who: MultiAddress;
+    readonly amount: u128;
+  } & Struct;
+  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
+}
+
+/** @name PalletBalancesError */
+export interface PalletBalancesError extends Enum {
+  readonly isVestingBalance: boolean;
+  readonly isLiquidityRestrictions: boolean;
+  readonly isInsufficientBalance: boolean;
+  readonly isExistentialDeposit: boolean;
+  readonly isKeepAlive: boolean;
+  readonly isExistingVestingSchedule: boolean;
+  readonly isDeadAccount: boolean;
+  readonly isTooManyReserves: boolean;
+  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
+}
+
+/** @name PalletBalancesEvent */
+export interface PalletBalancesEvent extends Enum {
+  readonly isEndowed: boolean;
+  readonly asEndowed: {
+    readonly account: AccountId32;
+    readonly freeBalance: u128;
+  } & Struct;
+  readonly isDustLost: boolean;
+  readonly asDustLost: {
+    readonly account: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isTransfer: boolean;
+  readonly asTransfer: {
+    readonly from: AccountId32;
+    readonly to: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isBalanceSet: boolean;
+  readonly asBalanceSet: {
+    readonly who: AccountId32;
+    readonly free: u128;
+    readonly reserved: u128;
+  } & Struct;
+  readonly isReserved: boolean;
+  readonly asReserved: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isUnreserved: boolean;
+  readonly asUnreserved: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isReserveRepatriated: boolean;
+  readonly asReserveRepatriated: {
+    readonly from: AccountId32;
+    readonly to: AccountId32;
+    readonly amount: u128;
+    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;
+  } & Struct;
+  readonly isDeposit: boolean;
+  readonly asDeposit: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isWithdraw: boolean;
+  readonly asWithdraw: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isSlashed: boolean;
+  readonly asSlashed: {
+    readonly who: AccountId32;
+    readonly amount: u128;
+  } & Struct;
+  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
+}
+
+/** @name PalletBalancesReasons */
+export interface PalletBalancesReasons extends Enum {
+  readonly isFee: boolean;
+  readonly isMisc: boolean;
+  readonly isAll: boolean;
+  readonly type: 'Fee' | 'Misc' | 'All';
+}
+
+/** @name PalletBalancesReleases */
+export interface PalletBalancesReleases extends Enum {
+  readonly isV100: boolean;
+  readonly isV200: boolean;
+  readonly type: 'V100' | 'V200';
+}
+
+/** @name PalletBalancesReserveData */
+export interface PalletBalancesReserveData extends Struct {
+  readonly id: U8aFixed;
+  readonly amount: u128;
+}
+
+/** @name PalletCommonError */
+export interface PalletCommonError extends Enum {
+  readonly isCollectionNotFound: boolean;
+  readonly isMustBeTokenOwner: boolean;
+  readonly isNoPermission: boolean;
+  readonly isPublicMintingNotAllowed: boolean;
+  readonly isAddressNotInAllowlist: boolean;
+  readonly isCollectionNameLimitExceeded: boolean;
+  readonly isCollectionDescriptionLimitExceeded: boolean;
+  readonly isCollectionTokenPrefixLimitExceeded: boolean;
+  readonly isTotalCollectionsLimitExceeded: boolean;
+  readonly isCollectionAdminCountExceeded: boolean;
+  readonly isCollectionLimitBoundsExceeded: boolean;
+  readonly isOwnerPermissionsCantBeReverted: boolean;
+  readonly isTransferNotAllowed: boolean;
+  readonly isAccountTokenLimitExceeded: boolean;
+  readonly isCollectionTokenLimitExceeded: boolean;
+  readonly isMetadataFlagFrozen: boolean;
+  readonly isTokenNotFound: boolean;
+  readonly isTokenValueTooLow: boolean;
+  readonly isApprovedValueTooLow: boolean;
+  readonly isCantApproveMoreThanOwned: boolean;
+  readonly isAddressIsZero: boolean;
+  readonly isUnsupportedOperation: boolean;
+  readonly isNotSufficientFounds: boolean;
+  readonly isNestingIsDisabled: boolean;
+  readonly isOnlyOwnerAllowedToNest: boolean;
+  readonly isSourceCollectionIsNotAllowedToNest: boolean;
+  readonly isCollectionFieldSizeExceeded: boolean;
+  readonly isNoSpaceForProperty: boolean;
+  readonly isPropertyLimitReached: boolean;
+  readonly isPropertyKeyIsTooLong: boolean;
+  readonly isInvalidCharacterInPropertyKey: boolean;
+  readonly isEmptyPropertyKey: boolean;
+  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';
+}
+
+/** @name PalletCommonEvent */
+export interface PalletCommonEvent extends Enum {
+  readonly isCollectionCreated: boolean;
+  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
+  readonly isCollectionDestroyed: boolean;
+  readonly asCollectionDestroyed: u32;
+  readonly isItemCreated: boolean;
+  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+  readonly isItemDestroyed: boolean;
+  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+  readonly isTransfer: boolean;
+  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+  readonly isApproved: boolean;
+  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+  readonly isCollectionPropertySet: boolean;
+  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;
+  readonly isCollectionPropertyDeleted: boolean;
+  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;
+  readonly isTokenPropertySet: boolean;
+  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;
+  readonly isTokenPropertyDeleted: boolean;
+  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;
+  readonly isPropertyPermissionSet: boolean;
+  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;
+  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
+}
+
+/** @name PalletEthereumCall */
+export interface PalletEthereumCall extends Enum {
+  readonly isTransact: boolean;
+  readonly asTransact: {
+    readonly transaction: EthereumTransactionTransactionV2;
+  } & Struct;
+  readonly type: 'Transact';
+}
+
+/** @name PalletEthereumError */
+export interface PalletEthereumError extends Enum {
+  readonly isInvalidSignature: boolean;
+  readonly isPreLogExists: boolean;
+  readonly type: 'InvalidSignature' | 'PreLogExists';
+}
+
+/** @name PalletEthereumEvent */
+export interface PalletEthereumEvent extends Enum {
+  readonly isExecuted: boolean;
+  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
+  readonly type: 'Executed';
+}
+
+/** @name PalletEthereumFakeTransactionFinalizer */
+export interface PalletEthereumFakeTransactionFinalizer extends Null {}
+
+/** @name PalletEvmAccountBasicCrossAccountIdRepr */
+export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
+  readonly isSubstrate: boolean;
+  readonly asSubstrate: AccountId32;
+  readonly isEthereum: boolean;
+  readonly asEthereum: H160;
+  readonly type: 'Substrate' | 'Ethereum';
+}
+
+/** @name PalletEvmCall */
+export interface PalletEvmCall extends Enum {
+  readonly isWithdraw: boolean;
+  readonly asWithdraw: {
+    readonly address: H160;
+    readonly value: u128;
+  } & Struct;
+  readonly isCall: boolean;
+  readonly asCall: {
+    readonly source: H160;
+    readonly target: H160;
+    readonly input: Bytes;
+    readonly value: U256;
+    readonly gasLimit: u64;
+    readonly maxFeePerGas: U256;
+    readonly maxPriorityFeePerGas: Option<U256>;
+    readonly nonce: Option<U256>;
+    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;
+  } & Struct;
+  readonly isCreate: boolean;
+  readonly asCreate: {
+    readonly source: H160;
+    readonly init: Bytes;
+    readonly value: U256;
+    readonly gasLimit: u64;
+    readonly maxFeePerGas: U256;
+    readonly maxPriorityFeePerGas: Option<U256>;
+    readonly nonce: Option<U256>;
+    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;
+  } & Struct;
+  readonly isCreate2: boolean;
+  readonly asCreate2: {
+    readonly source: H160;
+    readonly init: Bytes;
+    readonly salt: H256;
+    readonly value: U256;
+    readonly gasLimit: u64;
+    readonly maxFeePerGas: U256;
+    readonly maxPriorityFeePerGas: Option<U256>;
+    readonly nonce: Option<U256>;
+    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;
+  } & Struct;
+  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
+}
+
+/** @name PalletEvmCoderSubstrateError */
+export interface PalletEvmCoderSubstrateError extends Enum {
+  readonly isOutOfGas: boolean;
+  readonly isOutOfFund: boolean;
+  readonly type: 'OutOfGas' | 'OutOfFund';
+}
+
+/** @name PalletEvmContractHelpersError */
+export interface PalletEvmContractHelpersError extends Enum {
+  readonly isNoPermission: boolean;
+  readonly type: 'NoPermission';
+}
+
+/** @name PalletEvmContractHelpersSponsoringModeT */
+export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
+  readonly isDisabled: boolean;
+  readonly isAllowlisted: boolean;
+  readonly isGenerous: boolean;
+  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
+}
+
+/** @name PalletEvmError */
+export interface PalletEvmError extends Enum {
+  readonly isBalanceLow: boolean;
+  readonly isFeeOverflow: boolean;
+  readonly isPaymentOverflow: boolean;
+  readonly isWithdrawFailed: boolean;
+  readonly isGasPriceTooLow: boolean;
+  readonly isInvalidNonce: boolean;
+  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
+}
+
+/** @name PalletEvmEvent */
+export interface PalletEvmEvent extends Enum {
+  readonly isLog: boolean;
+  readonly asLog: EthereumLog;
+  readonly isCreated: boolean;
+  readonly asCreated: H160;
+  readonly isCreatedFailed: boolean;
+  readonly asCreatedFailed: H160;
+  readonly isExecuted: boolean;
+  readonly asExecuted: H160;
+  readonly isExecutedFailed: boolean;
+  readonly asExecutedFailed: H160;
+  readonly isBalanceDeposit: boolean;
+  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;
+  readonly isBalanceWithdraw: boolean;
+  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;
+  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
+}
+
+/** @name PalletEvmMigrationCall */
+export interface PalletEvmMigrationCall extends Enum {
+  readonly isBegin: boolean;
+  readonly asBegin: {
+    readonly address: H160;
+  } & Struct;
+  readonly isSetData: boolean;
+  readonly asSetData: {
+    readonly address: H160;
+    readonly data: Vec<ITuple<[H256, H256]>>;
+  } & Struct;
+  readonly isFinish: boolean;
+  readonly asFinish: {
+    readonly address: H160;
+    readonly code: Bytes;
+  } & Struct;
+  readonly type: 'Begin' | 'SetData' | 'Finish';
+}
+
+/** @name PalletEvmMigrationError */
+export interface PalletEvmMigrationError extends Enum {
+  readonly isAccountNotEmpty: boolean;
+  readonly isAccountIsNotMigrating: boolean;
+  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
+}
+
+/** @name PalletFungibleError */
+export interface PalletFungibleError extends Enum {
+  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
+  readonly isFungibleItemsHaveNoId: boolean;
+  readonly isFungibleItemsDontHaveData: boolean;
+  readonly isFungibleDisallowsNesting: boolean;
+  readonly isSettingPropertiesNotAllowed: boolean;
+  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
+}
+
+/** @name PalletInflationCall */
+export interface PalletInflationCall extends Enum {
+  readonly isStartInflation: boolean;
+  readonly asStartInflation: {
+    readonly inflationStartRelayBlock: u32;
+  } & Struct;
+  readonly type: 'StartInflation';
+}
+
+/** @name PalletNonfungibleError */
+export interface PalletNonfungibleError extends Enum {
+  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
+  readonly isNonfungibleItemsHaveNoAmount: boolean;
+  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';
+}
+
+/** @name PalletNonfungibleItemData */
+export interface PalletNonfungibleItemData extends Struct {
+  readonly constData: Bytes;
+  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
+}
+
+/** @name PalletRefungibleError */
+export interface PalletRefungibleError extends Enum {
+  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
+  readonly isWrongRefungiblePieces: boolean;
+  readonly isRefungibleDisallowsNesting: boolean;
+  readonly isSettingPropertiesNotAllowed: boolean;
+  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
+}
+
+/** @name PalletRefungibleItemData */
+export interface PalletRefungibleItemData extends Struct {
+  readonly constData: Bytes;
+}
+
+/** @name PalletStructureCall */
+export interface PalletStructureCall extends Null {}
+
+/** @name PalletStructureError */
+export interface PalletStructureError extends Enum {
+  readonly isOuroborosDetected: boolean;
+  readonly isDepthLimit: boolean;
+  readonly isTokenNotFound: boolean;
+  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
+}
+
+/** @name PalletStructureEvent */
+export interface PalletStructureEvent extends Enum {
+  readonly isExecuted: boolean;
+  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
+  readonly type: 'Executed';
+}
+
+/** @name PalletSudoCall */
+export interface PalletSudoCall extends Enum {
+  readonly isSudo: boolean;
+  readonly asSudo: {
+    readonly call: Call;
+  } & Struct;
+  readonly isSudoUncheckedWeight: boolean;
+  readonly asSudoUncheckedWeight: {
+    readonly call: Call;
+    readonly weight: u64;
+  } & Struct;
+  readonly isSetKey: boolean;
+  readonly asSetKey: {
+    readonly new_: MultiAddress;
+  } & Struct;
+  readonly isSudoAs: boolean;
+  readonly asSudoAs: {
+    readonly who: MultiAddress;
+    readonly call: Call;
+  } & Struct;
+  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
+}
+
+/** @name PalletSudoError */
+export interface PalletSudoError extends Enum {
+  readonly isRequireSudo: boolean;
+  readonly type: 'RequireSudo';
+}
+
+/** @name PalletSudoEvent */
+export interface PalletSudoEvent extends Enum {
+  readonly isSudid: boolean;
+  readonly asSudid: {
+    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;
+  } & Struct;
+  readonly isKeyChanged: boolean;
+  readonly asKeyChanged: {
+    readonly oldSudoer: Option<AccountId32>;
+  } & Struct;
+  readonly isSudoAsDone: boolean;
+  readonly asSudoAsDone: {
+    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;
+  } & Struct;
+  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
+}
+
+/** @name PalletTemplateTransactionPaymentCall */
+export interface PalletTemplateTransactionPaymentCall extends Null {}
+
+/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */
+export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
+
+/** @name PalletTimestampCall */
+export interface PalletTimestampCall extends Enum {
+  readonly isSet: boolean;
+  readonly asSet: {
+    readonly now: Compact<u64>;
+  } & Struct;
+  readonly type: 'Set';
+}
+
+/** @name PalletTransactionPaymentReleases */
+export interface PalletTransactionPaymentReleases extends Enum {
+  readonly isV1Ancient: boolean;
+  readonly isV2: boolean;
+  readonly type: 'V1Ancient' | 'V2';
+}
+
+/** @name PalletTreasuryCall */
+export interface PalletTreasuryCall extends Enum {
+  readonly isProposeSpend: boolean;
+  readonly asProposeSpend: {
+    readonly value: Compact<u128>;
+    readonly beneficiary: MultiAddress;
+  } & Struct;
+  readonly isRejectProposal: boolean;
+  readonly asRejectProposal: {
+    readonly proposalId: Compact<u32>;
+  } & Struct;
+  readonly isApproveProposal: boolean;
+  readonly asApproveProposal: {
+    readonly proposalId: Compact<u32>;
+  } & Struct;
+  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';
+}
+
+/** @name PalletTreasuryError */
+export interface PalletTreasuryError extends Enum {
+  readonly isInsufficientProposersBalance: boolean;
+  readonly isInvalidIndex: boolean;
+  readonly isTooManyApprovals: boolean;
+  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';
+}
+
+/** @name PalletTreasuryEvent */
+export interface PalletTreasuryEvent extends Enum {
+  readonly isProposed: boolean;
+  readonly asProposed: {
+    readonly proposalIndex: u32;
+  } & Struct;
+  readonly isSpending: boolean;
+  readonly asSpending: {
+    readonly budgetRemaining: u128;
+  } & Struct;
+  readonly isAwarded: boolean;
+  readonly asAwarded: {
+    readonly proposalIndex: u32;
+    readonly award: u128;
+    readonly account: AccountId32;
+  } & Struct;
+  readonly isRejected: boolean;
+  readonly asRejected: {
+    readonly proposalIndex: u32;
+    readonly slashed: u128;
+  } & Struct;
+  readonly isBurnt: boolean;
+  readonly asBurnt: {
+    readonly burntFunds: u128;
+  } & Struct;
+  readonly isRollover: boolean;
+  readonly asRollover: {
+    readonly rolloverBalance: u128;
+  } & Struct;
+  readonly isDeposit: boolean;
+  readonly asDeposit: {
+    readonly value: u128;
+  } & Struct;
+  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';
+}
+
+/** @name PalletTreasuryProposal */
+export interface PalletTreasuryProposal extends Struct {
+  readonly proposer: AccountId32;
+  readonly value: u128;
+  readonly beneficiary: AccountId32;
+  readonly bond: u128;
+}
+
+/** @name PalletUniqueCall */
+export interface PalletUniqueCall extends Enum {
+  readonly isCreateCollection: boolean;
+  readonly asCreateCollection: {
+    readonly collectionName: Vec<u16>;
+    readonly collectionDescription: Vec<u16>;
+    readonly tokenPrefix: Bytes;
+    readonly mode: UpDataStructsCollectionMode;
+  } & Struct;
+  readonly isCreateCollectionEx: boolean;
+  readonly asCreateCollectionEx: {
+    readonly data: UpDataStructsCreateCollectionData;
+  } & Struct;
+  readonly isDestroyCollection: boolean;
+  readonly asDestroyCollection: {
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isAddToAllowList: boolean;
+  readonly asAddToAllowList: {
+    readonly collectionId: u32;
+    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
+  } & Struct;
+  readonly isRemoveFromAllowList: boolean;
+  readonly asRemoveFromAllowList: {
+    readonly collectionId: u32;
+    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
+  } & Struct;
+  readonly isSetPublicAccessMode: boolean;
+  readonly asSetPublicAccessMode: {
+    readonly collectionId: u32;
+    readonly mode: UpDataStructsAccessMode;
+  } & Struct;
+  readonly isSetMintPermission: boolean;
+  readonly asSetMintPermission: {
+    readonly collectionId: u32;
+    readonly mintPermission: bool;
+  } & Struct;
+  readonly isChangeCollectionOwner: boolean;
+  readonly asChangeCollectionOwner: {
+    readonly collectionId: u32;
+    readonly newOwner: AccountId32;
+  } & Struct;
+  readonly isAddCollectionAdmin: boolean;
+  readonly asAddCollectionAdmin: {
+    readonly collectionId: u32;
+    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
+  } & Struct;
+  readonly isRemoveCollectionAdmin: boolean;
+  readonly asRemoveCollectionAdmin: {
+    readonly collectionId: u32;
+    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;
+  } & Struct;
+  readonly isSetCollectionSponsor: boolean;
+  readonly asSetCollectionSponsor: {
+    readonly collectionId: u32;
+    readonly newSponsor: AccountId32;
+  } & Struct;
+  readonly isConfirmSponsorship: boolean;
+  readonly asConfirmSponsorship: {
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isRemoveCollectionSponsor: boolean;
+  readonly asRemoveCollectionSponsor: {
+    readonly collectionId: u32;
+  } & Struct;
+  readonly isCreateItem: boolean;
+  readonly asCreateItem: {
+    readonly collectionId: u32;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly data: UpDataStructsCreateItemData;
+  } & Struct;
+  readonly isCreateMultipleItems: boolean;
+  readonly asCreateMultipleItems: {
+    readonly collectionId: u32;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly itemsData: Vec<UpDataStructsCreateItemData>;
+  } & Struct;
+  readonly isSetCollectionProperties: boolean;
+  readonly asSetCollectionProperties: {
+    readonly collectionId: u32;
+    readonly properties: Vec<UpDataStructsProperty>;
+  } & Struct;
+  readonly isDeleteCollectionProperties: boolean;
+  readonly asDeleteCollectionProperties: {
+    readonly collectionId: u32;
+    readonly propertyKeys: Vec<Bytes>;
+  } & Struct;
+  readonly isSetTokenProperties: boolean;
+  readonly asSetTokenProperties: {
+    readonly collectionId: u32;
+    readonly tokenId: u32;
+    readonly properties: Vec<UpDataStructsProperty>;
+  } & Struct;
+  readonly isDeleteTokenProperties: boolean;
+  readonly asDeleteTokenProperties: {
+    readonly collectionId: u32;
+    readonly tokenId: u32;
+    readonly propertyKeys: Vec<Bytes>;
+  } & Struct;
+  readonly isSetPropertyPermissions: boolean;
+  readonly asSetPropertyPermissions: {
+    readonly collectionId: u32;
+    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;
+  } & Struct;
+  readonly isCreateMultipleItemsEx: boolean;
+  readonly asCreateMultipleItemsEx: {
+    readonly collectionId: u32;
+    readonly data: UpDataStructsCreateItemExData;
+  } & Struct;
+  readonly isSetTransfersEnabledFlag: boolean;
+  readonly asSetTransfersEnabledFlag: {
+    readonly collectionId: u32;
+    readonly value: bool;
+  } & Struct;
+  readonly isBurnItem: boolean;
+  readonly asBurnItem: {
+    readonly collectionId: u32;
+    readonly itemId: u32;
+    readonly value: u128;
+  } & Struct;
+  readonly isBurnFrom: boolean;
+  readonly asBurnFrom: {
+    readonly collectionId: u32;
+    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly itemId: u32;
+    readonly value: u128;
+  } & Struct;
+  readonly isTransfer: boolean;
+  readonly asTransfer: {
+    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly collectionId: u32;
+    readonly itemId: u32;
+    readonly value: u128;
+  } & Struct;
+  readonly isApprove: boolean;
+  readonly asApprove: {
+    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly collectionId: u32;
+    readonly itemId: u32;
+    readonly amount: u128;
+  } & Struct;
+  readonly isTransferFrom: boolean;
+  readonly asTransferFrom: {
+    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly collectionId: u32;
+    readonly itemId: u32;
+    readonly value: u128;
+  } & Struct;
+  readonly isSetSchemaVersion: boolean;
+  readonly asSetSchemaVersion: {
+    readonly collectionId: u32;
+    readonly version: UpDataStructsSchemaVersion;
+  } & Struct;
+  readonly isSetOffchainSchema: boolean;
+  readonly asSetOffchainSchema: {
+    readonly collectionId: u32;
+    readonly schema: Bytes;
+  } & Struct;
+  readonly isSetConstOnChainSchema: boolean;
+  readonly asSetConstOnChainSchema: {
+    readonly collectionId: u32;
+    readonly schema: Bytes;
+  } & Struct;
+  readonly isSetCollectionLimits: boolean;
+  readonly asSetCollectionLimits: {
+    readonly collectionId: u32;
+    readonly newLimit: UpDataStructsCollectionLimits;
+  } & Struct;
+  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits';
+}
+
+/** @name PalletUniqueError */
+export interface PalletUniqueError extends Enum {
+  readonly isCollectionDecimalPointLimitExceeded: boolean;
+  readonly isConfirmUnsetSponsorFail: boolean;
+  readonly isEmptyArgument: boolean;
+  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
+}
+
+/** @name PalletUniqueRawEvent */
+export interface PalletUniqueRawEvent extends Enum {
+  readonly isCollectionSponsorRemoved: boolean;
+  readonly asCollectionSponsorRemoved: u32;
+  readonly isCollectionAdminAdded: boolean;
+  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+  readonly isCollectionOwnedChanged: boolean;
+  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;
+  readonly isCollectionSponsorSet: boolean;
+  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;
+  readonly isConstOnChainSchemaSet: boolean;
+  readonly asConstOnChainSchemaSet: u32;
+  readonly isSponsorshipConfirmed: boolean;
+  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;
+  readonly isCollectionAdminRemoved: boolean;
+  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+  readonly isAllowListAddressRemoved: boolean;
+  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+  readonly isAllowListAddressAdded: boolean;
+  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+  readonly isCollectionLimitSet: boolean;
+  readonly asCollectionLimitSet: u32;
+  readonly isMintPermissionSet: boolean;
+  readonly asMintPermissionSet: u32;
+  readonly isOffchainSchemaSet: boolean;
+  readonly asOffchainSchemaSet: u32;
+  readonly isPublicAccessModeSet: boolean;
+  readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;
+  readonly isSchemaVersionSet: boolean;
+  readonly asSchemaVersionSet: u32;
+  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet';
+}
+
+/** @name PalletXcmCall */
+export interface PalletXcmCall extends Enum {
+  readonly isSend: boolean;
+  readonly asSend: {
+    readonly dest: XcmVersionedMultiLocation;
+    readonly message: XcmVersionedXcm;
+  } & Struct;
+  readonly isTeleportAssets: boolean;
+  readonly asTeleportAssets: {
+    readonly dest: XcmVersionedMultiLocation;
+    readonly beneficiary: XcmVersionedMultiLocation;
+    readonly assets: XcmVersionedMultiAssets;
+    readonly feeAssetItem: u32;
+  } & Struct;
+  readonly isReserveTransferAssets: boolean;
+  readonly asReserveTransferAssets: {
+    readonly dest: XcmVersionedMultiLocation;
+    readonly beneficiary: XcmVersionedMultiLocation;
+    readonly assets: XcmVersionedMultiAssets;
+    readonly feeAssetItem: u32;
+  } & Struct;
+  readonly isExecute: boolean;
+  readonly asExecute: {
+    readonly message: XcmVersionedXcm;
+    readonly maxWeight: u64;
+  } & Struct;
+  readonly isForceXcmVersion: boolean;
+  readonly asForceXcmVersion: {
+    readonly location: XcmV1MultiLocation;
+    readonly xcmVersion: u32;
+  } & Struct;
+  readonly isForceDefaultXcmVersion: boolean;
+  readonly asForceDefaultXcmVersion: {
+    readonly maybeXcmVersion: Option<u32>;
+  } & Struct;
+  readonly isForceSubscribeVersionNotify: boolean;
+  readonly asForceSubscribeVersionNotify: {
+    readonly location: XcmVersionedMultiLocation;
+  } & Struct;
+  readonly isForceUnsubscribeVersionNotify: boolean;
+  readonly asForceUnsubscribeVersionNotify: {
+    readonly location: XcmVersionedMultiLocation;
+  } & Struct;
+  readonly isLimitedReserveTransferAssets: boolean;
+  readonly asLimitedReserveTransferAssets: {
+    readonly dest: XcmVersionedMultiLocation;
+    readonly beneficiary: XcmVersionedMultiLocation;
+    readonly assets: XcmVersionedMultiAssets;
+    readonly feeAssetItem: u32;
+    readonly weightLimit: XcmV2WeightLimit;
+  } & Struct;
+  readonly isLimitedTeleportAssets: boolean;
+  readonly asLimitedTeleportAssets: {
+    readonly dest: XcmVersionedMultiLocation;
+    readonly beneficiary: XcmVersionedMultiLocation;
+    readonly assets: XcmVersionedMultiAssets;
+    readonly feeAssetItem: u32;
+    readonly weightLimit: XcmV2WeightLimit;
+  } & Struct;
+  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
+}
+
+/** @name PalletXcmError */
+export interface PalletXcmError extends Enum {
+  readonly isUnreachable: boolean;
+  readonly isSendFailure: boolean;
+  readonly isFiltered: boolean;
+  readonly isUnweighableMessage: boolean;
+  readonly isDestinationNotInvertible: boolean;
+  readonly isEmpty: boolean;
+  readonly isCannotReanchor: boolean;
+  readonly isTooManyAssets: boolean;
+  readonly isInvalidOrigin: boolean;
+  readonly isBadVersion: boolean;
+  readonly isBadLocation: boolean;
+  readonly isNoSubscription: boolean;
+  readonly isAlreadySubscribed: boolean;
+  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
+}
+
+/** @name PalletXcmEvent */
+export interface PalletXcmEvent extends Enum {
+  readonly isAttempted: boolean;
+  readonly asAttempted: XcmV2TraitsOutcome;
+  readonly isSent: boolean;
+  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;
+  readonly isUnexpectedResponse: boolean;
+  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;
+  readonly isResponseReady: boolean;
+  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;
+  readonly isNotified: boolean;
+  readonly asNotified: ITuple<[u64, u8, u8]>;
+  readonly isNotifyOverweight: boolean;
+  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;
+  readonly isNotifyDispatchError: boolean;
+  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;
+  readonly isNotifyDecodeFailed: boolean;
+  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;
+  readonly isInvalidResponder: boolean;
+  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;
+  readonly isInvalidResponderVersion: boolean;
+  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;
+  readonly isResponseTaken: boolean;
+  readonly asResponseTaken: u64;
+  readonly isAssetsTrapped: boolean;
+  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;
+  readonly isVersionChangeNotified: boolean;
+  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;
+  readonly isSupportedVersionChanged: boolean;
+  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;
+  readonly isNotifyTargetSendFail: boolean;
+  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;
+  readonly isNotifyTargetMigrationFail: boolean;
+  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;
+  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
+}
+
+/** @name PhantomTypeUpDataStructsBaseInfo */
+export interface PhantomTypeUpDataStructsBaseInfo extends Vec<Lookup357> {}
+
+/** @name PhantomTypeUpDataStructsCollectionInfo */
+export interface PhantomTypeUpDataStructsCollectionInfo extends Vec<Lookup334> {}
+
+/** @name PhantomTypeUpDataStructsNftChild */
+export interface PhantomTypeUpDataStructsNftChild extends Vec<Lookup372> {}
+
+/** @name PhantomTypeUpDataStructsNftInfo */
+export interface PhantomTypeUpDataStructsNftInfo extends Vec<Lookup339> {}
+
+/** @name PhantomTypeUpDataStructsPartType */
+export interface PhantomTypeUpDataStructsPartType extends Vec<Lookup360> {}
+
+/** @name PhantomTypeUpDataStructsPropertyInfo */
+export interface PhantomTypeUpDataStructsPropertyInfo extends Vec<Lookup352> {}
+
+/** @name PhantomTypeUpDataStructsResourceInfo */
+export interface PhantomTypeUpDataStructsResourceInfo extends Vec<Lookup345> {}
+
+/** @name PhantomTypeUpDataStructsRpcCollection */
+export interface PhantomTypeUpDataStructsRpcCollection extends Vec<Lookup331> {}
+
+/** @name PhantomTypeUpDataStructsTheme */
+export interface PhantomTypeUpDataStructsTheme extends Vec<Lookup367> {}
+
+/** @name PhantomTypeUpDataStructsTokenData */
+export interface PhantomTypeUpDataStructsTokenData extends Vec<Lookup327> {}
+
+/** @name PolkadotCorePrimitivesInboundDownwardMessage */
+export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
+  readonly sentAt: u32;
+  readonly msg: Bytes;
+}
+
+/** @name PolkadotCorePrimitivesInboundHrmpMessage */
+export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
+  readonly sentAt: u32;
+  readonly data: Bytes;
+}
+
+/** @name PolkadotCorePrimitivesOutboundHrmpMessage */
+export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
+  readonly recipient: u32;
+  readonly data: Bytes;
+}
+
+/** @name PolkadotParachainPrimitivesXcmpMessageFormat */
+export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
+  readonly isConcatenatedVersionedXcm: boolean;
+  readonly isConcatenatedEncodedBlob: boolean;
+  readonly isSignals: boolean;
+  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
+}
+
+/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */
+export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
+  readonly maxCodeSize: u32;
+  readonly maxHeadDataSize: u32;
+  readonly maxUpwardQueueCount: u32;
+  readonly maxUpwardQueueSize: u32;
+  readonly maxUpwardMessageSize: u32;
+  readonly maxUpwardMessageNumPerCandidate: u32;
+  readonly hrmpMaxMessageNumPerCandidate: u32;
+  readonly validationUpgradeCooldown: u32;
+  readonly validationUpgradeDelay: u32;
+}
+
+/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */
+export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
+  readonly maxCapacity: u32;
+  readonly maxTotalSize: u32;
+  readonly maxMessageSize: u32;
+  readonly msgCount: u32;
+  readonly totalSize: u32;
+  readonly mqcHead: Option<H256>;
+}
+
+/** @name PolkadotPrimitivesV2PersistedValidationData */
+export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
+  readonly parentHead: Bytes;
+  readonly relayParentNumber: u32;
+  readonly relayParentStorageRoot: H256;
+  readonly maxPovSize: u32;
+}
+
+/** @name PolkadotPrimitivesV2UpgradeRestriction */
+export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
+  readonly isPresent: boolean;
+  readonly type: 'Present';
+}
+
+/** @name RmrkTypesAccountIdOrCollectionNftTuple */
+export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum {
+  readonly isAccountId: boolean;
+  readonly asAccountId: AccountId32;
+  readonly isCollectionAndNftTuple: boolean;
+  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;
+  readonly type: 'AccountId' | 'CollectionAndNftTuple';
+}
+
+/** @name RmrkTypesBaseInfo */
+export interface RmrkTypesBaseInfo extends Struct {
+  readonly issuer: AccountId32;
+  readonly baseType: Bytes;
+  readonly symbol: Bytes;
+}
+
+/** @name RmrkTypesCollectionInfo */
+export interface RmrkTypesCollectionInfo extends Struct {
+  readonly issuer: AccountId32;
+  readonly metadata: Bytes;
+  readonly max: Option<u32>;
+  readonly symbol: Bytes;
+  readonly nftsCount: u32;
+}
+
+/** @name RmrkTypesEquippableList */
+export interface RmrkTypesEquippableList extends Enum {
+  readonly isAll: boolean;
+  readonly isEmpty: boolean;
+  readonly isCustom: boolean;
+  readonly asCustom: Vec<u32>;
+  readonly type: 'All' | 'Empty' | 'Custom';
+}
+
+/** @name RmrkTypesFixedPart */
+export interface RmrkTypesFixedPart extends Struct {
+  readonly id: u32;
+  readonly z: u32;
+  readonly src: Bytes;
+}
+
+/** @name RmrkTypesNftChild */
+export interface RmrkTypesNftChild extends Struct {
+  readonly collectionId: u32;
+  readonly nftId: u32;
+}
+
+/** @name RmrkTypesNftInfo */
+export interface RmrkTypesNftInfo extends Struct {
+  readonly owner: RmrkTypesAccountIdOrCollectionNftTuple;
+  readonly royalty: Option<RmrkTypesRoyaltyInfo>;
+  readonly metadata: Bytes;
+  readonly equipped: bool;
+  readonly pending: bool;
+}
+
+/** @name RmrkTypesPartType */
+export interface RmrkTypesPartType extends Enum {
+  readonly isFixedPart: boolean;
+  readonly asFixedPart: RmrkTypesFixedPart;
+  readonly isSlotPart: boolean;
+  readonly asSlotPart: RmrkTypesSlotPart;
+  readonly type: 'FixedPart' | 'SlotPart';
+}
+
+/** @name RmrkTypesPropertyInfo */
+export interface RmrkTypesPropertyInfo extends Struct {
+  readonly key: Bytes;
+  readonly value: Bytes;
+}
+
+/** @name RmrkTypesResourceInfo */
+export interface RmrkTypesResourceInfo extends Struct {
+  readonly id: Bytes;
+  readonly pending: bool;
+  readonly pendingRemoval: bool;
+  readonly parts: Option<Vec<u32>>;
+  readonly base: Option<u32>;
+  readonly src: Option<Bytes>;
+  readonly metadata: Option<Bytes>;
+  readonly slot: Option<u32>;
+  readonly license: Option<Bytes>;
+  readonly thumb: Option<Bytes>;
+}
+
+/** @name RmrkTypesRoyaltyInfo */
+export interface RmrkTypesRoyaltyInfo extends Struct {
+  readonly recipient: AccountId32;
+  readonly amount: Permill;
+}
+
+/** @name RmrkTypesSlotPart */
+export interface RmrkTypesSlotPart extends Struct {
+  readonly id: u32;
+  readonly equippable: RmrkTypesEquippableList;
+  readonly src: Bytes;
+  readonly z: u32;
+}
+
+/** @name RmrkTypesTheme */
+export interface RmrkTypesTheme extends Struct {
+  readonly name: Bytes;
+  readonly properties: Vec<RmrkTypesThemeProperty>;
+  readonly inherit: bool;
+}
+
+/** @name RmrkTypesThemeProperty */
+export interface RmrkTypesThemeProperty extends Struct {
+  readonly key: Bytes;
+  readonly value: Bytes;
+}
+
+/** @name SpCoreEcdsaSignature */
+export interface SpCoreEcdsaSignature extends U8aFixed {}
+
+/** @name SpCoreEd25519Signature */
+export interface SpCoreEd25519Signature extends U8aFixed {}
+
+/** @name SpCoreSr25519Signature */
+export interface SpCoreSr25519Signature extends U8aFixed {}
+
+/** @name SpRuntimeArithmeticError */
+export interface SpRuntimeArithmeticError extends Enum {
+  readonly isUnderflow: boolean;
+  readonly isOverflow: boolean;
+  readonly isDivisionByZero: boolean;
+  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
+}
+
+/** @name SpRuntimeDigest */
+export interface SpRuntimeDigest extends Struct {
+  readonly logs: Vec<SpRuntimeDigestDigestItem>;
+}
+
+/** @name SpRuntimeDigestDigestItem */
+export interface SpRuntimeDigestDigestItem extends Enum {
+  readonly isOther: boolean;
+  readonly asOther: Bytes;
+  readonly isConsensus: boolean;
+  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;
+  readonly isSeal: boolean;
+  readonly asSeal: ITuple<[U8aFixed, Bytes]>;
+  readonly isPreRuntime: boolean;
+  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;
+  readonly isRuntimeEnvironmentUpdated: boolean;
+  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
+}
+
+/** @name SpRuntimeDispatchError */
+export interface SpRuntimeDispatchError extends Enum {
+  readonly isOther: boolean;
+  readonly isCannotLookup: boolean;
+  readonly isBadOrigin: boolean;
+  readonly isModule: boolean;
+  readonly asModule: SpRuntimeModuleError;
+  readonly isConsumerRemaining: boolean;
+  readonly isNoProviders: boolean;
+  readonly isTooManyConsumers: boolean;
+  readonly isToken: boolean;
+  readonly asToken: SpRuntimeTokenError;
+  readonly isArithmetic: boolean;
+  readonly asArithmetic: SpRuntimeArithmeticError;
+  readonly isTransactional: boolean;
+  readonly asTransactional: SpRuntimeTransactionalError;
+  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';
+}
+
+/** @name SpRuntimeModuleError */
+export interface SpRuntimeModuleError extends Struct {
+  readonly index: u8;
+  readonly error: U8aFixed;
+}
+
+/** @name SpRuntimeMultiSignature */
+export interface SpRuntimeMultiSignature extends Enum {
+  readonly isEd25519: boolean;
+  readonly asEd25519: SpCoreEd25519Signature;
+  readonly isSr25519: boolean;
+  readonly asSr25519: SpCoreSr25519Signature;
+  readonly isEcdsa: boolean;
+  readonly asEcdsa: SpCoreEcdsaSignature;
+  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
+}
+
+/** @name SpRuntimeTokenError */
+export interface SpRuntimeTokenError extends Enum {
+  readonly isNoFunds: boolean;
+  readonly isWouldDie: boolean;
+  readonly isBelowMinimum: boolean;
+  readonly isCannotCreate: boolean;
+  readonly isUnknownAsset: boolean;
+  readonly isFrozen: boolean;
+  readonly isUnsupported: boolean;
+  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
+}
+
+/** @name SpRuntimeTransactionalError */
+export interface SpRuntimeTransactionalError extends Enum {
+  readonly isLimitReached: boolean;
+  readonly isNoLayer: boolean;
+  readonly type: 'LimitReached' | 'NoLayer';
+}
+
+/** @name SpTrieStorageProof */
+export interface SpTrieStorageProof extends Struct {
+  readonly trieNodes: BTreeSet<Bytes>;
+}
+
+/** @name SpVersionRuntimeVersion */
+export interface SpVersionRuntimeVersion extends Struct {
+  readonly specName: Text;
+  readonly implName: Text;
+  readonly authoringVersion: u32;
+  readonly specVersion: u32;
+  readonly implVersion: u32;
+  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;
+  readonly transactionVersion: u32;
+  readonly stateVersion: u8;
+}
+
+/** @name UpDataStructsAccessMode */
+export interface UpDataStructsAccessMode extends Enum {
+  readonly isNormal: boolean;
+  readonly isAllowList: boolean;
+  readonly type: 'Normal' | 'AllowList';
+}
+
+/** @name UpDataStructsCollection */
+export interface UpDataStructsCollection extends Struct {
+  readonly owner: AccountId32;
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: UpDataStructsAccessMode;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly mintMode: bool;
+  readonly schemaVersion: UpDataStructsSchemaVersion;
+  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly limits: UpDataStructsCollectionLimits;
+}
+
+/** @name UpDataStructsCollectionField */
+export interface UpDataStructsCollectionField extends Enum {
+  readonly isConstOnChainSchema: boolean;
+  readonly isOffchainSchema: boolean;
+  readonly type: 'ConstOnChainSchema' | 'OffchainSchema';
+}
+
+/** @name UpDataStructsCollectionLimits */
+export interface UpDataStructsCollectionLimits extends Struct {
+  readonly accountTokenOwnershipLimit: Option<u32>;
+  readonly sponsoredDataSize: Option<u32>;
+  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;
+  readonly tokenLimit: Option<u32>;
+  readonly sponsorTransferTimeout: Option<u32>;
+  readonly sponsorApproveTimeout: Option<u32>;
+  readonly ownerCanTransfer: Option<bool>;
+  readonly ownerCanDestroy: Option<bool>;
+  readonly transfersEnabled: Option<bool>;
+  readonly nestingRule: Option<UpDataStructsNestingRule>;
+}
+
+/** @name UpDataStructsCollectionMode */
+export interface UpDataStructsCollectionMode extends Enum {
+  readonly isNft: boolean;
+  readonly isFungible: boolean;
+  readonly asFungible: u8;
+  readonly isReFungible: boolean;
+  readonly type: 'Nft' | 'Fungible' | 'ReFungible';
+}
+
+/** @name UpDataStructsCollectionStats */
+export interface UpDataStructsCollectionStats extends Struct {
+  readonly created: u32;
+  readonly destroyed: u32;
+  readonly alive: u32;
+}
+
+/** @name UpDataStructsCreateCollectionData */
+export interface UpDataStructsCreateCollectionData extends Struct {
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: Option<UpDataStructsAccessMode>;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly offchainSchema: Bytes;
+  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;
+  readonly pendingSponsor: Option<AccountId32>;
+  readonly limits: Option<UpDataStructsCollectionLimits>;
+  readonly constOnChainSchema: Bytes;
+  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;
+  readonly properties: Vec<UpDataStructsProperty>;
+}
+
+/** @name UpDataStructsCreateFungibleData */
+export interface UpDataStructsCreateFungibleData extends Struct {
+  readonly value: u128;
+}
+
+/** @name UpDataStructsCreateItemData */
+export interface UpDataStructsCreateItemData extends Enum {
+  readonly isNft: boolean;
+  readonly asNft: UpDataStructsCreateNftData;
+  readonly isFungible: boolean;
+  readonly asFungible: UpDataStructsCreateFungibleData;
+  readonly isReFungible: boolean;
+  readonly asReFungible: UpDataStructsCreateReFungibleData;
+  readonly type: 'Nft' | 'Fungible' | 'ReFungible';
+}
+
+/** @name UpDataStructsCreateItemExData */
+export interface UpDataStructsCreateItemExData extends Enum {
+  readonly isNft: boolean;
+  readonly asNft: Vec<UpDataStructsCreateNftExData>;
+  readonly isFungible: boolean;
+  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;
+  readonly isRefungibleMultipleItems: boolean;
+  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
+  readonly isRefungibleMultipleOwners: boolean;
+  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;
+  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
+}
+
+/** @name UpDataStructsCreateNftData */
+export interface UpDataStructsCreateNftData extends Struct {
+  readonly constData: Bytes;
+  readonly properties: Vec<UpDataStructsProperty>;
+}
+
+/** @name UpDataStructsCreateNftExData */
+export interface UpDataStructsCreateNftExData extends Struct {
+  readonly constData: Bytes;
+  readonly properties: Vec<UpDataStructsProperty>;
+  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
+}
+
+/** @name UpDataStructsCreateReFungibleData */
+export interface UpDataStructsCreateReFungibleData extends Struct {
+  readonly constData: Bytes;
+  readonly pieces: u128;
+}
+
+/** @name UpDataStructsCreateRefungibleExData */
+export interface UpDataStructsCreateRefungibleExData extends Struct {
+  readonly constData: Bytes;
+  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
+}
+
+/** @name UpDataStructsNestingRule */
+export interface UpDataStructsNestingRule extends Enum {
+  readonly isDisabled: boolean;
+  readonly isOwner: boolean;
+  readonly isOwnerRestricted: boolean;
+  readonly asOwnerRestricted: BTreeSet<u32>;
+  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';
+}
+
+/** @name UpDataStructsProperties */
+export interface UpDataStructsProperties extends Struct {
+  readonly map: UpDataStructsPropertiesMapBoundedVec;
+  readonly consumedSpace: u32;
+  readonly spaceLimit: u32;
+}
+
+/** @name UpDataStructsPropertiesMapBoundedVec */
+export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
+
+/** @name UpDataStructsPropertiesMapPropertyPermission */
+export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
+
+/** @name UpDataStructsProperty */
+export interface UpDataStructsProperty extends Struct {
+  readonly key: Bytes;
+  readonly value: Bytes;
+}
+
+/** @name UpDataStructsPropertyKeyPermission */
+export interface UpDataStructsPropertyKeyPermission extends Struct {
+  readonly key: Bytes;
+  readonly permission: UpDataStructsPropertyPermission;
+}
+
+/** @name UpDataStructsPropertyPermission */
+export interface UpDataStructsPropertyPermission extends Struct {
+  readonly mutable: bool;
+  readonly collectionAdmin: bool;
+  readonly tokenOwner: bool;
+}
+
+/** @name UpDataStructsRpcCollection */
+export interface UpDataStructsRpcCollection extends Struct {
+  readonly owner: AccountId32;
+  readonly mode: UpDataStructsCollectionMode;
+  readonly access: UpDataStructsAccessMode;
+  readonly name: Vec<u16>;
+  readonly description: Vec<u16>;
+  readonly tokenPrefix: Bytes;
+  readonly mintMode: bool;
+  readonly offchainSchema: Bytes;
+  readonly schemaVersion: UpDataStructsSchemaVersion;
+  readonly sponsorship: UpDataStructsSponsorshipState;
+  readonly limits: UpDataStructsCollectionLimits;
+  readonly constOnChainSchema: Bytes;
+  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;
+  readonly properties: Vec<UpDataStructsProperty>;
+}
+
+/** @name UpDataStructsSchemaVersion */
+export interface UpDataStructsSchemaVersion extends Enum {
+  readonly isImageURL: boolean;
+  readonly isUnique: boolean;
+  readonly type: 'ImageURL' | 'Unique';
+}
+
+/** @name UpDataStructsSponsoringRateLimit */
+export interface UpDataStructsSponsoringRateLimit extends Enum {
+  readonly isSponsoringDisabled: boolean;
+  readonly isBlocks: boolean;
+  readonly asBlocks: u32;
+  readonly type: 'SponsoringDisabled' | 'Blocks';
+}
+
+/** @name UpDataStructsSponsorshipState */
+export interface UpDataStructsSponsorshipState extends Enum {
+  readonly isDisabled: boolean;
+  readonly isUnconfirmed: boolean;
+  readonly asUnconfirmed: AccountId32;
+  readonly isConfirmed: boolean;
+  readonly asConfirmed: AccountId32;
+  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
+}
+
+/** @name UpDataStructsTokenData */
+export interface UpDataStructsTokenData extends Struct {
+  readonly constData: Bytes;
+  readonly properties: Vec<UpDataStructsProperty>;
+  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
+}
+
+/** @name XcmDoubleEncoded */
+export interface XcmDoubleEncoded extends Struct {
+  readonly encoded: Bytes;
+}
+
+/** @name XcmV0Junction */
+export interface XcmV0Junction extends Enum {
+  readonly isParent: boolean;
+  readonly isParachain: boolean;
+  readonly asParachain: Compact<u32>;
+  readonly isAccountId32: boolean;
+  readonly asAccountId32: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly id: U8aFixed;
+  } & Struct;
+  readonly isAccountIndex64: boolean;
+  readonly asAccountIndex64: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly index: Compact<u64>;
+  } & Struct;
+  readonly isAccountKey20: boolean;
+  readonly asAccountKey20: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly key: U8aFixed;
+  } & Struct;
+  readonly isPalletInstance: boolean;
+  readonly asPalletInstance: u8;
+  readonly isGeneralIndex: boolean;
+  readonly asGeneralIndex: Compact<u128>;
+  readonly isGeneralKey: boolean;
+  readonly asGeneralKey: Bytes;
+  readonly isOnlyChild: boolean;
+  readonly isPlurality: boolean;
+  readonly asPlurality: {
+    readonly id: XcmV0JunctionBodyId;
+    readonly part: XcmV0JunctionBodyPart;
+  } & Struct;
+  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
+}
+
+/** @name XcmV0JunctionBodyId */
+export interface XcmV0JunctionBodyId extends Enum {
+  readonly isUnit: boolean;
+  readonly isNamed: boolean;
+  readonly asNamed: Bytes;
+  readonly isIndex: boolean;
+  readonly asIndex: Compact<u32>;
+  readonly isExecutive: boolean;
+  readonly isTechnical: boolean;
+  readonly isLegislative: boolean;
+  readonly isJudicial: boolean;
+  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
+}
+
+/** @name XcmV0JunctionBodyPart */
+export interface XcmV0JunctionBodyPart extends Enum {
+  readonly isVoice: boolean;
+  readonly isMembers: boolean;
+  readonly asMembers: {
+    readonly count: Compact<u32>;
+  } & Struct;
+  readonly isFraction: boolean;
+  readonly asFraction: {
+    readonly nom: Compact<u32>;
+    readonly denom: Compact<u32>;
+  } & Struct;
+  readonly isAtLeastProportion: boolean;
+  readonly asAtLeastProportion: {
+    readonly nom: Compact<u32>;
+    readonly denom: Compact<u32>;
+  } & Struct;
+  readonly isMoreThanProportion: boolean;
+  readonly asMoreThanProportion: {
+    readonly nom: Compact<u32>;
+    readonly denom: Compact<u32>;
+  } & Struct;
+  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
+}
+
+/** @name XcmV0JunctionNetworkId */
+export interface XcmV0JunctionNetworkId extends Enum {
+  readonly isAny: boolean;
+  readonly isNamed: boolean;
+  readonly asNamed: Bytes;
+  readonly isPolkadot: boolean;
+  readonly isKusama: boolean;
+  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
+}
+
+/** @name XcmV0MultiAsset */
+export interface XcmV0MultiAsset extends Enum {
+  readonly isNone: boolean;
+  readonly isAll: boolean;
+  readonly isAllFungible: boolean;
+  readonly isAllNonFungible: boolean;
+  readonly isAllAbstractFungible: boolean;
+  readonly asAllAbstractFungible: {
+    readonly id: Bytes;
+  } & Struct;
+  readonly isAllAbstractNonFungible: boolean;
+  readonly asAllAbstractNonFungible: {
+    readonly class: Bytes;
+  } & Struct;
+  readonly isAllConcreteFungible: boolean;
+  readonly asAllConcreteFungible: {
+    readonly id: XcmV0MultiLocation;
+  } & Struct;
+  readonly isAllConcreteNonFungible: boolean;
+  readonly asAllConcreteNonFungible: {
+    readonly class: XcmV0MultiLocation;
+  } & Struct;
+  readonly isAbstractFungible: boolean;
+  readonly asAbstractFungible: {
+    readonly id: Bytes;
+    readonly amount: Compact<u128>;
+  } & Struct;
+  readonly isAbstractNonFungible: boolean;
+  readonly asAbstractNonFungible: {
+    readonly class: Bytes;
+    readonly instance: XcmV1MultiassetAssetInstance;
+  } & Struct;
+  readonly isConcreteFungible: boolean;
+  readonly asConcreteFungible: {
+    readonly id: XcmV0MultiLocation;
+    readonly amount: Compact<u128>;
+  } & Struct;
+  readonly isConcreteNonFungible: boolean;
+  readonly asConcreteNonFungible: {
+    readonly class: XcmV0MultiLocation;
+    readonly instance: XcmV1MultiassetAssetInstance;
+  } & Struct;
+  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
+}
+
+/** @name XcmV0MultiLocation */
+export interface XcmV0MultiLocation extends Enum {
+  readonly isNull: boolean;
+  readonly isX1: boolean;
+  readonly asX1: XcmV0Junction;
+  readonly isX2: boolean;
+  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;
+  readonly isX3: boolean;
+  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly isX4: boolean;
+  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly isX5: boolean;
+  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly isX6: boolean;
+  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly isX7: boolean;
+  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly isX8: boolean;
+  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;
+  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
+}
+
+/** @name XcmV0Order */
+export interface XcmV0Order extends Enum {
+  readonly isNull: boolean;
+  readonly isDepositAsset: boolean;
+  readonly asDepositAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly dest: XcmV0MultiLocation;
+  } & Struct;
+  readonly isDepositReserveAsset: boolean;
+  readonly asDepositReserveAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly dest: XcmV0MultiLocation;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isExchangeAsset: boolean;
+  readonly asExchangeAsset: {
+    readonly give: Vec<XcmV0MultiAsset>;
+    readonly receive: Vec<XcmV0MultiAsset>;
+  } & Struct;
+  readonly isInitiateReserveWithdraw: boolean;
+  readonly asInitiateReserveWithdraw: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly reserve: XcmV0MultiLocation;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isInitiateTeleport: boolean;
+  readonly asInitiateTeleport: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly dest: XcmV0MultiLocation;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isQueryHolding: boolean;
+  readonly asQueryHolding: {
+    readonly queryId: Compact<u64>;
+    readonly dest: XcmV0MultiLocation;
+    readonly assets: Vec<XcmV0MultiAsset>;
+  } & Struct;
+  readonly isBuyExecution: boolean;
+  readonly asBuyExecution: {
+    readonly fees: XcmV0MultiAsset;
+    readonly weight: u64;
+    readonly debt: u64;
+    readonly haltOnError: bool;
+    readonly xcm: Vec<XcmV0Xcm>;
+  } & Struct;
+  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
+}
+
+/** @name XcmV0OriginKind */
+export interface XcmV0OriginKind extends Enum {
+  readonly isNative: boolean;
+  readonly isSovereignAccount: boolean;
+  readonly isSuperuser: boolean;
+  readonly isXcm: boolean;
+  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
+}
+
+/** @name XcmV0Response */
+export interface XcmV0Response extends Enum {
+  readonly isAssets: boolean;
+  readonly asAssets: Vec<XcmV0MultiAsset>;
+  readonly type: 'Assets';
+}
+
+/** @name XcmV0Xcm */
+export interface XcmV0Xcm extends Enum {
+  readonly isWithdrawAsset: boolean;
+  readonly asWithdrawAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isReserveAssetDeposit: boolean;
+  readonly asReserveAssetDeposit: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isTeleportAsset: boolean;
+  readonly asTeleportAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isQueryResponse: boolean;
+  readonly asQueryResponse: {
+    readonly queryId: Compact<u64>;
+    readonly response: XcmV0Response;
+  } & Struct;
+  readonly isTransferAsset: boolean;
+  readonly asTransferAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly dest: XcmV0MultiLocation;
+  } & Struct;
+  readonly isTransferReserveAsset: boolean;
+  readonly asTransferReserveAsset: {
+    readonly assets: Vec<XcmV0MultiAsset>;
+    readonly dest: XcmV0MultiLocation;
+    readonly effects: Vec<XcmV0Order>;
+  } & Struct;
+  readonly isTransact: boolean;
+  readonly asTransact: {
+    readonly originType: XcmV0OriginKind;
+    readonly requireWeightAtMost: u64;
+    readonly call: XcmDoubleEncoded;
+  } & Struct;
+  readonly isHrmpNewChannelOpenRequest: boolean;
+  readonly asHrmpNewChannelOpenRequest: {
+    readonly sender: Compact<u32>;
+    readonly maxMessageSize: Compact<u32>;
+    readonly maxCapacity: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelAccepted: boolean;
+  readonly asHrmpChannelAccepted: {
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelClosing: boolean;
+  readonly asHrmpChannelClosing: {
+    readonly initiator: Compact<u32>;
+    readonly sender: Compact<u32>;
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isRelayedFrom: boolean;
+  readonly asRelayedFrom: {
+    readonly who: XcmV0MultiLocation;
+    readonly message: XcmV0Xcm;
+  } & Struct;
+  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
+}
+
+/** @name XcmV1Junction */
+export interface XcmV1Junction extends Enum {
+  readonly isParachain: boolean;
+  readonly asParachain: Compact<u32>;
+  readonly isAccountId32: boolean;
+  readonly asAccountId32: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly id: U8aFixed;
+  } & Struct;
+  readonly isAccountIndex64: boolean;
+  readonly asAccountIndex64: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly index: Compact<u64>;
+  } & Struct;
+  readonly isAccountKey20: boolean;
+  readonly asAccountKey20: {
+    readonly network: XcmV0JunctionNetworkId;
+    readonly key: U8aFixed;
+  } & Struct;
+  readonly isPalletInstance: boolean;
+  readonly asPalletInstance: u8;
+  readonly isGeneralIndex: boolean;
+  readonly asGeneralIndex: Compact<u128>;
+  readonly isGeneralKey: boolean;
+  readonly asGeneralKey: Bytes;
+  readonly isOnlyChild: boolean;
+  readonly isPlurality: boolean;
+  readonly asPlurality: {
+    readonly id: XcmV0JunctionBodyId;
+    readonly part: XcmV0JunctionBodyPart;
+  } & Struct;
+  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
+}
+
+/** @name XcmV1MultiAsset */
+export interface XcmV1MultiAsset extends Struct {
+  readonly id: XcmV1MultiassetAssetId;
+  readonly fun: XcmV1MultiassetFungibility;
+}
+
+/** @name XcmV1MultiassetAssetId */
+export interface XcmV1MultiassetAssetId extends Enum {
+  readonly isConcrete: boolean;
+  readonly asConcrete: XcmV1MultiLocation;
+  readonly isAbstract: boolean;
+  readonly asAbstract: Bytes;
+  readonly type: 'Concrete' | 'Abstract';
+}
+
+/** @name XcmV1MultiassetAssetInstance */
+export interface XcmV1MultiassetAssetInstance extends Enum {
+  readonly isUndefined: boolean;
+  readonly isIndex: boolean;
+  readonly asIndex: Compact<u128>;
+  readonly isArray4: boolean;
+  readonly asArray4: U8aFixed;
+  readonly isArray8: boolean;
+  readonly asArray8: U8aFixed;
+  readonly isArray16: boolean;
+  readonly asArray16: U8aFixed;
+  readonly isArray32: boolean;
+  readonly asArray32: U8aFixed;
+  readonly isBlob: boolean;
+  readonly asBlob: Bytes;
+  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
+}
+
+/** @name XcmV1MultiassetFungibility */
+export interface XcmV1MultiassetFungibility extends Enum {
+  readonly isFungible: boolean;
+  readonly asFungible: Compact<u128>;
+  readonly isNonFungible: boolean;
+  readonly asNonFungible: XcmV1MultiassetAssetInstance;
+  readonly type: 'Fungible' | 'NonFungible';
+}
+
+/** @name XcmV1MultiassetMultiAssetFilter */
+export interface XcmV1MultiassetMultiAssetFilter extends Enum {
+  readonly isDefinite: boolean;
+  readonly asDefinite: XcmV1MultiassetMultiAssets;
+  readonly isWild: boolean;
+  readonly asWild: XcmV1MultiassetWildMultiAsset;
+  readonly type: 'Definite' | 'Wild';
+}
+
+/** @name XcmV1MultiassetMultiAssets */
+export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
+
+/** @name XcmV1MultiassetWildFungibility */
+export interface XcmV1MultiassetWildFungibility extends Enum {
+  readonly isFungible: boolean;
+  readonly isNonFungible: boolean;
+  readonly type: 'Fungible' | 'NonFungible';
+}
+
+/** @name XcmV1MultiassetWildMultiAsset */
+export interface XcmV1MultiassetWildMultiAsset extends Enum {
+  readonly isAll: boolean;
+  readonly isAllOf: boolean;
+  readonly asAllOf: {
+    readonly id: XcmV1MultiassetAssetId;
+    readonly fun: XcmV1MultiassetWildFungibility;
+  } & Struct;
+  readonly type: 'All' | 'AllOf';
+}
+
+/** @name XcmV1MultiLocation */
+export interface XcmV1MultiLocation extends Struct {
+  readonly parents: u8;
+  readonly interior: XcmV1MultilocationJunctions;
+}
+
+/** @name XcmV1MultilocationJunctions */
+export interface XcmV1MultilocationJunctions extends Enum {
+  readonly isHere: boolean;
+  readonly isX1: boolean;
+  readonly asX1: XcmV1Junction;
+  readonly isX2: boolean;
+  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;
+  readonly isX3: boolean;
+  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly isX4: boolean;
+  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly isX5: boolean;
+  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly isX6: boolean;
+  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly isX7: boolean;
+  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly isX8: boolean;
+  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;
+  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
+}
+
+/** @name XcmV1Order */
+export interface XcmV1Order extends Enum {
+  readonly isNoop: boolean;
+  readonly isDepositAsset: boolean;
+  readonly asDepositAsset: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly maxAssets: u32;
+    readonly beneficiary: XcmV1MultiLocation;
+  } & Struct;
+  readonly isDepositReserveAsset: boolean;
+  readonly asDepositReserveAsset: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly maxAssets: u32;
+    readonly dest: XcmV1MultiLocation;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isExchangeAsset: boolean;
+  readonly asExchangeAsset: {
+    readonly give: XcmV1MultiassetMultiAssetFilter;
+    readonly receive: XcmV1MultiassetMultiAssets;
+  } & Struct;
+  readonly isInitiateReserveWithdraw: boolean;
+  readonly asInitiateReserveWithdraw: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly reserve: XcmV1MultiLocation;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isInitiateTeleport: boolean;
+  readonly asInitiateTeleport: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly dest: XcmV1MultiLocation;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isQueryHolding: boolean;
+  readonly asQueryHolding: {
+    readonly queryId: Compact<u64>;
+    readonly dest: XcmV1MultiLocation;
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+  } & Struct;
+  readonly isBuyExecution: boolean;
+  readonly asBuyExecution: {
+    readonly fees: XcmV1MultiAsset;
+    readonly weight: u64;
+    readonly debt: u64;
+    readonly haltOnError: bool;
+    readonly instructions: Vec<XcmV1Xcm>;
+  } & Struct;
+  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
+}
+
+/** @name XcmV1Response */
+export interface XcmV1Response extends Enum {
+  readonly isAssets: boolean;
+  readonly asAssets: XcmV1MultiassetMultiAssets;
+  readonly isVersion: boolean;
+  readonly asVersion: u32;
+  readonly type: 'Assets' | 'Version';
+}
+
+/** @name XcmV1Xcm */
+export interface XcmV1Xcm extends Enum {
+  readonly isWithdrawAsset: boolean;
+  readonly asWithdrawAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isReserveAssetDeposited: boolean;
+  readonly asReserveAssetDeposited: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isReceiveTeleportedAsset: boolean;
+  readonly asReceiveTeleportedAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isQueryResponse: boolean;
+  readonly asQueryResponse: {
+    readonly queryId: Compact<u64>;
+    readonly response: XcmV1Response;
+  } & Struct;
+  readonly isTransferAsset: boolean;
+  readonly asTransferAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly beneficiary: XcmV1MultiLocation;
+  } & Struct;
+  readonly isTransferReserveAsset: boolean;
+  readonly asTransferReserveAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly dest: XcmV1MultiLocation;
+    readonly effects: Vec<XcmV1Order>;
+  } & Struct;
+  readonly isTransact: boolean;
+  readonly asTransact: {
+    readonly originType: XcmV0OriginKind;
+    readonly requireWeightAtMost: u64;
+    readonly call: XcmDoubleEncoded;
+  } & Struct;
+  readonly isHrmpNewChannelOpenRequest: boolean;
+  readonly asHrmpNewChannelOpenRequest: {
+    readonly sender: Compact<u32>;
+    readonly maxMessageSize: Compact<u32>;
+    readonly maxCapacity: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelAccepted: boolean;
+  readonly asHrmpChannelAccepted: {
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelClosing: boolean;
+  readonly asHrmpChannelClosing: {
+    readonly initiator: Compact<u32>;
+    readonly sender: Compact<u32>;
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isRelayedFrom: boolean;
+  readonly asRelayedFrom: {
+    readonly who: XcmV1MultilocationJunctions;
+    readonly message: XcmV1Xcm;
+  } & Struct;
+  readonly isSubscribeVersion: boolean;
+  readonly asSubscribeVersion: {
+    readonly queryId: Compact<u64>;
+    readonly maxResponseWeight: Compact<u64>;
+  } & Struct;
+  readonly isUnsubscribeVersion: boolean;
+  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
+}
+
+/** @name XcmV2Instruction */
+export interface XcmV2Instruction extends Enum {
+  readonly isWithdrawAsset: boolean;
+  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
+  readonly isReserveAssetDeposited: boolean;
+  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;
+  readonly isReceiveTeleportedAsset: boolean;
+  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;
+  readonly isQueryResponse: boolean;
+  readonly asQueryResponse: {
+    readonly queryId: Compact<u64>;
+    readonly response: XcmV2Response;
+    readonly maxWeight: Compact<u64>;
+  } & Struct;
+  readonly isTransferAsset: boolean;
+  readonly asTransferAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly beneficiary: XcmV1MultiLocation;
+  } & Struct;
+  readonly isTransferReserveAsset: boolean;
+  readonly asTransferReserveAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly dest: XcmV1MultiLocation;
+    readonly xcm: XcmV2Xcm;
+  } & Struct;
+  readonly isTransact: boolean;
+  readonly asTransact: {
+    readonly originType: XcmV0OriginKind;
+    readonly requireWeightAtMost: Compact<u64>;
+    readonly call: XcmDoubleEncoded;
+  } & Struct;
+  readonly isHrmpNewChannelOpenRequest: boolean;
+  readonly asHrmpNewChannelOpenRequest: {
+    readonly sender: Compact<u32>;
+    readonly maxMessageSize: Compact<u32>;
+    readonly maxCapacity: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelAccepted: boolean;
+  readonly asHrmpChannelAccepted: {
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isHrmpChannelClosing: boolean;
+  readonly asHrmpChannelClosing: {
+    readonly initiator: Compact<u32>;
+    readonly sender: Compact<u32>;
+    readonly recipient: Compact<u32>;
+  } & Struct;
+  readonly isClearOrigin: boolean;
+  readonly isDescendOrigin: boolean;
+  readonly asDescendOrigin: XcmV1MultilocationJunctions;
+  readonly isReportError: boolean;
+  readonly asReportError: {
+    readonly queryId: Compact<u64>;
+    readonly dest: XcmV1MultiLocation;
+    readonly maxResponseWeight: Compact<u64>;
+  } & Struct;
+  readonly isDepositAsset: boolean;
+  readonly asDepositAsset: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly maxAssets: Compact<u32>;
+    readonly beneficiary: XcmV1MultiLocation;
+  } & Struct;
+  readonly isDepositReserveAsset: boolean;
+  readonly asDepositReserveAsset: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly maxAssets: Compact<u32>;
+    readonly dest: XcmV1MultiLocation;
+    readonly xcm: XcmV2Xcm;
+  } & Struct;
+  readonly isExchangeAsset: boolean;
+  readonly asExchangeAsset: {
+    readonly give: XcmV1MultiassetMultiAssetFilter;
+    readonly receive: XcmV1MultiassetMultiAssets;
+  } & Struct;
+  readonly isInitiateReserveWithdraw: boolean;
+  readonly asInitiateReserveWithdraw: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly reserve: XcmV1MultiLocation;
+    readonly xcm: XcmV2Xcm;
+  } & Struct;
+  readonly isInitiateTeleport: boolean;
+  readonly asInitiateTeleport: {
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly dest: XcmV1MultiLocation;
+    readonly xcm: XcmV2Xcm;
+  } & Struct;
+  readonly isQueryHolding: boolean;
+  readonly asQueryHolding: {
+    readonly queryId: Compact<u64>;
+    readonly dest: XcmV1MultiLocation;
+    readonly assets: XcmV1MultiassetMultiAssetFilter;
+    readonly maxResponseWeight: Compact<u64>;
+  } & Struct;
+  readonly isBuyExecution: boolean;
+  readonly asBuyExecution: {
+    readonly fees: XcmV1MultiAsset;
+    readonly weightLimit: XcmV2WeightLimit;
+  } & Struct;
+  readonly isRefundSurplus: boolean;
+  readonly isSetErrorHandler: boolean;
+  readonly asSetErrorHandler: XcmV2Xcm;
+  readonly isSetAppendix: boolean;
+  readonly asSetAppendix: XcmV2Xcm;
+  readonly isClearError: boolean;
+  readonly isClaimAsset: boolean;
+  readonly asClaimAsset: {
+    readonly assets: XcmV1MultiassetMultiAssets;
+    readonly ticket: XcmV1MultiLocation;
+  } & Struct;
+  readonly isTrap: boolean;
+  readonly asTrap: Compact<u64>;
+  readonly isSubscribeVersion: boolean;
+  readonly asSubscribeVersion: {
+    readonly queryId: Compact<u64>;
+    readonly maxResponseWeight: Compact<u64>;
+  } & Struct;
+  readonly isUnsubscribeVersion: boolean;
+  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
+}
+
+/** @name XcmV2Response */
+export interface XcmV2Response extends Enum {
+  readonly isNull: boolean;
+  readonly isAssets: boolean;
+  readonly asAssets: XcmV1MultiassetMultiAssets;
+  readonly isExecutionResult: boolean;
+  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;
+  readonly isVersion: boolean;
+  readonly asVersion: u32;
+  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
+}
+
+/** @name XcmV2TraitsError */
+export interface XcmV2TraitsError extends Enum {
+  readonly isOverflow: boolean;
+  readonly isUnimplemented: boolean;
+  readonly isUntrustedReserveLocation: boolean;
+  readonly isUntrustedTeleportLocation: boolean;
+  readonly isMultiLocationFull: boolean;
+  readonly isMultiLocationNotInvertible: boolean;
+  readonly isBadOrigin: boolean;
+  readonly isInvalidLocation: boolean;
+  readonly isAssetNotFound: boolean;
+  readonly isFailedToTransactAsset: boolean;
+  readonly isNotWithdrawable: boolean;
+  readonly isLocationCannotHold: boolean;
+  readonly isExceedsMaxMessageSize: boolean;
+  readonly isDestinationUnsupported: boolean;
+  readonly isTransport: boolean;
+  readonly isUnroutable: boolean;
+  readonly isUnknownClaim: boolean;
+  readonly isFailedToDecode: boolean;
+  readonly isMaxWeightInvalid: boolean;
+  readonly isNotHoldingFees: boolean;
+  readonly isTooExpensive: boolean;
+  readonly isTrap: boolean;
+  readonly asTrap: u64;
+  readonly isUnhandledXcmVersion: boolean;
+  readonly isWeightLimitReached: boolean;
+  readonly asWeightLimitReached: u64;
+  readonly isBarrier: boolean;
+  readonly isWeightNotComputable: boolean;
+  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
+}
+
+/** @name XcmV2TraitsOutcome */
+export interface XcmV2TraitsOutcome extends Enum {
+  readonly isComplete: boolean;
+  readonly asComplete: u64;
+  readonly isIncomplete: boolean;
+  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;
+  readonly isError: boolean;
+  readonly asError: XcmV2TraitsError;
+  readonly type: 'Complete' | 'Incomplete' | 'Error';
+}
+
+/** @name XcmV2WeightLimit */
+export interface XcmV2WeightLimit extends Enum {
+  readonly isUnlimited: boolean;
+  readonly isLimited: boolean;
+  readonly asLimited: Compact<u64>;
+  readonly type: 'Unlimited' | 'Limited';
+}
+
+/** @name XcmV2Xcm */
+export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
+
+/** @name XcmVersionedMultiAssets */
+export interface XcmVersionedMultiAssets extends Enum {
+  readonly isV0: boolean;
+  readonly asV0: Vec<XcmV0MultiAsset>;
+  readonly isV1: boolean;
+  readonly asV1: XcmV1MultiassetMultiAssets;
+  readonly type: 'V0' | 'V1';
+}
+
+/** @name XcmVersionedMultiLocation */
+export interface XcmVersionedMultiLocation extends Enum {
+  readonly isV0: boolean;
+  readonly asV0: XcmV0MultiLocation;
+  readonly isV1: boolean;
+  readonly asV1: XcmV1MultiLocation;
+  readonly type: 'V0' | 'V1';
+}
+
+/** @name XcmVersionedXcm */
+export interface XcmVersionedXcm extends Enum {
+  readonly isV0: boolean;
+  readonly asV0: XcmV0Xcm;
+  readonly isV1: boolean;
+  readonly asV1: XcmV1Xcm;
+  readonly isV2: boolean;
+  readonly asV2: XcmV2Xcm;
+  readonly type: 'V0' | 'V1' | 'V2';
+}
+
+export type PHANTOM_RMRK = 'rmrk';
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -4,7 +4,7 @@
 declare module '@polkadot/types/lookup' {
   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 { ITuple } from '@polkadot/types-codec/types';
-  import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
+  import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
   import type { Event } from '@polkadot/types/interfaces/system';
 
   /** @name PolkadotPrimitivesV2PersistedValidationData (2) */
@@ -1582,12 +1582,9 @@
     readonly isDisabled: boolean;
     readonly isOwner: boolean;
     readonly isOwnerRestricted: boolean;
-    readonly asOwnerRestricted: FrameSupportStorageBoundedBTreeSet;
+    readonly asOwnerRestricted: BTreeSet<u32>;
     readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';
   }
-
-  /** @name FrameSupportStorageBoundedBTreeSet (171) */
-  export interface FrameSupportStorageBoundedBTreeSet extends BTreeSet<u32> {}
 
   /** @name UpDataStructsPropertyKeyPermission (177) */
   export interface UpDataStructsPropertyKeyPermission extends Struct {
@@ -2544,7 +2541,143 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name PalletCommonError (333) */
+  /** @name PhantomTypeUpDataStructsCollectionInfo (333) */
+  export interface PhantomTypeUpDataStructsCollectionInfo extends Vec<RmrkTypesCollectionInfo> {}
+
+  /** @name RmrkTypesCollectionInfo (334) */
+  export interface RmrkTypesCollectionInfo extends Struct {
+    readonly issuer: AccountId32;
+    readonly metadata: Bytes;
+    readonly max: Option<u32>;
+    readonly symbol: Bytes;
+    readonly nftsCount: u32;
+  }
+
+  /** @name PhantomTypeUpDataStructsNftInfo (338) */
+  export interface PhantomTypeUpDataStructsNftInfo extends Vec<RmrkTypesNftInfo> {}
+
+  /** @name RmrkTypesNftInfo (339) */
+  export interface RmrkTypesNftInfo extends Struct {
+    readonly owner: RmrkTypesAccountIdOrCollectionNftTuple;
+    readonly royalty: Option<RmrkTypesRoyaltyInfo>;
+    readonly metadata: Bytes;
+    readonly equipped: bool;
+    readonly pending: bool;
+  }
+
+  /** @name RmrkTypesAccountIdOrCollectionNftTuple (340) */
+  export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum {
+    readonly isAccountId: boolean;
+    readonly asAccountId: AccountId32;
+    readonly isCollectionAndNftTuple: boolean;
+    readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;
+    readonly type: 'AccountId' | 'CollectionAndNftTuple';
+  }
+
+  /** @name RmrkTypesRoyaltyInfo (342) */
+  export interface RmrkTypesRoyaltyInfo extends Struct {
+    readonly recipient: AccountId32;
+    readonly amount: Permill;
+  }
+
+  /** @name PhantomTypeUpDataStructsResourceInfo (344) */
+  export interface PhantomTypeUpDataStructsResourceInfo extends Vec<RmrkTypesResourceInfo> {}
+
+  /** @name RmrkTypesResourceInfo (345) */
+  export interface RmrkTypesResourceInfo extends Struct {
+    readonly id: Bytes;
+    readonly pending: bool;
+    readonly pendingRemoval: bool;
+    readonly parts: Option<Vec<u32>>;
+    readonly base: Option<u32>;
+    readonly src: Option<Bytes>;
+    readonly metadata: Option<Bytes>;
+    readonly slot: Option<u32>;
+    readonly license: Option<Bytes>;
+    readonly thumb: Option<Bytes>;
+  }
+
+  /** @name PhantomTypeUpDataStructsPropertyInfo (351) */
+  export interface PhantomTypeUpDataStructsPropertyInfo extends Vec<RmrkTypesPropertyInfo> {}
+
+  /** @name RmrkTypesPropertyInfo (352) */
+  export interface RmrkTypesPropertyInfo extends Struct {
+    readonly key: Bytes;
+    readonly value: Bytes;
+  }
+
+  /** @name PhantomTypeUpDataStructsBaseInfo (356) */
+  export interface PhantomTypeUpDataStructsBaseInfo extends Vec<RmrkTypesBaseInfo> {}
+
+  /** @name RmrkTypesBaseInfo (357) */
+  export interface RmrkTypesBaseInfo extends Struct {
+    readonly issuer: AccountId32;
+    readonly baseType: Bytes;
+    readonly symbol: Bytes;
+  }
+
+  /** @name PhantomTypeUpDataStructsPartType (359) */
+  export interface PhantomTypeUpDataStructsPartType extends Vec<RmrkTypesPartType> {}
+
+  /** @name RmrkTypesPartType (360) */
+  export interface RmrkTypesPartType extends Enum {
+    readonly isFixedPart: boolean;
+    readonly asFixedPart: RmrkTypesFixedPart;
+    readonly isSlotPart: boolean;
+    readonly asSlotPart: RmrkTypesSlotPart;
+    readonly type: 'FixedPart' | 'SlotPart';
+  }
+
+  /** @name RmrkTypesFixedPart (362) */
+  export interface RmrkTypesFixedPart extends Struct {
+    readonly id: u32;
+    readonly z: u32;
+    readonly src: Bytes;
+  }
+
+  /** @name RmrkTypesSlotPart (363) */
+  export interface RmrkTypesSlotPart extends Struct {
+    readonly id: u32;
+    readonly equippable: RmrkTypesEquippableList;
+    readonly src: Bytes;
+    readonly z: u32;
+  }
+
+  /** @name RmrkTypesEquippableList (364) */
+  export interface RmrkTypesEquippableList extends Enum {
+    readonly isAll: boolean;
+    readonly isEmpty: boolean;
+    readonly isCustom: boolean;
+    readonly asCustom: Vec<u32>;
+    readonly type: 'All' | 'Empty' | 'Custom';
+  }
+
+  /** @name PhantomTypeUpDataStructsTheme (366) */
+  export interface PhantomTypeUpDataStructsTheme extends Vec<RmrkTypesTheme> {}
+
+  /** @name RmrkTypesTheme (367) */
+  export interface RmrkTypesTheme extends Struct {
+    readonly name: Bytes;
+    readonly properties: Vec<RmrkTypesThemeProperty>;
+    readonly inherit: bool;
+  }
+
+  /** @name RmrkTypesThemeProperty (369) */
+  export interface RmrkTypesThemeProperty extends Struct {
+    readonly key: Bytes;
+    readonly value: Bytes;
+  }
+
+  /** @name PhantomTypeUpDataStructsNftChild (371) */
+  export interface PhantomTypeUpDataStructsNftChild extends Vec<RmrkTypesNftChild> {}
+
+  /** @name RmrkTypesNftChild (372) */
+  export interface RmrkTypesNftChild extends Struct {
+    readonly collectionId: u32;
+    readonly nftId: u32;
+  }
+
+  /** @name PalletCommonError (374) */
   export interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -2581,7 +2714,7 @@
     readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';
   }
 
-  /** @name PalletFungibleError (335) */
+  /** @name PalletFungibleError (376) */
   export interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -2591,12 +2724,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletRefungibleItemData (336) */
+  /** @name PalletRefungibleItemData (377) */
   export interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (340) */
+  /** @name PalletRefungibleError (381) */
   export interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -2605,20 +2738,20 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (341) */
+  /** @name PalletNonfungibleItemData (382) */
   export interface PalletNonfungibleItemData extends Struct {
     readonly constData: Bytes;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name PalletNonfungibleError (342) */
+  /** @name PalletNonfungibleError (383) */
   export interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';
   }
 
-  /** @name PalletStructureError (343) */
+  /** @name PalletStructureError (384) */
   export interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
@@ -2626,7 +2759,7 @@
     readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletEvmError (346) */
+  /** @name PalletEvmError (387) */
   export interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -2637,7 +2770,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
   }
 
-  /** @name FpRpcTransactionStatus (349) */
+  /** @name FpRpcTransactionStatus (390) */
   export interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -2648,10 +2781,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (351) */
+  /** @name EthbloomBloom (392) */
   export interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (353) */
+  /** @name EthereumReceiptReceiptV3 (394) */
   export interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -2662,7 +2795,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (354) */
+  /** @name EthereumReceiptEip658ReceiptData (395) */
   export interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -2670,14 +2803,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (355) */
+  /** @name EthereumBlock (396) */
   export interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (356) */
+  /** @name EthereumHeader (397) */
   export interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -2696,24 +2829,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (357) */
+  /** @name EthereumTypesHashH64 (398) */
   export interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (362) */
+  /** @name PalletEthereumError (403) */
   export interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (363) */
+  /** @name PalletEvmCoderSubstrateError (404) */
   export interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (364) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (405) */
   export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -2721,20 +2854,20 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (366) */
+  /** @name PalletEvmContractHelpersError (407) */
   export interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly type: 'NoPermission';
   }
 
-  /** @name PalletEvmMigrationError (367) */
+  /** @name PalletEvmMigrationError (408) */
   export interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (369) */
+  /** @name SpRuntimeMultiSignature (410) */
   export interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -2745,34 +2878,34 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (370) */
+  /** @name SpCoreEd25519Signature (411) */
   export interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (372) */
+  /** @name SpCoreSr25519Signature (413) */
   export interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (373) */
+  /** @name SpCoreEcdsaSignature (414) */
   export interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (376) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (417) */
   export type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (377) */
+  /** @name FrameSystemExtensionsCheckGenesis (418) */
   export type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (380) */
+  /** @name FrameSystemExtensionsCheckNonce (421) */
   export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (381) */
+  /** @name FrameSystemExtensionsCheckWeight (422) */
   export type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (382) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (423) */
   export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (383) */
+  /** @name OpalRuntimeRuntime (424) */
   export type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (384) */
+  /** @name PalletEthereumFakeTransactionFinalizer (425) */
   export type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/interfaces/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types.ts
+++ b/tests/src/interfaces/types.ts
@@ -2,3 +2,4 @@
 /* eslint-disable */
 
 export * from './unique/types';
+export * from './rmrk/types';
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
before · tests/src/interfaces/unique/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: u64;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: U8aFixed;35  readonly isUnsupportedVersion: boolean;36  readonly asUnsupportedVersion: U8aFixed;37  readonly isExecutedDownward: boolean;38  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;39  readonly isWeightExhausted: boolean;40  readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;41  readonly isOverweightEnqueued: boolean;42  readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;43  readonly isOverweightServiced: boolean;44  readonly asOverweightServiced: ITuple<[u64, u64]>;45  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';46}4748/** @name CumulusPalletDmpQueuePageIndexData */49export interface CumulusPalletDmpQueuePageIndexData extends Struct {50  readonly beginUsed: u32;51  readonly endUsed: u32;52  readonly overweightCount: u64;53}5455/** @name CumulusPalletParachainSystemCall */56export interface CumulusPalletParachainSystemCall extends Enum {57  readonly isSetValidationData: boolean;58  readonly asSetValidationData: {59    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;60  } & Struct;61  readonly isSudoSendUpwardMessage: boolean;62  readonly asSudoSendUpwardMessage: {63    readonly message: Bytes;64  } & Struct;65  readonly isAuthorizeUpgrade: boolean;66  readonly asAuthorizeUpgrade: {67    readonly codeHash: H256;68  } & Struct;69  readonly isEnactAuthorizedUpgrade: boolean;70  readonly asEnactAuthorizedUpgrade: {71    readonly code: Bytes;72  } & Struct;73  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';74}7576/** @name CumulusPalletParachainSystemError */77export interface CumulusPalletParachainSystemError extends Enum {78  readonly isOverlappingUpgrades: boolean;79  readonly isProhibitedByPolkadot: boolean;80  readonly isTooBig: boolean;81  readonly isValidationDataNotAvailable: boolean;82  readonly isHostConfigurationNotAvailable: boolean;83  readonly isNotScheduled: boolean;84  readonly isNothingAuthorized: boolean;85  readonly isUnauthorized: boolean;86  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';87}8889/** @name CumulusPalletParachainSystemEvent */90export interface CumulusPalletParachainSystemEvent extends Enum {91  readonly isValidationFunctionStored: boolean;92  readonly isValidationFunctionApplied: boolean;93  readonly asValidationFunctionApplied: u32;94  readonly isValidationFunctionDiscarded: boolean;95  readonly isUpgradeAuthorized: boolean;96  readonly asUpgradeAuthorized: H256;97  readonly isDownwardMessagesReceived: boolean;98  readonly asDownwardMessagesReceived: u32;99  readonly isDownwardMessagesProcessed: boolean;100  readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;101  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';102}103104/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */105export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {106  readonly dmqMqcHead: H256;107  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;108  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;109  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;110}111112/** @name CumulusPalletXcmCall */113export interface CumulusPalletXcmCall extends Null {}114115/** @name CumulusPalletXcmError */116export interface CumulusPalletXcmError extends Null {}117118/** @name CumulusPalletXcmEvent */119export interface CumulusPalletXcmEvent extends Enum {120  readonly isInvalidFormat: boolean;121  readonly asInvalidFormat: U8aFixed;122  readonly isUnsupportedVersion: boolean;123  readonly asUnsupportedVersion: U8aFixed;124  readonly isExecutedDownward: boolean;125  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;126  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';127}128129/** @name CumulusPalletXcmpQueueCall */130export interface CumulusPalletXcmpQueueCall extends Enum {131  readonly isServiceOverweight: boolean;132  readonly asServiceOverweight: {133    readonly index: u64;134    readonly weightLimit: u64;135  } & Struct;136  readonly isSuspendXcmExecution: boolean;137  readonly isResumeXcmExecution: boolean;138  readonly isUpdateSuspendThreshold: boolean;139  readonly asUpdateSuspendThreshold: {140    readonly new_: u32;141  } & Struct;142  readonly isUpdateDropThreshold: boolean;143  readonly asUpdateDropThreshold: {144    readonly new_: u32;145  } & Struct;146  readonly isUpdateResumeThreshold: boolean;147  readonly asUpdateResumeThreshold: {148    readonly new_: u32;149  } & Struct;150  readonly isUpdateThresholdWeight: boolean;151  readonly asUpdateThresholdWeight: {152    readonly new_: u64;153  } & Struct;154  readonly isUpdateWeightRestrictDecay: boolean;155  readonly asUpdateWeightRestrictDecay: {156    readonly new_: u64;157  } & Struct;158  readonly isUpdateXcmpMaxIndividualWeight: boolean;159  readonly asUpdateXcmpMaxIndividualWeight: {160    readonly new_: u64;161  } & Struct;162  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';163}164165/** @name CumulusPalletXcmpQueueError */166export interface CumulusPalletXcmpQueueError extends Enum {167  readonly isFailedToSend: boolean;168  readonly isBadXcmOrigin: boolean;169  readonly isBadXcm: boolean;170  readonly isBadOverweightIndex: boolean;171  readonly isWeightOverLimit: boolean;172  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';173}174175/** @name CumulusPalletXcmpQueueEvent */176export interface CumulusPalletXcmpQueueEvent extends Enum {177  readonly isSuccess: boolean;178  readonly asSuccess: Option<H256>;179  readonly isFail: boolean;180  readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;181  readonly isBadVersion: boolean;182  readonly asBadVersion: Option<H256>;183  readonly isBadFormat: boolean;184  readonly asBadFormat: Option<H256>;185  readonly isUpwardMessageSent: boolean;186  readonly asUpwardMessageSent: Option<H256>;187  readonly isXcmpMessageSent: boolean;188  readonly asXcmpMessageSent: Option<H256>;189  readonly isOverweightEnqueued: boolean;190  readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;191  readonly isOverweightServiced: boolean;192  readonly asOverweightServiced: ITuple<[u64, u64]>;193  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';194}195196/** @name CumulusPalletXcmpQueueInboundChannelDetails */197export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {198  readonly sender: u32;199  readonly state: CumulusPalletXcmpQueueInboundState;200  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;201}202203/** @name CumulusPalletXcmpQueueInboundState */204export interface CumulusPalletXcmpQueueInboundState extends Enum {205  readonly isOk: boolean;206  readonly isSuspended: boolean;207  readonly type: 'Ok' | 'Suspended';208}209210/** @name CumulusPalletXcmpQueueOutboundChannelDetails */211export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {212  readonly recipient: u32;213  readonly state: CumulusPalletXcmpQueueOutboundState;214  readonly signalsExist: bool;215  readonly firstIndex: u16;216  readonly lastIndex: u16;217}218219/** @name CumulusPalletXcmpQueueOutboundState */220export interface CumulusPalletXcmpQueueOutboundState extends Enum {221  readonly isOk: boolean;222  readonly isSuspended: boolean;223  readonly type: 'Ok' | 'Suspended';224}225226/** @name CumulusPalletXcmpQueueQueueConfigData */227export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {228  readonly suspendThreshold: u32;229  readonly dropThreshold: u32;230  readonly resumeThreshold: u32;231  readonly thresholdWeight: u64;232  readonly weightRestrictDecay: u64;233  readonly xcmpMaxIndividualWeight: u64;234}235236/** @name CumulusPrimitivesParachainInherentParachainInherentData */237export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {238  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;239  readonly relayChainState: SpTrieStorageProof;240  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;241  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;242}243244/** @name EthbloomBloom */245export interface EthbloomBloom extends U8aFixed {}246247/** @name EthereumBlock */248export interface EthereumBlock extends Struct {249  readonly header: EthereumHeader;250  readonly transactions: Vec<EthereumTransactionTransactionV2>;251  readonly ommers: Vec<EthereumHeader>;252}253254/** @name EthereumHeader */255export interface EthereumHeader extends Struct {256  readonly parentHash: H256;257  readonly ommersHash: H256;258  readonly beneficiary: H160;259  readonly stateRoot: H256;260  readonly transactionsRoot: H256;261  readonly receiptsRoot: H256;262  readonly logsBloom: EthbloomBloom;263  readonly difficulty: U256;264  readonly number: U256;265  readonly gasLimit: U256;266  readonly gasUsed: U256;267  readonly timestamp: u64;268  readonly extraData: Bytes;269  readonly mixHash: H256;270  readonly nonce: EthereumTypesHashH64;271}272273/** @name EthereumLog */274export interface EthereumLog extends Struct {275  readonly address: H160;276  readonly topics: Vec<H256>;277  readonly data: Bytes;278}279280/** @name EthereumReceiptEip658ReceiptData */281export interface EthereumReceiptEip658ReceiptData extends Struct {282  readonly statusCode: u8;283  readonly usedGas: U256;284  readonly logsBloom: EthbloomBloom;285  readonly logs: Vec<EthereumLog>;286}287288/** @name EthereumReceiptReceiptV3 */289export interface EthereumReceiptReceiptV3 extends Enum {290  readonly isLegacy: boolean;291  readonly asLegacy: EthereumReceiptEip658ReceiptData;292  readonly isEip2930: boolean;293  readonly asEip2930: EthereumReceiptEip658ReceiptData;294  readonly isEip1559: boolean;295  readonly asEip1559: EthereumReceiptEip658ReceiptData;296  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';297}298299/** @name EthereumTransactionAccessListItem */300export interface EthereumTransactionAccessListItem extends Struct {301  readonly address: H160;302  readonly storageKeys: Vec<H256>;303}304305/** @name EthereumTransactionEip1559Transaction */306export interface EthereumTransactionEip1559Transaction extends Struct {307  readonly chainId: u64;308  readonly nonce: U256;309  readonly maxPriorityFeePerGas: U256;310  readonly maxFeePerGas: U256;311  readonly gasLimit: U256;312  readonly action: EthereumTransactionTransactionAction;313  readonly value: U256;314  readonly input: Bytes;315  readonly accessList: Vec<EthereumTransactionAccessListItem>;316  readonly oddYParity: bool;317  readonly r: H256;318  readonly s: H256;319}320321/** @name EthereumTransactionEip2930Transaction */322export interface EthereumTransactionEip2930Transaction extends Struct {323  readonly chainId: u64;324  readonly nonce: U256;325  readonly gasPrice: U256;326  readonly gasLimit: U256;327  readonly action: EthereumTransactionTransactionAction;328  readonly value: U256;329  readonly input: Bytes;330  readonly accessList: Vec<EthereumTransactionAccessListItem>;331  readonly oddYParity: bool;332  readonly r: H256;333  readonly s: H256;334}335336/** @name EthereumTransactionLegacyTransaction */337export interface EthereumTransactionLegacyTransaction extends Struct {338  readonly nonce: U256;339  readonly gasPrice: U256;340  readonly gasLimit: U256;341  readonly action: EthereumTransactionTransactionAction;342  readonly value: U256;343  readonly input: Bytes;344  readonly signature: EthereumTransactionTransactionSignature;345}346347/** @name EthereumTransactionTransactionAction */348export interface EthereumTransactionTransactionAction extends Enum {349  readonly isCall: boolean;350  readonly asCall: H160;351  readonly isCreate: boolean;352  readonly type: 'Call' | 'Create';353}354355/** @name EthereumTransactionTransactionSignature */356export interface EthereumTransactionTransactionSignature extends Struct {357  readonly v: u64;358  readonly r: H256;359  readonly s: H256;360}361362/** @name EthereumTransactionTransactionV2 */363export interface EthereumTransactionTransactionV2 extends Enum {364  readonly isLegacy: boolean;365  readonly asLegacy: EthereumTransactionLegacyTransaction;366  readonly isEip2930: boolean;367  readonly asEip2930: EthereumTransactionEip2930Transaction;368  readonly isEip1559: boolean;369  readonly asEip1559: EthereumTransactionEip1559Transaction;370  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';371}372373/** @name EthereumTypesHashH64 */374export interface EthereumTypesHashH64 extends U8aFixed {}375376/** @name EvmCoreErrorExitError */377export interface EvmCoreErrorExitError extends Enum {378  readonly isStackUnderflow: boolean;379  readonly isStackOverflow: boolean;380  readonly isInvalidJump: boolean;381  readonly isInvalidRange: boolean;382  readonly isDesignatedInvalid: boolean;383  readonly isCallTooDeep: boolean;384  readonly isCreateCollision: boolean;385  readonly isCreateContractLimit: boolean;386  readonly isOutOfOffset: boolean;387  readonly isOutOfGas: boolean;388  readonly isOutOfFund: boolean;389  readonly isPcUnderflow: boolean;390  readonly isCreateEmpty: boolean;391  readonly isOther: boolean;392  readonly asOther: Text;393  readonly isInvalidCode: boolean;394  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';395}396397/** @name EvmCoreErrorExitFatal */398export interface EvmCoreErrorExitFatal extends Enum {399  readonly isNotSupported: boolean;400  readonly isUnhandledInterrupt: boolean;401  readonly isCallErrorAsFatal: boolean;402  readonly asCallErrorAsFatal: EvmCoreErrorExitError;403  readonly isOther: boolean;404  readonly asOther: Text;405  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';406}407408/** @name EvmCoreErrorExitReason */409export interface EvmCoreErrorExitReason extends Enum {410  readonly isSucceed: boolean;411  readonly asSucceed: EvmCoreErrorExitSucceed;412  readonly isError: boolean;413  readonly asError: EvmCoreErrorExitError;414  readonly isRevert: boolean;415  readonly asRevert: EvmCoreErrorExitRevert;416  readonly isFatal: boolean;417  readonly asFatal: EvmCoreErrorExitFatal;418  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';419}420421/** @name EvmCoreErrorExitRevert */422export interface EvmCoreErrorExitRevert extends Enum {423  readonly isReverted: boolean;424  readonly type: 'Reverted';425}426427/** @name EvmCoreErrorExitSucceed */428export interface EvmCoreErrorExitSucceed extends Enum {429  readonly isStopped: boolean;430  readonly isReturned: boolean;431  readonly isSuicided: boolean;432  readonly type: 'Stopped' | 'Returned' | 'Suicided';433}434435/** @name FpRpcTransactionStatus */436export interface FpRpcTransactionStatus extends Struct {437  readonly transactionHash: H256;438  readonly transactionIndex: u32;439  readonly from: H160;440  readonly to: Option<H160>;441  readonly contractAddress: Option<H160>;442  readonly logs: Vec<EthereumLog>;443  readonly logsBloom: EthbloomBloom;444}445446/** @name FrameSupportPalletId */447export interface FrameSupportPalletId extends U8aFixed {}448449/** @name FrameSupportStorageBoundedBTreeSet */450export interface FrameSupportStorageBoundedBTreeSet extends BTreeSet<u32> {}451452/** @name FrameSupportTokensMiscBalanceStatus */453export interface FrameSupportTokensMiscBalanceStatus extends Enum {454  readonly isFree: boolean;455  readonly isReserved: boolean;456  readonly type: 'Free' | 'Reserved';457}458459/** @name FrameSupportWeightsDispatchClass */460export interface FrameSupportWeightsDispatchClass extends Enum {461  readonly isNormal: boolean;462  readonly isOperational: boolean;463  readonly isMandatory: boolean;464  readonly type: 'Normal' | 'Operational' | 'Mandatory';465}466467/** @name FrameSupportWeightsDispatchInfo */468export interface FrameSupportWeightsDispatchInfo extends Struct {469  readonly weight: u64;470  readonly class: FrameSupportWeightsDispatchClass;471  readonly paysFee: FrameSupportWeightsPays;472}473474/** @name FrameSupportWeightsPays */475export interface FrameSupportWeightsPays extends Enum {476  readonly isYes: boolean;477  readonly isNo: boolean;478  readonly type: 'Yes' | 'No';479}480481/** @name FrameSupportWeightsPerDispatchClassU32 */482export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {483  readonly normal: u32;484  readonly operational: u32;485  readonly mandatory: u32;486}487488/** @name FrameSupportWeightsPerDispatchClassU64 */489export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {490  readonly normal: u64;491  readonly operational: u64;492  readonly mandatory: u64;493}494495/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */496export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {497  readonly normal: FrameSystemLimitsWeightsPerClass;498  readonly operational: FrameSystemLimitsWeightsPerClass;499  readonly mandatory: FrameSystemLimitsWeightsPerClass;500}501502/** @name FrameSupportWeightsRuntimeDbWeight */503export interface FrameSupportWeightsRuntimeDbWeight extends Struct {504  readonly read: u64;505  readonly write: u64;506}507508/** @name FrameSupportWeightsWeightToFeeCoefficient */509export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {510  readonly coeffInteger: u128;511  readonly coeffFrac: Perbill;512  readonly negative: bool;513  readonly degree: u8;514}515516/** @name FrameSystemAccountInfo */517export interface FrameSystemAccountInfo extends Struct {518  readonly nonce: u32;519  readonly consumers: u32;520  readonly providers: u32;521  readonly sufficients: u32;522  readonly data: PalletBalancesAccountData;523}524525/** @name FrameSystemCall */526export interface FrameSystemCall extends Enum {527  readonly isFillBlock: boolean;528  readonly asFillBlock: {529    readonly ratio: Perbill;530  } & Struct;531  readonly isRemark: boolean;532  readonly asRemark: {533    readonly remark: Bytes;534  } & Struct;535  readonly isSetHeapPages: boolean;536  readonly asSetHeapPages: {537    readonly pages: u64;538  } & Struct;539  readonly isSetCode: boolean;540  readonly asSetCode: {541    readonly code: Bytes;542  } & Struct;543  readonly isSetCodeWithoutChecks: boolean;544  readonly asSetCodeWithoutChecks: {545    readonly code: Bytes;546  } & Struct;547  readonly isSetStorage: boolean;548  readonly asSetStorage: {549    readonly items: Vec<ITuple<[Bytes, Bytes]>>;550  } & Struct;551  readonly isKillStorage: boolean;552  readonly asKillStorage: {553    readonly keys_: Vec<Bytes>;554  } & Struct;555  readonly isKillPrefix: boolean;556  readonly asKillPrefix: {557    readonly prefix: Bytes;558    readonly subkeys: u32;559  } & Struct;560  readonly isRemarkWithEvent: boolean;561  readonly asRemarkWithEvent: {562    readonly remark: Bytes;563  } & Struct;564  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';565}566567/** @name FrameSystemError */568export interface FrameSystemError extends Enum {569  readonly isInvalidSpecName: boolean;570  readonly isSpecVersionNeedsToIncrease: boolean;571  readonly isFailedToExtractRuntimeVersion: boolean;572  readonly isNonDefaultComposite: boolean;573  readonly isNonZeroRefCount: boolean;574  readonly isCallFiltered: boolean;575  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';576}577578/** @name FrameSystemEvent */579export interface FrameSystemEvent extends Enum {580  readonly isExtrinsicSuccess: boolean;581  readonly asExtrinsicSuccess: {582    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;583  } & Struct;584  readonly isExtrinsicFailed: boolean;585  readonly asExtrinsicFailed: {586    readonly dispatchError: SpRuntimeDispatchError;587    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;588  } & Struct;589  readonly isCodeUpdated: boolean;590  readonly isNewAccount: boolean;591  readonly asNewAccount: {592    readonly account: AccountId32;593  } & Struct;594  readonly isKilledAccount: boolean;595  readonly asKilledAccount: {596    readonly account: AccountId32;597  } & Struct;598  readonly isRemarked: boolean;599  readonly asRemarked: {600    readonly sender: AccountId32;601    readonly hash_: H256;602  } & Struct;603  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';604}605606/** @name FrameSystemEventRecord */607export interface FrameSystemEventRecord extends Struct {608  readonly phase: FrameSystemPhase;609  readonly event: Event;610  readonly topics: Vec<H256>;611}612613/** @name FrameSystemExtensionsCheckGenesis */614export interface FrameSystemExtensionsCheckGenesis extends Null {}615616/** @name FrameSystemExtensionsCheckNonce */617export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}618619/** @name FrameSystemExtensionsCheckSpecVersion */620export interface FrameSystemExtensionsCheckSpecVersion extends Null {}621622/** @name FrameSystemExtensionsCheckWeight */623export interface FrameSystemExtensionsCheckWeight extends Null {}624625/** @name FrameSystemLastRuntimeUpgradeInfo */626export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {627  readonly specVersion: Compact<u32>;628  readonly specName: Text;629}630631/** @name FrameSystemLimitsBlockLength */632export interface FrameSystemLimitsBlockLength extends Struct {633  readonly max: FrameSupportWeightsPerDispatchClassU32;634}635636/** @name FrameSystemLimitsBlockWeights */637export interface FrameSystemLimitsBlockWeights extends Struct {638  readonly baseBlock: u64;639  readonly maxBlock: u64;640  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;641}642643/** @name FrameSystemLimitsWeightsPerClass */644export interface FrameSystemLimitsWeightsPerClass extends Struct {645  readonly baseExtrinsic: u64;646  readonly maxExtrinsic: Option<u64>;647  readonly maxTotal: Option<u64>;648  readonly reserved: Option<u64>;649}650651/** @name FrameSystemPhase */652export interface FrameSystemPhase extends Enum {653  readonly isApplyExtrinsic: boolean;654  readonly asApplyExtrinsic: u32;655  readonly isFinalization: boolean;656  readonly isInitialization: boolean;657  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';658}659660/** @name OpalRuntimeRuntime */661export interface OpalRuntimeRuntime extends Null {}662663/** @name OrmlVestingModuleCall */664export interface OrmlVestingModuleCall extends Enum {665  readonly isClaim: boolean;666  readonly isVestedTransfer: boolean;667  readonly asVestedTransfer: {668    readonly dest: MultiAddress;669    readonly schedule: OrmlVestingVestingSchedule;670  } & Struct;671  readonly isUpdateVestingSchedules: boolean;672  readonly asUpdateVestingSchedules: {673    readonly who: MultiAddress;674    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;675  } & Struct;676  readonly isClaimFor: boolean;677  readonly asClaimFor: {678    readonly dest: MultiAddress;679  } & Struct;680  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';681}682683/** @name OrmlVestingModuleError */684export interface OrmlVestingModuleError extends Enum {685  readonly isZeroVestingPeriod: boolean;686  readonly isZeroVestingPeriodCount: boolean;687  readonly isInsufficientBalanceToLock: boolean;688  readonly isTooManyVestingSchedules: boolean;689  readonly isAmountLow: boolean;690  readonly isMaxVestingSchedulesExceeded: boolean;691  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';692}693694/** @name OrmlVestingModuleEvent */695export interface OrmlVestingModuleEvent extends Enum {696  readonly isVestingScheduleAdded: boolean;697  readonly asVestingScheduleAdded: {698    readonly from: AccountId32;699    readonly to: AccountId32;700    readonly vestingSchedule: OrmlVestingVestingSchedule;701  } & Struct;702  readonly isClaimed: boolean;703  readonly asClaimed: {704    readonly who: AccountId32;705    readonly amount: u128;706  } & Struct;707  readonly isVestingSchedulesUpdated: boolean;708  readonly asVestingSchedulesUpdated: {709    readonly who: AccountId32;710  } & Struct;711  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';712}713714/** @name OrmlVestingVestingSchedule */715export interface OrmlVestingVestingSchedule extends Struct {716  readonly start: u32;717  readonly period: u32;718  readonly periodCount: u32;719  readonly perPeriod: Compact<u128>;720}721722/** @name PalletBalancesAccountData */723export interface PalletBalancesAccountData extends Struct {724  readonly free: u128;725  readonly reserved: u128;726  readonly miscFrozen: u128;727  readonly feeFrozen: u128;728}729730/** @name PalletBalancesBalanceLock */731export interface PalletBalancesBalanceLock extends Struct {732  readonly id: U8aFixed;733  readonly amount: u128;734  readonly reasons: PalletBalancesReasons;735}736737/** @name PalletBalancesCall */738export interface PalletBalancesCall extends Enum {739  readonly isTransfer: boolean;740  readonly asTransfer: {741    readonly dest: MultiAddress;742    readonly value: Compact<u128>;743  } & Struct;744  readonly isSetBalance: boolean;745  readonly asSetBalance: {746    readonly who: MultiAddress;747    readonly newFree: Compact<u128>;748    readonly newReserved: Compact<u128>;749  } & Struct;750  readonly isForceTransfer: boolean;751  readonly asForceTransfer: {752    readonly source: MultiAddress;753    readonly dest: MultiAddress;754    readonly value: Compact<u128>;755  } & Struct;756  readonly isTransferKeepAlive: boolean;757  readonly asTransferKeepAlive: {758    readonly dest: MultiAddress;759    readonly value: Compact<u128>;760  } & Struct;761  readonly isTransferAll: boolean;762  readonly asTransferAll: {763    readonly dest: MultiAddress;764    readonly keepAlive: bool;765  } & Struct;766  readonly isForceUnreserve: boolean;767  readonly asForceUnreserve: {768    readonly who: MultiAddress;769    readonly amount: u128;770  } & Struct;771  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';772}773774/** @name PalletBalancesError */775export interface PalletBalancesError extends Enum {776  readonly isVestingBalance: boolean;777  readonly isLiquidityRestrictions: boolean;778  readonly isInsufficientBalance: boolean;779  readonly isExistentialDeposit: boolean;780  readonly isKeepAlive: boolean;781  readonly isExistingVestingSchedule: boolean;782  readonly isDeadAccount: boolean;783  readonly isTooManyReserves: boolean;784  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';785}786787/** @name PalletBalancesEvent */788export interface PalletBalancesEvent extends Enum {789  readonly isEndowed: boolean;790  readonly asEndowed: {791    readonly account: AccountId32;792    readonly freeBalance: u128;793  } & Struct;794  readonly isDustLost: boolean;795  readonly asDustLost: {796    readonly account: AccountId32;797    readonly amount: u128;798  } & Struct;799  readonly isTransfer: boolean;800  readonly asTransfer: {801    readonly from: AccountId32;802    readonly to: AccountId32;803    readonly amount: u128;804  } & Struct;805  readonly isBalanceSet: boolean;806  readonly asBalanceSet: {807    readonly who: AccountId32;808    readonly free: u128;809    readonly reserved: u128;810  } & Struct;811  readonly isReserved: boolean;812  readonly asReserved: {813    readonly who: AccountId32;814    readonly amount: u128;815  } & Struct;816  readonly isUnreserved: boolean;817  readonly asUnreserved: {818    readonly who: AccountId32;819    readonly amount: u128;820  } & Struct;821  readonly isReserveRepatriated: boolean;822  readonly asReserveRepatriated: {823    readonly from: AccountId32;824    readonly to: AccountId32;825    readonly amount: u128;826    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;827  } & Struct;828  readonly isDeposit: boolean;829  readonly asDeposit: {830    readonly who: AccountId32;831    readonly amount: u128;832  } & Struct;833  readonly isWithdraw: boolean;834  readonly asWithdraw: {835    readonly who: AccountId32;836    readonly amount: u128;837  } & Struct;838  readonly isSlashed: boolean;839  readonly asSlashed: {840    readonly who: AccountId32;841    readonly amount: u128;842  } & Struct;843  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';844}845846/** @name PalletBalancesReasons */847export interface PalletBalancesReasons extends Enum {848  readonly isFee: boolean;849  readonly isMisc: boolean;850  readonly isAll: boolean;851  readonly type: 'Fee' | 'Misc' | 'All';852}853854/** @name PalletBalancesReleases */855export interface PalletBalancesReleases extends Enum {856  readonly isV100: boolean;857  readonly isV200: boolean;858  readonly type: 'V100' | 'V200';859}860861/** @name PalletBalancesReserveData */862export interface PalletBalancesReserveData extends Struct {863  readonly id: U8aFixed;864  readonly amount: u128;865}866867/** @name PalletCommonError */868export interface PalletCommonError extends Enum {869  readonly isCollectionNotFound: boolean;870  readonly isMustBeTokenOwner: boolean;871  readonly isNoPermission: boolean;872  readonly isPublicMintingNotAllowed: boolean;873  readonly isAddressNotInAllowlist: boolean;874  readonly isCollectionNameLimitExceeded: boolean;875  readonly isCollectionDescriptionLimitExceeded: boolean;876  readonly isCollectionTokenPrefixLimitExceeded: boolean;877  readonly isTotalCollectionsLimitExceeded: boolean;878  readonly isCollectionAdminCountExceeded: boolean;879  readonly isCollectionLimitBoundsExceeded: boolean;880  readonly isOwnerPermissionsCantBeReverted: boolean;881  readonly isTransferNotAllowed: boolean;882  readonly isAccountTokenLimitExceeded: boolean;883  readonly isCollectionTokenLimitExceeded: boolean;884  readonly isMetadataFlagFrozen: boolean;885  readonly isTokenNotFound: boolean;886  readonly isTokenValueTooLow: boolean;887  readonly isApprovedValueTooLow: boolean;888  readonly isCantApproveMoreThanOwned: boolean;889  readonly isAddressIsZero: boolean;890  readonly isUnsupportedOperation: boolean;891  readonly isNotSufficientFounds: boolean;892  readonly isNestingIsDisabled: boolean;893  readonly isOnlyOwnerAllowedToNest: boolean;894  readonly isSourceCollectionIsNotAllowedToNest: boolean;895  readonly isCollectionFieldSizeExceeded: boolean;896  readonly isNoSpaceForProperty: boolean;897  readonly isPropertyLimitReached: boolean;898  readonly isPropertyKeyIsTooLong: boolean;899  readonly isInvalidCharacterInPropertyKey: boolean;900  readonly isEmptyPropertyKey: boolean;901  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';902}903904/** @name PalletCommonEvent */905export interface PalletCommonEvent extends Enum {906  readonly isCollectionCreated: boolean;907  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;908  readonly isCollectionDestroyed: boolean;909  readonly asCollectionDestroyed: u32;910  readonly isItemCreated: boolean;911  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;912  readonly isItemDestroyed: boolean;913  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;914  readonly isTransfer: boolean;915  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;916  readonly isApproved: boolean;917  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;918  readonly isCollectionPropertySet: boolean;919  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;920  readonly isCollectionPropertyDeleted: boolean;921  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;922  readonly isTokenPropertySet: boolean;923  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;924  readonly isTokenPropertyDeleted: boolean;925  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;926  readonly isPropertyPermissionSet: boolean;927  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;928  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';929}930931/** @name PalletEthereumCall */932export interface PalletEthereumCall extends Enum {933  readonly isTransact: boolean;934  readonly asTransact: {935    readonly transaction: EthereumTransactionTransactionV2;936  } & Struct;937  readonly type: 'Transact';938}939940/** @name PalletEthereumError */941export interface PalletEthereumError extends Enum {942  readonly isInvalidSignature: boolean;943  readonly isPreLogExists: boolean;944  readonly type: 'InvalidSignature' | 'PreLogExists';945}946947/** @name PalletEthereumEvent */948export interface PalletEthereumEvent extends Enum {949  readonly isExecuted: boolean;950  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;951  readonly type: 'Executed';952}953954/** @name PalletEthereumFakeTransactionFinalizer */955export interface PalletEthereumFakeTransactionFinalizer extends Null {}956957/** @name PalletEvmAccountBasicCrossAccountIdRepr */958export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {959  readonly isSubstrate: boolean;960  readonly asSubstrate: AccountId32;961  readonly isEthereum: boolean;962  readonly asEthereum: H160;963  readonly type: 'Substrate' | 'Ethereum';964}965966/** @name PalletEvmCall */967export interface PalletEvmCall extends Enum {968  readonly isWithdraw: boolean;969  readonly asWithdraw: {970    readonly address: H160;971    readonly value: u128;972  } & Struct;973  readonly isCall: boolean;974  readonly asCall: {975    readonly source: H160;976    readonly target: H160;977    readonly input: Bytes;978    readonly value: U256;979    readonly gasLimit: u64;980    readonly maxFeePerGas: U256;981    readonly maxPriorityFeePerGas: Option<U256>;982    readonly nonce: Option<U256>;983    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;984  } & Struct;985  readonly isCreate: boolean;986  readonly asCreate: {987    readonly source: H160;988    readonly init: Bytes;989    readonly value: U256;990    readonly gasLimit: u64;991    readonly maxFeePerGas: U256;992    readonly maxPriorityFeePerGas: Option<U256>;993    readonly nonce: Option<U256>;994    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;995  } & Struct;996  readonly isCreate2: boolean;997  readonly asCreate2: {998    readonly source: H160;999    readonly init: Bytes;1000    readonly salt: H256;1001    readonly value: U256;1002    readonly gasLimit: u64;1003    readonly maxFeePerGas: U256;1004    readonly maxPriorityFeePerGas: Option<U256>;1005    readonly nonce: Option<U256>;1006    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1007  } & Struct;1008  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1009}10101011/** @name PalletEvmCoderSubstrateError */1012export interface PalletEvmCoderSubstrateError extends Enum {1013  readonly isOutOfGas: boolean;1014  readonly isOutOfFund: boolean;1015  readonly type: 'OutOfGas' | 'OutOfFund';1016}10171018/** @name PalletEvmContractHelpersError */1019export interface PalletEvmContractHelpersError extends Enum {1020  readonly isNoPermission: boolean;1021  readonly type: 'NoPermission';1022}10231024/** @name PalletEvmContractHelpersSponsoringModeT */1025export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1026  readonly isDisabled: boolean;1027  readonly isAllowlisted: boolean;1028  readonly isGenerous: boolean;1029  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1030}10311032/** @name PalletEvmError */1033export interface PalletEvmError extends Enum {1034  readonly isBalanceLow: boolean;1035  readonly isFeeOverflow: boolean;1036  readonly isPaymentOverflow: boolean;1037  readonly isWithdrawFailed: boolean;1038  readonly isGasPriceTooLow: boolean;1039  readonly isInvalidNonce: boolean;1040  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1041}10421043/** @name PalletEvmEvent */1044export interface PalletEvmEvent extends Enum {1045  readonly isLog: boolean;1046  readonly asLog: EthereumLog;1047  readonly isCreated: boolean;1048  readonly asCreated: H160;1049  readonly isCreatedFailed: boolean;1050  readonly asCreatedFailed: H160;1051  readonly isExecuted: boolean;1052  readonly asExecuted: H160;1053  readonly isExecutedFailed: boolean;1054  readonly asExecutedFailed: H160;1055  readonly isBalanceDeposit: boolean;1056  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1057  readonly isBalanceWithdraw: boolean;1058  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1059  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1060}10611062/** @name PalletEvmMigrationCall */1063export interface PalletEvmMigrationCall extends Enum {1064  readonly isBegin: boolean;1065  readonly asBegin: {1066    readonly address: H160;1067  } & Struct;1068  readonly isSetData: boolean;1069  readonly asSetData: {1070    readonly address: H160;1071    readonly data: Vec<ITuple<[H256, H256]>>;1072  } & Struct;1073  readonly isFinish: boolean;1074  readonly asFinish: {1075    readonly address: H160;1076    readonly code: Bytes;1077  } & Struct;1078  readonly type: 'Begin' | 'SetData' | 'Finish';1079}10801081/** @name PalletEvmMigrationError */1082export interface PalletEvmMigrationError extends Enum {1083  readonly isAccountNotEmpty: boolean;1084  readonly isAccountIsNotMigrating: boolean;1085  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1086}10871088/** @name PalletFungibleError */1089export interface PalletFungibleError extends Enum {1090  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1091  readonly isFungibleItemsHaveNoId: boolean;1092  readonly isFungibleItemsDontHaveData: boolean;1093  readonly isFungibleDisallowsNesting: boolean;1094  readonly isSettingPropertiesNotAllowed: boolean;1095  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1096}10971098/** @name PalletInflationCall */1099export interface PalletInflationCall extends Enum {1100  readonly isStartInflation: boolean;1101  readonly asStartInflation: {1102    readonly inflationStartRelayBlock: u32;1103  } & Struct;1104  readonly type: 'StartInflation';1105}11061107/** @name PalletNonfungibleError */1108export interface PalletNonfungibleError extends Enum {1109  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1110  readonly isNonfungibleItemsHaveNoAmount: boolean;1111  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';1112}11131114/** @name PalletNonfungibleItemData */1115export interface PalletNonfungibleItemData extends Struct {1116  readonly constData: Bytes;1117  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1118}11191120/** @name PalletRefungibleError */1121export interface PalletRefungibleError extends Enum {1122  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1123  readonly isWrongRefungiblePieces: boolean;1124  readonly isRefungibleDisallowsNesting: boolean;1125  readonly isSettingPropertiesNotAllowed: boolean;1126  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1127}11281129/** @name PalletRefungibleItemData */1130export interface PalletRefungibleItemData extends Struct {1131  readonly constData: Bytes;1132}11331134/** @name PalletStructureCall */1135export interface PalletStructureCall extends Null {}11361137/** @name PalletStructureError */1138export interface PalletStructureError extends Enum {1139  readonly isOuroborosDetected: boolean;1140  readonly isDepthLimit: boolean;1141  readonly isTokenNotFound: boolean;1142  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';1143}11441145/** @name PalletStructureEvent */1146export interface PalletStructureEvent extends Enum {1147  readonly isExecuted: boolean;1148  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1149  readonly type: 'Executed';1150}11511152/** @name PalletSudoCall */1153export interface PalletSudoCall extends Enum {1154  readonly isSudo: boolean;1155  readonly asSudo: {1156    readonly call: Call;1157  } & Struct;1158  readonly isSudoUncheckedWeight: boolean;1159  readonly asSudoUncheckedWeight: {1160    readonly call: Call;1161    readonly weight: u64;1162  } & Struct;1163  readonly isSetKey: boolean;1164  readonly asSetKey: {1165    readonly new_: MultiAddress;1166  } & Struct;1167  readonly isSudoAs: boolean;1168  readonly asSudoAs: {1169    readonly who: MultiAddress;1170    readonly call: Call;1171  } & Struct;1172  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1173}11741175/** @name PalletSudoError */1176export interface PalletSudoError extends Enum {1177  readonly isRequireSudo: boolean;1178  readonly type: 'RequireSudo';1179}11801181/** @name PalletSudoEvent */1182export interface PalletSudoEvent extends Enum {1183  readonly isSudid: boolean;1184  readonly asSudid: {1185    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1186  } & Struct;1187  readonly isKeyChanged: boolean;1188  readonly asKeyChanged: {1189    readonly oldSudoer: Option<AccountId32>;1190  } & Struct;1191  readonly isSudoAsDone: boolean;1192  readonly asSudoAsDone: {1193    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1194  } & Struct;1195  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1196}11971198/** @name PalletTemplateTransactionPaymentCall */1199export interface PalletTemplateTransactionPaymentCall extends Null {}12001201/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1202export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}12031204/** @name PalletTimestampCall */1205export interface PalletTimestampCall extends Enum {1206  readonly isSet: boolean;1207  readonly asSet: {1208    readonly now: Compact<u64>;1209  } & Struct;1210  readonly type: 'Set';1211}12121213/** @name PalletTransactionPaymentReleases */1214export interface PalletTransactionPaymentReleases extends Enum {1215  readonly isV1Ancient: boolean;1216  readonly isV2: boolean;1217  readonly type: 'V1Ancient' | 'V2';1218}12191220/** @name PalletTreasuryCall */1221export interface PalletTreasuryCall extends Enum {1222  readonly isProposeSpend: boolean;1223  readonly asProposeSpend: {1224    readonly value: Compact<u128>;1225    readonly beneficiary: MultiAddress;1226  } & Struct;1227  readonly isRejectProposal: boolean;1228  readonly asRejectProposal: {1229    readonly proposalId: Compact<u32>;1230  } & Struct;1231  readonly isApproveProposal: boolean;1232  readonly asApproveProposal: {1233    readonly proposalId: Compact<u32>;1234  } & Struct;1235  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';1236}12371238/** @name PalletTreasuryError */1239export interface PalletTreasuryError extends Enum {1240  readonly isInsufficientProposersBalance: boolean;1241  readonly isInvalidIndex: boolean;1242  readonly isTooManyApprovals: boolean;1243  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';1244}12451246/** @name PalletTreasuryEvent */1247export interface PalletTreasuryEvent extends Enum {1248  readonly isProposed: boolean;1249  readonly asProposed: {1250    readonly proposalIndex: u32;1251  } & Struct;1252  readonly isSpending: boolean;1253  readonly asSpending: {1254    readonly budgetRemaining: u128;1255  } & Struct;1256  readonly isAwarded: boolean;1257  readonly asAwarded: {1258    readonly proposalIndex: u32;1259    readonly award: u128;1260    readonly account: AccountId32;1261  } & Struct;1262  readonly isRejected: boolean;1263  readonly asRejected: {1264    readonly proposalIndex: u32;1265    readonly slashed: u128;1266  } & Struct;1267  readonly isBurnt: boolean;1268  readonly asBurnt: {1269    readonly burntFunds: u128;1270  } & Struct;1271  readonly isRollover: boolean;1272  readonly asRollover: {1273    readonly rolloverBalance: u128;1274  } & Struct;1275  readonly isDeposit: boolean;1276  readonly asDeposit: {1277    readonly value: u128;1278  } & Struct;1279  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';1280}12811282/** @name PalletTreasuryProposal */1283export interface PalletTreasuryProposal extends Struct {1284  readonly proposer: AccountId32;1285  readonly value: u128;1286  readonly beneficiary: AccountId32;1287  readonly bond: u128;1288}12891290/** @name PalletUniqueCall */1291export interface PalletUniqueCall extends Enum {1292  readonly isCreateCollection: boolean;1293  readonly asCreateCollection: {1294    readonly collectionName: Vec<u16>;1295    readonly collectionDescription: Vec<u16>;1296    readonly tokenPrefix: Bytes;1297    readonly mode: UpDataStructsCollectionMode;1298  } & Struct;1299  readonly isCreateCollectionEx: boolean;1300  readonly asCreateCollectionEx: {1301    readonly data: UpDataStructsCreateCollectionData;1302  } & Struct;1303  readonly isDestroyCollection: boolean;1304  readonly asDestroyCollection: {1305    readonly collectionId: u32;1306  } & Struct;1307  readonly isAddToAllowList: boolean;1308  readonly asAddToAllowList: {1309    readonly collectionId: u32;1310    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1311  } & Struct;1312  readonly isRemoveFromAllowList: boolean;1313  readonly asRemoveFromAllowList: {1314    readonly collectionId: u32;1315    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1316  } & Struct;1317  readonly isSetPublicAccessMode: boolean;1318  readonly asSetPublicAccessMode: {1319    readonly collectionId: u32;1320    readonly mode: UpDataStructsAccessMode;1321  } & Struct;1322  readonly isSetMintPermission: boolean;1323  readonly asSetMintPermission: {1324    readonly collectionId: u32;1325    readonly mintPermission: bool;1326  } & Struct;1327  readonly isChangeCollectionOwner: boolean;1328  readonly asChangeCollectionOwner: {1329    readonly collectionId: u32;1330    readonly newOwner: AccountId32;1331  } & Struct;1332  readonly isAddCollectionAdmin: boolean;1333  readonly asAddCollectionAdmin: {1334    readonly collectionId: u32;1335    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1336  } & Struct;1337  readonly isRemoveCollectionAdmin: boolean;1338  readonly asRemoveCollectionAdmin: {1339    readonly collectionId: u32;1340    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1341  } & Struct;1342  readonly isSetCollectionSponsor: boolean;1343  readonly asSetCollectionSponsor: {1344    readonly collectionId: u32;1345    readonly newSponsor: AccountId32;1346  } & Struct;1347  readonly isConfirmSponsorship: boolean;1348  readonly asConfirmSponsorship: {1349    readonly collectionId: u32;1350  } & Struct;1351  readonly isRemoveCollectionSponsor: boolean;1352  readonly asRemoveCollectionSponsor: {1353    readonly collectionId: u32;1354  } & Struct;1355  readonly isCreateItem: boolean;1356  readonly asCreateItem: {1357    readonly collectionId: u32;1358    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1359    readonly data: UpDataStructsCreateItemData;1360  } & Struct;1361  readonly isCreateMultipleItems: boolean;1362  readonly asCreateMultipleItems: {1363    readonly collectionId: u32;1364    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1365    readonly itemsData: Vec<UpDataStructsCreateItemData>;1366  } & Struct;1367  readonly isSetCollectionProperties: boolean;1368  readonly asSetCollectionProperties: {1369    readonly collectionId: u32;1370    readonly properties: Vec<UpDataStructsProperty>;1371  } & Struct;1372  readonly isDeleteCollectionProperties: boolean;1373  readonly asDeleteCollectionProperties: {1374    readonly collectionId: u32;1375    readonly propertyKeys: Vec<Bytes>;1376  } & Struct;1377  readonly isSetTokenProperties: boolean;1378  readonly asSetTokenProperties: {1379    readonly collectionId: u32;1380    readonly tokenId: u32;1381    readonly properties: Vec<UpDataStructsProperty>;1382  } & Struct;1383  readonly isDeleteTokenProperties: boolean;1384  readonly asDeleteTokenProperties: {1385    readonly collectionId: u32;1386    readonly tokenId: u32;1387    readonly propertyKeys: Vec<Bytes>;1388  } & Struct;1389  readonly isSetPropertyPermissions: boolean;1390  readonly asSetPropertyPermissions: {1391    readonly collectionId: u32;1392    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1393  } & Struct;1394  readonly isCreateMultipleItemsEx: boolean;1395  readonly asCreateMultipleItemsEx: {1396    readonly collectionId: u32;1397    readonly data: UpDataStructsCreateItemExData;1398  } & Struct;1399  readonly isSetTransfersEnabledFlag: boolean;1400  readonly asSetTransfersEnabledFlag: {1401    readonly collectionId: u32;1402    readonly value: bool;1403  } & Struct;1404  readonly isBurnItem: boolean;1405  readonly asBurnItem: {1406    readonly collectionId: u32;1407    readonly itemId: u32;1408    readonly value: u128;1409  } & Struct;1410  readonly isBurnFrom: boolean;1411  readonly asBurnFrom: {1412    readonly collectionId: u32;1413    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1414    readonly itemId: u32;1415    readonly value: u128;1416  } & Struct;1417  readonly isTransfer: boolean;1418  readonly asTransfer: {1419    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1420    readonly collectionId: u32;1421    readonly itemId: u32;1422    readonly value: u128;1423  } & Struct;1424  readonly isApprove: boolean;1425  readonly asApprove: {1426    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1427    readonly collectionId: u32;1428    readonly itemId: u32;1429    readonly amount: u128;1430  } & Struct;1431  readonly isTransferFrom: boolean;1432  readonly asTransferFrom: {1433    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1434    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1435    readonly collectionId: u32;1436    readonly itemId: u32;1437    readonly value: u128;1438  } & Struct;1439  readonly isSetSchemaVersion: boolean;1440  readonly asSetSchemaVersion: {1441    readonly collectionId: u32;1442    readonly version: UpDataStructsSchemaVersion;1443  } & Struct;1444  readonly isSetOffchainSchema: boolean;1445  readonly asSetOffchainSchema: {1446    readonly collectionId: u32;1447    readonly schema: Bytes;1448  } & Struct;1449  readonly isSetConstOnChainSchema: boolean;1450  readonly asSetConstOnChainSchema: {1451    readonly collectionId: u32;1452    readonly schema: Bytes;1453  } & Struct;1454  readonly isSetCollectionLimits: boolean;1455  readonly asSetCollectionLimits: {1456    readonly collectionId: u32;1457    readonly newLimit: UpDataStructsCollectionLimits;1458  } & Struct;1459  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits';1460}14611462/** @name PalletUniqueError */1463export interface PalletUniqueError extends Enum {1464  readonly isCollectionDecimalPointLimitExceeded: boolean;1465  readonly isConfirmUnsetSponsorFail: boolean;1466  readonly isEmptyArgument: boolean;1467  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';1468}14691470/** @name PalletUniqueRawEvent */1471export interface PalletUniqueRawEvent extends Enum {1472  readonly isCollectionSponsorRemoved: boolean;1473  readonly asCollectionSponsorRemoved: u32;1474  readonly isCollectionAdminAdded: boolean;1475  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1476  readonly isCollectionOwnedChanged: boolean;1477  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1478  readonly isCollectionSponsorSet: boolean;1479  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1480  readonly isConstOnChainSchemaSet: boolean;1481  readonly asConstOnChainSchemaSet: u32;1482  readonly isSponsorshipConfirmed: boolean;1483  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1484  readonly isCollectionAdminRemoved: boolean;1485  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1486  readonly isAllowListAddressRemoved: boolean;1487  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1488  readonly isAllowListAddressAdded: boolean;1489  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1490  readonly isCollectionLimitSet: boolean;1491  readonly asCollectionLimitSet: u32;1492  readonly isMintPermissionSet: boolean;1493  readonly asMintPermissionSet: u32;1494  readonly isOffchainSchemaSet: boolean;1495  readonly asOffchainSchemaSet: u32;1496  readonly isPublicAccessModeSet: boolean;1497  readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;1498  readonly isSchemaVersionSet: boolean;1499  readonly asSchemaVersionSet: u32;1500  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet';1501}15021503/** @name PalletXcmCall */1504export interface PalletXcmCall extends Enum {1505  readonly isSend: boolean;1506  readonly asSend: {1507    readonly dest: XcmVersionedMultiLocation;1508    readonly message: XcmVersionedXcm;1509  } & Struct;1510  readonly isTeleportAssets: boolean;1511  readonly asTeleportAssets: {1512    readonly dest: XcmVersionedMultiLocation;1513    readonly beneficiary: XcmVersionedMultiLocation;1514    readonly assets: XcmVersionedMultiAssets;1515    readonly feeAssetItem: u32;1516  } & Struct;1517  readonly isReserveTransferAssets: boolean;1518  readonly asReserveTransferAssets: {1519    readonly dest: XcmVersionedMultiLocation;1520    readonly beneficiary: XcmVersionedMultiLocation;1521    readonly assets: XcmVersionedMultiAssets;1522    readonly feeAssetItem: u32;1523  } & Struct;1524  readonly isExecute: boolean;1525  readonly asExecute: {1526    readonly message: XcmVersionedXcm;1527    readonly maxWeight: u64;1528  } & Struct;1529  readonly isForceXcmVersion: boolean;1530  readonly asForceXcmVersion: {1531    readonly location: XcmV1MultiLocation;1532    readonly xcmVersion: u32;1533  } & Struct;1534  readonly isForceDefaultXcmVersion: boolean;1535  readonly asForceDefaultXcmVersion: {1536    readonly maybeXcmVersion: Option<u32>;1537  } & Struct;1538  readonly isForceSubscribeVersionNotify: boolean;1539  readonly asForceSubscribeVersionNotify: {1540    readonly location: XcmVersionedMultiLocation;1541  } & Struct;1542  readonly isForceUnsubscribeVersionNotify: boolean;1543  readonly asForceUnsubscribeVersionNotify: {1544    readonly location: XcmVersionedMultiLocation;1545  } & Struct;1546  readonly isLimitedReserveTransferAssets: boolean;1547  readonly asLimitedReserveTransferAssets: {1548    readonly dest: XcmVersionedMultiLocation;1549    readonly beneficiary: XcmVersionedMultiLocation;1550    readonly assets: XcmVersionedMultiAssets;1551    readonly feeAssetItem: u32;1552    readonly weightLimit: XcmV2WeightLimit;1553  } & Struct;1554  readonly isLimitedTeleportAssets: boolean;1555  readonly asLimitedTeleportAssets: {1556    readonly dest: XcmVersionedMultiLocation;1557    readonly beneficiary: XcmVersionedMultiLocation;1558    readonly assets: XcmVersionedMultiAssets;1559    readonly feeAssetItem: u32;1560    readonly weightLimit: XcmV2WeightLimit;1561  } & Struct;1562  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';1563}15641565/** @name PalletXcmError */1566export interface PalletXcmError extends Enum {1567  readonly isUnreachable: boolean;1568  readonly isSendFailure: boolean;1569  readonly isFiltered: boolean;1570  readonly isUnweighableMessage: boolean;1571  readonly isDestinationNotInvertible: boolean;1572  readonly isEmpty: boolean;1573  readonly isCannotReanchor: boolean;1574  readonly isTooManyAssets: boolean;1575  readonly isInvalidOrigin: boolean;1576  readonly isBadVersion: boolean;1577  readonly isBadLocation: boolean;1578  readonly isNoSubscription: boolean;1579  readonly isAlreadySubscribed: boolean;1580  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';1581}15821583/** @name PalletXcmEvent */1584export interface PalletXcmEvent extends Enum {1585  readonly isAttempted: boolean;1586  readonly asAttempted: XcmV2TraitsOutcome;1587  readonly isSent: boolean;1588  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;1589  readonly isUnexpectedResponse: boolean;1590  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;1591  readonly isResponseReady: boolean;1592  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;1593  readonly isNotified: boolean;1594  readonly asNotified: ITuple<[u64, u8, u8]>;1595  readonly isNotifyOverweight: boolean;1596  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;1597  readonly isNotifyDispatchError: boolean;1598  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;1599  readonly isNotifyDecodeFailed: boolean;1600  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1601  readonly isInvalidResponder: boolean;1602  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;1603  readonly isInvalidResponderVersion: boolean;1604  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;1605  readonly isResponseTaken: boolean;1606  readonly asResponseTaken: u64;1607  readonly isAssetsTrapped: boolean;1608  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;1609  readonly isVersionChangeNotified: boolean;1610  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;1611  readonly isSupportedVersionChanged: boolean;1612  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;1613  readonly isNotifyTargetSendFail: boolean;1614  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;1615  readonly isNotifyTargetMigrationFail: boolean;1616  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1617  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';1618}16191620/** @name PhantomTypeUpDataStructsRpcCollection */1621export interface PhantomTypeUpDataStructsRpcCollection extends Vec<Lookup331> {}16221623/** @name PhantomTypeUpDataStructsTokenData */1624export interface PhantomTypeUpDataStructsTokenData extends Vec<Lookup327> {}16251626/** @name PolkadotCorePrimitivesInboundDownwardMessage */1627export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1628  readonly sentAt: u32;1629  readonly msg: Bytes;1630}16311632/** @name PolkadotCorePrimitivesInboundHrmpMessage */1633export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1634  readonly sentAt: u32;1635  readonly data: Bytes;1636}16371638/** @name PolkadotCorePrimitivesOutboundHrmpMessage */1639export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1640  readonly recipient: u32;1641  readonly data: Bytes;1642}16431644/** @name PolkadotParachainPrimitivesXcmpMessageFormat */1645export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {1646  readonly isConcatenatedVersionedXcm: boolean;1647  readonly isConcatenatedEncodedBlob: boolean;1648  readonly isSignals: boolean;1649  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';1650}16511652/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */1653export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1654  readonly maxCodeSize: u32;1655  readonly maxHeadDataSize: u32;1656  readonly maxUpwardQueueCount: u32;1657  readonly maxUpwardQueueSize: u32;1658  readonly maxUpwardMessageSize: u32;1659  readonly maxUpwardMessageNumPerCandidate: u32;1660  readonly hrmpMaxMessageNumPerCandidate: u32;1661  readonly validationUpgradeCooldown: u32;1662  readonly validationUpgradeDelay: u32;1663}16641665/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */1666export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1667  readonly maxCapacity: u32;1668  readonly maxTotalSize: u32;1669  readonly maxMessageSize: u32;1670  readonly msgCount: u32;1671  readonly totalSize: u32;1672  readonly mqcHead: Option<H256>;1673}16741675/** @name PolkadotPrimitivesV2PersistedValidationData */1676export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1677  readonly parentHead: Bytes;1678  readonly relayParentNumber: u32;1679  readonly relayParentStorageRoot: H256;1680  readonly maxPovSize: u32;1681}16821683/** @name PolkadotPrimitivesV2UpgradeRestriction */1684export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1685  readonly isPresent: boolean;1686  readonly type: 'Present';1687}16881689/** @name SpCoreEcdsaSignature */1690export interface SpCoreEcdsaSignature extends U8aFixed {}16911692/** @name SpCoreEd25519Signature */1693export interface SpCoreEd25519Signature extends U8aFixed {}16941695/** @name SpCoreSr25519Signature */1696export interface SpCoreSr25519Signature extends U8aFixed {}16971698/** @name SpRuntimeArithmeticError */1699export interface SpRuntimeArithmeticError extends Enum {1700  readonly isUnderflow: boolean;1701  readonly isOverflow: boolean;1702  readonly isDivisionByZero: boolean;1703  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1704}17051706/** @name SpRuntimeDigest */1707export interface SpRuntimeDigest extends Struct {1708  readonly logs: Vec<SpRuntimeDigestDigestItem>;1709}17101711/** @name SpRuntimeDigestDigestItem */1712export interface SpRuntimeDigestDigestItem extends Enum {1713  readonly isOther: boolean;1714  readonly asOther: Bytes;1715  readonly isConsensus: boolean;1716  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1717  readonly isSeal: boolean;1718  readonly asSeal: ITuple<[U8aFixed, Bytes]>;1719  readonly isPreRuntime: boolean;1720  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1721  readonly isRuntimeEnvironmentUpdated: boolean;1722  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1723}17241725/** @name SpRuntimeDispatchError */1726export interface SpRuntimeDispatchError extends Enum {1727  readonly isOther: boolean;1728  readonly isCannotLookup: boolean;1729  readonly isBadOrigin: boolean;1730  readonly isModule: boolean;1731  readonly asModule: SpRuntimeModuleError;1732  readonly isConsumerRemaining: boolean;1733  readonly isNoProviders: boolean;1734  readonly isTooManyConsumers: boolean;1735  readonly isToken: boolean;1736  readonly asToken: SpRuntimeTokenError;1737  readonly isArithmetic: boolean;1738  readonly asArithmetic: SpRuntimeArithmeticError;1739  readonly isTransactional: boolean;1740  readonly asTransactional: SpRuntimeTransactionalError;1741  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1742}17431744/** @name SpRuntimeModuleError */1745export interface SpRuntimeModuleError extends Struct {1746  readonly index: u8;1747  readonly error: U8aFixed;1748}17491750/** @name SpRuntimeMultiSignature */1751export interface SpRuntimeMultiSignature extends Enum {1752  readonly isEd25519: boolean;1753  readonly asEd25519: SpCoreEd25519Signature;1754  readonly isSr25519: boolean;1755  readonly asSr25519: SpCoreSr25519Signature;1756  readonly isEcdsa: boolean;1757  readonly asEcdsa: SpCoreEcdsaSignature;1758  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';1759}17601761/** @name SpRuntimeTokenError */1762export interface SpRuntimeTokenError extends Enum {1763  readonly isNoFunds: boolean;1764  readonly isWouldDie: boolean;1765  readonly isBelowMinimum: boolean;1766  readonly isCannotCreate: boolean;1767  readonly isUnknownAsset: boolean;1768  readonly isFrozen: boolean;1769  readonly isUnsupported: boolean;1770  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1771}17721773/** @name SpRuntimeTransactionalError */1774export interface SpRuntimeTransactionalError extends Enum {1775  readonly isLimitReached: boolean;1776  readonly isNoLayer: boolean;1777  readonly type: 'LimitReached' | 'NoLayer';1778}17791780/** @name SpTrieStorageProof */1781export interface SpTrieStorageProof extends Struct {1782  readonly trieNodes: BTreeSet<Bytes>;1783}17841785/** @name SpVersionRuntimeVersion */1786export interface SpVersionRuntimeVersion extends Struct {1787  readonly specName: Text;1788  readonly implName: Text;1789  readonly authoringVersion: u32;1790  readonly specVersion: u32;1791  readonly implVersion: u32;1792  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1793  readonly transactionVersion: u32;1794  readonly stateVersion: u8;1795}17961797/** @name UpDataStructsAccessMode */1798export interface UpDataStructsAccessMode extends Enum {1799  readonly isNormal: boolean;1800  readonly isAllowList: boolean;1801  readonly type: 'Normal' | 'AllowList';1802}18031804/** @name UpDataStructsCollection */1805export interface UpDataStructsCollection extends Struct {1806  readonly owner: AccountId32;1807  readonly mode: UpDataStructsCollectionMode;1808  readonly access: UpDataStructsAccessMode;1809  readonly name: Vec<u16>;1810  readonly description: Vec<u16>;1811  readonly tokenPrefix: Bytes;1812  readonly mintMode: bool;1813  readonly schemaVersion: UpDataStructsSchemaVersion;1814  readonly sponsorship: UpDataStructsSponsorshipState;1815  readonly limits: UpDataStructsCollectionLimits;1816}18171818/** @name UpDataStructsCollectionField */1819export interface UpDataStructsCollectionField extends Enum {1820  readonly isConstOnChainSchema: boolean;1821  readonly isOffchainSchema: boolean;1822  readonly type: 'ConstOnChainSchema' | 'OffchainSchema';1823}18241825/** @name UpDataStructsCollectionLimits */1826export interface UpDataStructsCollectionLimits extends Struct {1827  readonly accountTokenOwnershipLimit: Option<u32>;1828  readonly sponsoredDataSize: Option<u32>;1829  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1830  readonly tokenLimit: Option<u32>;1831  readonly sponsorTransferTimeout: Option<u32>;1832  readonly sponsorApproveTimeout: Option<u32>;1833  readonly ownerCanTransfer: Option<bool>;1834  readonly ownerCanDestroy: Option<bool>;1835  readonly transfersEnabled: Option<bool>;1836  readonly nestingRule: Option<UpDataStructsNestingRule>;1837}18381839/** @name UpDataStructsCollectionMode */1840export interface UpDataStructsCollectionMode extends Enum {1841  readonly isNft: boolean;1842  readonly isFungible: boolean;1843  readonly asFungible: u8;1844  readonly isReFungible: boolean;1845  readonly type: 'Nft' | 'Fungible' | 'ReFungible';1846}18471848/** @name UpDataStructsCollectionStats */1849export interface UpDataStructsCollectionStats extends Struct {1850  readonly created: u32;1851  readonly destroyed: u32;1852  readonly alive: u32;1853}18541855/** @name UpDataStructsCreateCollectionData */1856export interface UpDataStructsCreateCollectionData extends Struct {1857  readonly mode: UpDataStructsCollectionMode;1858  readonly access: Option<UpDataStructsAccessMode>;1859  readonly name: Vec<u16>;1860  readonly description: Vec<u16>;1861  readonly tokenPrefix: Bytes;1862  readonly offchainSchema: Bytes;1863  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;1864  readonly pendingSponsor: Option<AccountId32>;1865  readonly limits: Option<UpDataStructsCollectionLimits>;1866  readonly constOnChainSchema: Bytes;1867  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1868  readonly properties: Vec<UpDataStructsProperty>;1869}18701871/** @name UpDataStructsCreateFungibleData */1872export interface UpDataStructsCreateFungibleData extends Struct {1873  readonly value: u128;1874}18751876/** @name UpDataStructsCreateItemData */1877export interface UpDataStructsCreateItemData extends Enum {1878  readonly isNft: boolean;1879  readonly asNft: UpDataStructsCreateNftData;1880  readonly isFungible: boolean;1881  readonly asFungible: UpDataStructsCreateFungibleData;1882  readonly isReFungible: boolean;1883  readonly asReFungible: UpDataStructsCreateReFungibleData;1884  readonly type: 'Nft' | 'Fungible' | 'ReFungible';1885}18861887/** @name UpDataStructsCreateItemExData */1888export interface UpDataStructsCreateItemExData extends Enum {1889  readonly isNft: boolean;1890  readonly asNft: Vec<UpDataStructsCreateNftExData>;1891  readonly isFungible: boolean;1892  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;1893  readonly isRefungibleMultipleItems: boolean;1894  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;1895  readonly isRefungibleMultipleOwners: boolean;1896  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;1897  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';1898}18991900/** @name UpDataStructsCreateNftData */1901export interface UpDataStructsCreateNftData extends Struct {1902  readonly constData: Bytes;1903  readonly properties: Vec<UpDataStructsProperty>;1904}19051906/** @name UpDataStructsCreateNftExData */1907export interface UpDataStructsCreateNftExData extends Struct {1908  readonly constData: Bytes;1909  readonly properties: Vec<UpDataStructsProperty>;1910  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1911}19121913/** @name UpDataStructsCreateReFungibleData */1914export interface UpDataStructsCreateReFungibleData extends Struct {1915  readonly constData: Bytes;1916  readonly pieces: u128;1917}19181919/** @name UpDataStructsCreateRefungibleExData */1920export interface UpDataStructsCreateRefungibleExData extends Struct {1921  readonly constData: Bytes;1922  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;1923}19241925/** @name UpDataStructsNestingRule */1926export interface UpDataStructsNestingRule extends Enum {1927  readonly isDisabled: boolean;1928  readonly isOwner: boolean;1929  readonly isOwnerRestricted: boolean;1930  readonly asOwnerRestricted: FrameSupportStorageBoundedBTreeSet;1931  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';1932}19331934/** @name UpDataStructsProperties */1935export interface UpDataStructsProperties extends Struct {1936  readonly map: UpDataStructsPropertiesMapBoundedVec;1937  readonly consumedSpace: u32;1938  readonly spaceLimit: u32;1939}19401941/** @name UpDataStructsPropertiesMapBoundedVec */1942export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}19431944/** @name UpDataStructsPropertiesMapPropertyPermission */1945export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}19461947/** @name UpDataStructsProperty */1948export interface UpDataStructsProperty extends Struct {1949  readonly key: Bytes;1950  readonly value: Bytes;1951}19521953/** @name UpDataStructsPropertyKeyPermission */1954export interface UpDataStructsPropertyKeyPermission extends Struct {1955  readonly key: Bytes;1956  readonly permission: UpDataStructsPropertyPermission;1957}19581959/** @name UpDataStructsPropertyPermission */1960export interface UpDataStructsPropertyPermission extends Struct {1961  readonly mutable: bool;1962  readonly collectionAdmin: bool;1963  readonly tokenOwner: bool;1964}19651966/** @name UpDataStructsRpcCollection */1967export interface UpDataStructsRpcCollection extends Struct {1968  readonly owner: AccountId32;1969  readonly mode: UpDataStructsCollectionMode;1970  readonly access: UpDataStructsAccessMode;1971  readonly name: Vec<u16>;1972  readonly description: Vec<u16>;1973  readonly tokenPrefix: Bytes;1974  readonly mintMode: bool;1975  readonly offchainSchema: Bytes;1976  readonly schemaVersion: UpDataStructsSchemaVersion;1977  readonly sponsorship: UpDataStructsSponsorshipState;1978  readonly limits: UpDataStructsCollectionLimits;1979  readonly constOnChainSchema: Bytes;1980  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1981  readonly properties: Vec<UpDataStructsProperty>;1982}19831984/** @name UpDataStructsSchemaVersion */1985export interface UpDataStructsSchemaVersion extends Enum {1986  readonly isImageURL: boolean;1987  readonly isUnique: boolean;1988  readonly type: 'ImageURL' | 'Unique';1989}19901991/** @name UpDataStructsSponsoringRateLimit */1992export interface UpDataStructsSponsoringRateLimit extends Enum {1993  readonly isSponsoringDisabled: boolean;1994  readonly isBlocks: boolean;1995  readonly asBlocks: u32;1996  readonly type: 'SponsoringDisabled' | 'Blocks';1997}19981999/** @name UpDataStructsSponsorshipState */2000export interface UpDataStructsSponsorshipState extends Enum {2001  readonly isDisabled: boolean;2002  readonly isUnconfirmed: boolean;2003  readonly asUnconfirmed: AccountId32;2004  readonly isConfirmed: boolean;2005  readonly asConfirmed: AccountId32;2006  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2007}20082009/** @name UpDataStructsTokenData */2010export interface UpDataStructsTokenData extends Struct {2011  readonly constData: Bytes;2012  readonly properties: Vec<UpDataStructsProperty>;2013  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2014}20152016/** @name XcmDoubleEncoded */2017export interface XcmDoubleEncoded extends Struct {2018  readonly encoded: Bytes;2019}20202021/** @name XcmV0Junction */2022export interface XcmV0Junction extends Enum {2023  readonly isParent: boolean;2024  readonly isParachain: boolean;2025  readonly asParachain: Compact<u32>;2026  readonly isAccountId32: boolean;2027  readonly asAccountId32: {2028    readonly network: XcmV0JunctionNetworkId;2029    readonly id: U8aFixed;2030  } & Struct;2031  readonly isAccountIndex64: boolean;2032  readonly asAccountIndex64: {2033    readonly network: XcmV0JunctionNetworkId;2034    readonly index: Compact<u64>;2035  } & Struct;2036  readonly isAccountKey20: boolean;2037  readonly asAccountKey20: {2038    readonly network: XcmV0JunctionNetworkId;2039    readonly key: U8aFixed;2040  } & Struct;2041  readonly isPalletInstance: boolean;2042  readonly asPalletInstance: u8;2043  readonly isGeneralIndex: boolean;2044  readonly asGeneralIndex: Compact<u128>;2045  readonly isGeneralKey: boolean;2046  readonly asGeneralKey: Bytes;2047  readonly isOnlyChild: boolean;2048  readonly isPlurality: boolean;2049  readonly asPlurality: {2050    readonly id: XcmV0JunctionBodyId;2051    readonly part: XcmV0JunctionBodyPart;2052  } & Struct;2053  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2054}20552056/** @name XcmV0JunctionBodyId */2057export interface XcmV0JunctionBodyId extends Enum {2058  readonly isUnit: boolean;2059  readonly isNamed: boolean;2060  readonly asNamed: Bytes;2061  readonly isIndex: boolean;2062  readonly asIndex: Compact<u32>;2063  readonly isExecutive: boolean;2064  readonly isTechnical: boolean;2065  readonly isLegislative: boolean;2066  readonly isJudicial: boolean;2067  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2068}20692070/** @name XcmV0JunctionBodyPart */2071export interface XcmV0JunctionBodyPart extends Enum {2072  readonly isVoice: boolean;2073  readonly isMembers: boolean;2074  readonly asMembers: {2075    readonly count: Compact<u32>;2076  } & Struct;2077  readonly isFraction: boolean;2078  readonly asFraction: {2079    readonly nom: Compact<u32>;2080    readonly denom: Compact<u32>;2081  } & Struct;2082  readonly isAtLeastProportion: boolean;2083  readonly asAtLeastProportion: {2084    readonly nom: Compact<u32>;2085    readonly denom: Compact<u32>;2086  } & Struct;2087  readonly isMoreThanProportion: boolean;2088  readonly asMoreThanProportion: {2089    readonly nom: Compact<u32>;2090    readonly denom: Compact<u32>;2091  } & Struct;2092  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2093}20942095/** @name XcmV0JunctionNetworkId */2096export interface XcmV0JunctionNetworkId extends Enum {2097  readonly isAny: boolean;2098  readonly isNamed: boolean;2099  readonly asNamed: Bytes;2100  readonly isPolkadot: boolean;2101  readonly isKusama: boolean;2102  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2103}21042105/** @name XcmV0MultiAsset */2106export interface XcmV0MultiAsset extends Enum {2107  readonly isNone: boolean;2108  readonly isAll: boolean;2109  readonly isAllFungible: boolean;2110  readonly isAllNonFungible: boolean;2111  readonly isAllAbstractFungible: boolean;2112  readonly asAllAbstractFungible: {2113    readonly id: Bytes;2114  } & Struct;2115  readonly isAllAbstractNonFungible: boolean;2116  readonly asAllAbstractNonFungible: {2117    readonly class: Bytes;2118  } & Struct;2119  readonly isAllConcreteFungible: boolean;2120  readonly asAllConcreteFungible: {2121    readonly id: XcmV0MultiLocation;2122  } & Struct;2123  readonly isAllConcreteNonFungible: boolean;2124  readonly asAllConcreteNonFungible: {2125    readonly class: XcmV0MultiLocation;2126  } & Struct;2127  readonly isAbstractFungible: boolean;2128  readonly asAbstractFungible: {2129    readonly id: Bytes;2130    readonly amount: Compact<u128>;2131  } & Struct;2132  readonly isAbstractNonFungible: boolean;2133  readonly asAbstractNonFungible: {2134    readonly class: Bytes;2135    readonly instance: XcmV1MultiassetAssetInstance;2136  } & Struct;2137  readonly isConcreteFungible: boolean;2138  readonly asConcreteFungible: {2139    readonly id: XcmV0MultiLocation;2140    readonly amount: Compact<u128>;2141  } & Struct;2142  readonly isConcreteNonFungible: boolean;2143  readonly asConcreteNonFungible: {2144    readonly class: XcmV0MultiLocation;2145    readonly instance: XcmV1MultiassetAssetInstance;2146  } & Struct;2147  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2148}21492150/** @name XcmV0MultiLocation */2151export interface XcmV0MultiLocation extends Enum {2152  readonly isNull: boolean;2153  readonly isX1: boolean;2154  readonly asX1: XcmV0Junction;2155  readonly isX2: boolean;2156  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2157  readonly isX3: boolean;2158  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2159  readonly isX4: boolean;2160  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2161  readonly isX5: boolean;2162  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2163  readonly isX6: boolean;2164  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2165  readonly isX7: boolean;2166  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2167  readonly isX8: boolean;2168  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2169  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2170}21712172/** @name XcmV0Order */2173export interface XcmV0Order extends Enum {2174  readonly isNull: boolean;2175  readonly isDepositAsset: boolean;2176  readonly asDepositAsset: {2177    readonly assets: Vec<XcmV0MultiAsset>;2178    readonly dest: XcmV0MultiLocation;2179  } & Struct;2180  readonly isDepositReserveAsset: boolean;2181  readonly asDepositReserveAsset: {2182    readonly assets: Vec<XcmV0MultiAsset>;2183    readonly dest: XcmV0MultiLocation;2184    readonly effects: Vec<XcmV0Order>;2185  } & Struct;2186  readonly isExchangeAsset: boolean;2187  readonly asExchangeAsset: {2188    readonly give: Vec<XcmV0MultiAsset>;2189    readonly receive: Vec<XcmV0MultiAsset>;2190  } & Struct;2191  readonly isInitiateReserveWithdraw: boolean;2192  readonly asInitiateReserveWithdraw: {2193    readonly assets: Vec<XcmV0MultiAsset>;2194    readonly reserve: XcmV0MultiLocation;2195    readonly effects: Vec<XcmV0Order>;2196  } & Struct;2197  readonly isInitiateTeleport: boolean;2198  readonly asInitiateTeleport: {2199    readonly assets: Vec<XcmV0MultiAsset>;2200    readonly dest: XcmV0MultiLocation;2201    readonly effects: Vec<XcmV0Order>;2202  } & Struct;2203  readonly isQueryHolding: boolean;2204  readonly asQueryHolding: {2205    readonly queryId: Compact<u64>;2206    readonly dest: XcmV0MultiLocation;2207    readonly assets: Vec<XcmV0MultiAsset>;2208  } & Struct;2209  readonly isBuyExecution: boolean;2210  readonly asBuyExecution: {2211    readonly fees: XcmV0MultiAsset;2212    readonly weight: u64;2213    readonly debt: u64;2214    readonly haltOnError: bool;2215    readonly xcm: Vec<XcmV0Xcm>;2216  } & Struct;2217  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2218}22192220/** @name XcmV0OriginKind */2221export interface XcmV0OriginKind extends Enum {2222  readonly isNative: boolean;2223  readonly isSovereignAccount: boolean;2224  readonly isSuperuser: boolean;2225  readonly isXcm: boolean;2226  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2227}22282229/** @name XcmV0Response */2230export interface XcmV0Response extends Enum {2231  readonly isAssets: boolean;2232  readonly asAssets: Vec<XcmV0MultiAsset>;2233  readonly type: 'Assets';2234}22352236/** @name XcmV0Xcm */2237export interface XcmV0Xcm extends Enum {2238  readonly isWithdrawAsset: boolean;2239  readonly asWithdrawAsset: {2240    readonly assets: Vec<XcmV0MultiAsset>;2241    readonly effects: Vec<XcmV0Order>;2242  } & Struct;2243  readonly isReserveAssetDeposit: boolean;2244  readonly asReserveAssetDeposit: {2245    readonly assets: Vec<XcmV0MultiAsset>;2246    readonly effects: Vec<XcmV0Order>;2247  } & Struct;2248  readonly isTeleportAsset: boolean;2249  readonly asTeleportAsset: {2250    readonly assets: Vec<XcmV0MultiAsset>;2251    readonly effects: Vec<XcmV0Order>;2252  } & Struct;2253  readonly isQueryResponse: boolean;2254  readonly asQueryResponse: {2255    readonly queryId: Compact<u64>;2256    readonly response: XcmV0Response;2257  } & Struct;2258  readonly isTransferAsset: boolean;2259  readonly asTransferAsset: {2260    readonly assets: Vec<XcmV0MultiAsset>;2261    readonly dest: XcmV0MultiLocation;2262  } & Struct;2263  readonly isTransferReserveAsset: boolean;2264  readonly asTransferReserveAsset: {2265    readonly assets: Vec<XcmV0MultiAsset>;2266    readonly dest: XcmV0MultiLocation;2267    readonly effects: Vec<XcmV0Order>;2268  } & Struct;2269  readonly isTransact: boolean;2270  readonly asTransact: {2271    readonly originType: XcmV0OriginKind;2272    readonly requireWeightAtMost: u64;2273    readonly call: XcmDoubleEncoded;2274  } & Struct;2275  readonly isHrmpNewChannelOpenRequest: boolean;2276  readonly asHrmpNewChannelOpenRequest: {2277    readonly sender: Compact<u32>;2278    readonly maxMessageSize: Compact<u32>;2279    readonly maxCapacity: Compact<u32>;2280  } & Struct;2281  readonly isHrmpChannelAccepted: boolean;2282  readonly asHrmpChannelAccepted: {2283    readonly recipient: Compact<u32>;2284  } & Struct;2285  readonly isHrmpChannelClosing: boolean;2286  readonly asHrmpChannelClosing: {2287    readonly initiator: Compact<u32>;2288    readonly sender: Compact<u32>;2289    readonly recipient: Compact<u32>;2290  } & Struct;2291  readonly isRelayedFrom: boolean;2292  readonly asRelayedFrom: {2293    readonly who: XcmV0MultiLocation;2294    readonly message: XcmV0Xcm;2295  } & Struct;2296  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2297}22982299/** @name XcmV1Junction */2300export interface XcmV1Junction extends Enum {2301  readonly isParachain: boolean;2302  readonly asParachain: Compact<u32>;2303  readonly isAccountId32: boolean;2304  readonly asAccountId32: {2305    readonly network: XcmV0JunctionNetworkId;2306    readonly id: U8aFixed;2307  } & Struct;2308  readonly isAccountIndex64: boolean;2309  readonly asAccountIndex64: {2310    readonly network: XcmV0JunctionNetworkId;2311    readonly index: Compact<u64>;2312  } & Struct;2313  readonly isAccountKey20: boolean;2314  readonly asAccountKey20: {2315    readonly network: XcmV0JunctionNetworkId;2316    readonly key: U8aFixed;2317  } & Struct;2318  readonly isPalletInstance: boolean;2319  readonly asPalletInstance: u8;2320  readonly isGeneralIndex: boolean;2321  readonly asGeneralIndex: Compact<u128>;2322  readonly isGeneralKey: boolean;2323  readonly asGeneralKey: Bytes;2324  readonly isOnlyChild: boolean;2325  readonly isPlurality: boolean;2326  readonly asPlurality: {2327    readonly id: XcmV0JunctionBodyId;2328    readonly part: XcmV0JunctionBodyPart;2329  } & Struct;2330  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2331}23322333/** @name XcmV1MultiAsset */2334export interface XcmV1MultiAsset extends Struct {2335  readonly id: XcmV1MultiassetAssetId;2336  readonly fun: XcmV1MultiassetFungibility;2337}23382339/** @name XcmV1MultiassetAssetId */2340export interface XcmV1MultiassetAssetId extends Enum {2341  readonly isConcrete: boolean;2342  readonly asConcrete: XcmV1MultiLocation;2343  readonly isAbstract: boolean;2344  readonly asAbstract: Bytes;2345  readonly type: 'Concrete' | 'Abstract';2346}23472348/** @name XcmV1MultiassetAssetInstance */2349export interface XcmV1MultiassetAssetInstance extends Enum {2350  readonly isUndefined: boolean;2351  readonly isIndex: boolean;2352  readonly asIndex: Compact<u128>;2353  readonly isArray4: boolean;2354  readonly asArray4: U8aFixed;2355  readonly isArray8: boolean;2356  readonly asArray8: U8aFixed;2357  readonly isArray16: boolean;2358  readonly asArray16: U8aFixed;2359  readonly isArray32: boolean;2360  readonly asArray32: U8aFixed;2361  readonly isBlob: boolean;2362  readonly asBlob: Bytes;2363  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2364}23652366/** @name XcmV1MultiassetFungibility */2367export interface XcmV1MultiassetFungibility extends Enum {2368  readonly isFungible: boolean;2369  readonly asFungible: Compact<u128>;2370  readonly isNonFungible: boolean;2371  readonly asNonFungible: XcmV1MultiassetAssetInstance;2372  readonly type: 'Fungible' | 'NonFungible';2373}23742375/** @name XcmV1MultiassetMultiAssetFilter */2376export interface XcmV1MultiassetMultiAssetFilter extends Enum {2377  readonly isDefinite: boolean;2378  readonly asDefinite: XcmV1MultiassetMultiAssets;2379  readonly isWild: boolean;2380  readonly asWild: XcmV1MultiassetWildMultiAsset;2381  readonly type: 'Definite' | 'Wild';2382}23832384/** @name XcmV1MultiassetMultiAssets */2385export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}23862387/** @name XcmV1MultiassetWildFungibility */2388export interface XcmV1MultiassetWildFungibility extends Enum {2389  readonly isFungible: boolean;2390  readonly isNonFungible: boolean;2391  readonly type: 'Fungible' | 'NonFungible';2392}23932394/** @name XcmV1MultiassetWildMultiAsset */2395export interface XcmV1MultiassetWildMultiAsset extends Enum {2396  readonly isAll: boolean;2397  readonly isAllOf: boolean;2398  readonly asAllOf: {2399    readonly id: XcmV1MultiassetAssetId;2400    readonly fun: XcmV1MultiassetWildFungibility;2401  } & Struct;2402  readonly type: 'All' | 'AllOf';2403}24042405/** @name XcmV1MultiLocation */2406export interface XcmV1MultiLocation extends Struct {2407  readonly parents: u8;2408  readonly interior: XcmV1MultilocationJunctions;2409}24102411/** @name XcmV1MultilocationJunctions */2412export interface XcmV1MultilocationJunctions extends Enum {2413  readonly isHere: boolean;2414  readonly isX1: boolean;2415  readonly asX1: XcmV1Junction;2416  readonly isX2: boolean;2417  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2418  readonly isX3: boolean;2419  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2420  readonly isX4: boolean;2421  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2422  readonly isX5: boolean;2423  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2424  readonly isX6: boolean;2425  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2426  readonly isX7: boolean;2427  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2428  readonly isX8: boolean;2429  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2430  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2431}24322433/** @name XcmV1Order */2434export interface XcmV1Order extends Enum {2435  readonly isNoop: boolean;2436  readonly isDepositAsset: boolean;2437  readonly asDepositAsset: {2438    readonly assets: XcmV1MultiassetMultiAssetFilter;2439    readonly maxAssets: u32;2440    readonly beneficiary: XcmV1MultiLocation;2441  } & Struct;2442  readonly isDepositReserveAsset: boolean;2443  readonly asDepositReserveAsset: {2444    readonly assets: XcmV1MultiassetMultiAssetFilter;2445    readonly maxAssets: u32;2446    readonly dest: XcmV1MultiLocation;2447    readonly effects: Vec<XcmV1Order>;2448  } & Struct;2449  readonly isExchangeAsset: boolean;2450  readonly asExchangeAsset: {2451    readonly give: XcmV1MultiassetMultiAssetFilter;2452    readonly receive: XcmV1MultiassetMultiAssets;2453  } & Struct;2454  readonly isInitiateReserveWithdraw: boolean;2455  readonly asInitiateReserveWithdraw: {2456    readonly assets: XcmV1MultiassetMultiAssetFilter;2457    readonly reserve: XcmV1MultiLocation;2458    readonly effects: Vec<XcmV1Order>;2459  } & Struct;2460  readonly isInitiateTeleport: boolean;2461  readonly asInitiateTeleport: {2462    readonly assets: XcmV1MultiassetMultiAssetFilter;2463    readonly dest: XcmV1MultiLocation;2464    readonly effects: Vec<XcmV1Order>;2465  } & Struct;2466  readonly isQueryHolding: boolean;2467  readonly asQueryHolding: {2468    readonly queryId: Compact<u64>;2469    readonly dest: XcmV1MultiLocation;2470    readonly assets: XcmV1MultiassetMultiAssetFilter;2471  } & Struct;2472  readonly isBuyExecution: boolean;2473  readonly asBuyExecution: {2474    readonly fees: XcmV1MultiAsset;2475    readonly weight: u64;2476    readonly debt: u64;2477    readonly haltOnError: bool;2478    readonly instructions: Vec<XcmV1Xcm>;2479  } & Struct;2480  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2481}24822483/** @name XcmV1Response */2484export interface XcmV1Response extends Enum {2485  readonly isAssets: boolean;2486  readonly asAssets: XcmV1MultiassetMultiAssets;2487  readonly isVersion: boolean;2488  readonly asVersion: u32;2489  readonly type: 'Assets' | 'Version';2490}24912492/** @name XcmV1Xcm */2493export interface XcmV1Xcm extends Enum {2494  readonly isWithdrawAsset: boolean;2495  readonly asWithdrawAsset: {2496    readonly assets: XcmV1MultiassetMultiAssets;2497    readonly effects: Vec<XcmV1Order>;2498  } & Struct;2499  readonly isReserveAssetDeposited: boolean;2500  readonly asReserveAssetDeposited: {2501    readonly assets: XcmV1MultiassetMultiAssets;2502    readonly effects: Vec<XcmV1Order>;2503  } & Struct;2504  readonly isReceiveTeleportedAsset: boolean;2505  readonly asReceiveTeleportedAsset: {2506    readonly assets: XcmV1MultiassetMultiAssets;2507    readonly effects: Vec<XcmV1Order>;2508  } & Struct;2509  readonly isQueryResponse: boolean;2510  readonly asQueryResponse: {2511    readonly queryId: Compact<u64>;2512    readonly response: XcmV1Response;2513  } & Struct;2514  readonly isTransferAsset: boolean;2515  readonly asTransferAsset: {2516    readonly assets: XcmV1MultiassetMultiAssets;2517    readonly beneficiary: XcmV1MultiLocation;2518  } & Struct;2519  readonly isTransferReserveAsset: boolean;2520  readonly asTransferReserveAsset: {2521    readonly assets: XcmV1MultiassetMultiAssets;2522    readonly dest: XcmV1MultiLocation;2523    readonly effects: Vec<XcmV1Order>;2524  } & Struct;2525  readonly isTransact: boolean;2526  readonly asTransact: {2527    readonly originType: XcmV0OriginKind;2528    readonly requireWeightAtMost: u64;2529    readonly call: XcmDoubleEncoded;2530  } & Struct;2531  readonly isHrmpNewChannelOpenRequest: boolean;2532  readonly asHrmpNewChannelOpenRequest: {2533    readonly sender: Compact<u32>;2534    readonly maxMessageSize: Compact<u32>;2535    readonly maxCapacity: Compact<u32>;2536  } & Struct;2537  readonly isHrmpChannelAccepted: boolean;2538  readonly asHrmpChannelAccepted: {2539    readonly recipient: Compact<u32>;2540  } & Struct;2541  readonly isHrmpChannelClosing: boolean;2542  readonly asHrmpChannelClosing: {2543    readonly initiator: Compact<u32>;2544    readonly sender: Compact<u32>;2545    readonly recipient: Compact<u32>;2546  } & Struct;2547  readonly isRelayedFrom: boolean;2548  readonly asRelayedFrom: {2549    readonly who: XcmV1MultilocationJunctions;2550    readonly message: XcmV1Xcm;2551  } & Struct;2552  readonly isSubscribeVersion: boolean;2553  readonly asSubscribeVersion: {2554    readonly queryId: Compact<u64>;2555    readonly maxResponseWeight: Compact<u64>;2556  } & Struct;2557  readonly isUnsubscribeVersion: boolean;2558  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2559}25602561/** @name XcmV2Instruction */2562export interface XcmV2Instruction extends Enum {2563  readonly isWithdrawAsset: boolean;2564  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2565  readonly isReserveAssetDeposited: boolean;2566  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2567  readonly isReceiveTeleportedAsset: boolean;2568  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2569  readonly isQueryResponse: boolean;2570  readonly asQueryResponse: {2571    readonly queryId: Compact<u64>;2572    readonly response: XcmV2Response;2573    readonly maxWeight: Compact<u64>;2574  } & Struct;2575  readonly isTransferAsset: boolean;2576  readonly asTransferAsset: {2577    readonly assets: XcmV1MultiassetMultiAssets;2578    readonly beneficiary: XcmV1MultiLocation;2579  } & Struct;2580  readonly isTransferReserveAsset: boolean;2581  readonly asTransferReserveAsset: {2582    readonly assets: XcmV1MultiassetMultiAssets;2583    readonly dest: XcmV1MultiLocation;2584    readonly xcm: XcmV2Xcm;2585  } & Struct;2586  readonly isTransact: boolean;2587  readonly asTransact: {2588    readonly originType: XcmV0OriginKind;2589    readonly requireWeightAtMost: Compact<u64>;2590    readonly call: XcmDoubleEncoded;2591  } & Struct;2592  readonly isHrmpNewChannelOpenRequest: boolean;2593  readonly asHrmpNewChannelOpenRequest: {2594    readonly sender: Compact<u32>;2595    readonly maxMessageSize: Compact<u32>;2596    readonly maxCapacity: Compact<u32>;2597  } & Struct;2598  readonly isHrmpChannelAccepted: boolean;2599  readonly asHrmpChannelAccepted: {2600    readonly recipient: Compact<u32>;2601  } & Struct;2602  readonly isHrmpChannelClosing: boolean;2603  readonly asHrmpChannelClosing: {2604    readonly initiator: Compact<u32>;2605    readonly sender: Compact<u32>;2606    readonly recipient: Compact<u32>;2607  } & Struct;2608  readonly isClearOrigin: boolean;2609  readonly isDescendOrigin: boolean;2610  readonly asDescendOrigin: XcmV1MultilocationJunctions;2611  readonly isReportError: boolean;2612  readonly asReportError: {2613    readonly queryId: Compact<u64>;2614    readonly dest: XcmV1MultiLocation;2615    readonly maxResponseWeight: Compact<u64>;2616  } & Struct;2617  readonly isDepositAsset: boolean;2618  readonly asDepositAsset: {2619    readonly assets: XcmV1MultiassetMultiAssetFilter;2620    readonly maxAssets: Compact<u32>;2621    readonly beneficiary: XcmV1MultiLocation;2622  } & Struct;2623  readonly isDepositReserveAsset: boolean;2624  readonly asDepositReserveAsset: {2625    readonly assets: XcmV1MultiassetMultiAssetFilter;2626    readonly maxAssets: Compact<u32>;2627    readonly dest: XcmV1MultiLocation;2628    readonly xcm: XcmV2Xcm;2629  } & Struct;2630  readonly isExchangeAsset: boolean;2631  readonly asExchangeAsset: {2632    readonly give: XcmV1MultiassetMultiAssetFilter;2633    readonly receive: XcmV1MultiassetMultiAssets;2634  } & Struct;2635  readonly isInitiateReserveWithdraw: boolean;2636  readonly asInitiateReserveWithdraw: {2637    readonly assets: XcmV1MultiassetMultiAssetFilter;2638    readonly reserve: XcmV1MultiLocation;2639    readonly xcm: XcmV2Xcm;2640  } & Struct;2641  readonly isInitiateTeleport: boolean;2642  readonly asInitiateTeleport: {2643    readonly assets: XcmV1MultiassetMultiAssetFilter;2644    readonly dest: XcmV1MultiLocation;2645    readonly xcm: XcmV2Xcm;2646  } & Struct;2647  readonly isQueryHolding: boolean;2648  readonly asQueryHolding: {2649    readonly queryId: Compact<u64>;2650    readonly dest: XcmV1MultiLocation;2651    readonly assets: XcmV1MultiassetMultiAssetFilter;2652    readonly maxResponseWeight: Compact<u64>;2653  } & Struct;2654  readonly isBuyExecution: boolean;2655  readonly asBuyExecution: {2656    readonly fees: XcmV1MultiAsset;2657    readonly weightLimit: XcmV2WeightLimit;2658  } & Struct;2659  readonly isRefundSurplus: boolean;2660  readonly isSetErrorHandler: boolean;2661  readonly asSetErrorHandler: XcmV2Xcm;2662  readonly isSetAppendix: boolean;2663  readonly asSetAppendix: XcmV2Xcm;2664  readonly isClearError: boolean;2665  readonly isClaimAsset: boolean;2666  readonly asClaimAsset: {2667    readonly assets: XcmV1MultiassetMultiAssets;2668    readonly ticket: XcmV1MultiLocation;2669  } & Struct;2670  readonly isTrap: boolean;2671  readonly asTrap: Compact<u64>;2672  readonly isSubscribeVersion: boolean;2673  readonly asSubscribeVersion: {2674    readonly queryId: Compact<u64>;2675    readonly maxResponseWeight: Compact<u64>;2676  } & Struct;2677  readonly isUnsubscribeVersion: boolean;2678  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';2679}26802681/** @name XcmV2Response */2682export interface XcmV2Response extends Enum {2683  readonly isNull: boolean;2684  readonly isAssets: boolean;2685  readonly asAssets: XcmV1MultiassetMultiAssets;2686  readonly isExecutionResult: boolean;2687  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2688  readonly isVersion: boolean;2689  readonly asVersion: u32;2690  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2691}26922693/** @name XcmV2TraitsError */2694export interface XcmV2TraitsError extends Enum {2695  readonly isOverflow: boolean;2696  readonly isUnimplemented: boolean;2697  readonly isUntrustedReserveLocation: boolean;2698  readonly isUntrustedTeleportLocation: boolean;2699  readonly isMultiLocationFull: boolean;2700  readonly isMultiLocationNotInvertible: boolean;2701  readonly isBadOrigin: boolean;2702  readonly isInvalidLocation: boolean;2703  readonly isAssetNotFound: boolean;2704  readonly isFailedToTransactAsset: boolean;2705  readonly isNotWithdrawable: boolean;2706  readonly isLocationCannotHold: boolean;2707  readonly isExceedsMaxMessageSize: boolean;2708  readonly isDestinationUnsupported: boolean;2709  readonly isTransport: boolean;2710  readonly isUnroutable: boolean;2711  readonly isUnknownClaim: boolean;2712  readonly isFailedToDecode: boolean;2713  readonly isMaxWeightInvalid: boolean;2714  readonly isNotHoldingFees: boolean;2715  readonly isTooExpensive: boolean;2716  readonly isTrap: boolean;2717  readonly asTrap: u64;2718  readonly isUnhandledXcmVersion: boolean;2719  readonly isWeightLimitReached: boolean;2720  readonly asWeightLimitReached: u64;2721  readonly isBarrier: boolean;2722  readonly isWeightNotComputable: boolean;2723  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';2724}27252726/** @name XcmV2TraitsOutcome */2727export interface XcmV2TraitsOutcome extends Enum {2728  readonly isComplete: boolean;2729  readonly asComplete: u64;2730  readonly isIncomplete: boolean;2731  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;2732  readonly isError: boolean;2733  readonly asError: XcmV2TraitsError;2734  readonly type: 'Complete' | 'Incomplete' | 'Error';2735}27362737/** @name XcmV2WeightLimit */2738export interface XcmV2WeightLimit extends Enum {2739  readonly isUnlimited: boolean;2740  readonly isLimited: boolean;2741  readonly asLimited: Compact<u64>;2742  readonly type: 'Unlimited' | 'Limited';2743}27442745/** @name XcmV2Xcm */2746export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}27472748/** @name XcmVersionedMultiAssets */2749export interface XcmVersionedMultiAssets extends Enum {2750  readonly isV0: boolean;2751  readonly asV0: Vec<XcmV0MultiAsset>;2752  readonly isV1: boolean;2753  readonly asV1: XcmV1MultiassetMultiAssets;2754  readonly type: 'V0' | 'V1';2755}27562757/** @name XcmVersionedMultiLocation */2758export interface XcmVersionedMultiLocation extends Enum {2759  readonly isV0: boolean;2760  readonly asV0: XcmV0MultiLocation;2761  readonly isV1: boolean;2762  readonly asV1: XcmV1MultiLocation;2763  readonly type: 'V0' | 'V1';2764}27652766/** @name XcmVersionedXcm */2767export interface XcmVersionedXcm extends Enum {2768  readonly isV0: boolean;2769  readonly asV0: XcmV0Xcm;2770  readonly isV1: boolean;2771  readonly asV1: XcmV1Xcm;2772  readonly isV2: boolean;2773  readonly asV2: XcmV2Xcm;2774  readonly type: 'V0' | 'V1' | 'V2';2775}27762777export type PHANTOM_UNIQUE = 'unique';
after · tests/src/interfaces/unique/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: u64;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: U8aFixed;35  readonly isUnsupportedVersion: boolean;36  readonly asUnsupportedVersion: U8aFixed;37  readonly isExecutedDownward: boolean;38  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;39  readonly isWeightExhausted: boolean;40  readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;41  readonly isOverweightEnqueued: boolean;42  readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;43  readonly isOverweightServiced: boolean;44  readonly asOverweightServiced: ITuple<[u64, u64]>;45  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';46}4748/** @name CumulusPalletDmpQueuePageIndexData */49export interface CumulusPalletDmpQueuePageIndexData extends Struct {50  readonly beginUsed: u32;51  readonly endUsed: u32;52  readonly overweightCount: u64;53}5455/** @name CumulusPalletParachainSystemCall */56export interface CumulusPalletParachainSystemCall extends Enum {57  readonly isSetValidationData: boolean;58  readonly asSetValidationData: {59    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;60  } & Struct;61  readonly isSudoSendUpwardMessage: boolean;62  readonly asSudoSendUpwardMessage: {63    readonly message: Bytes;64  } & Struct;65  readonly isAuthorizeUpgrade: boolean;66  readonly asAuthorizeUpgrade: {67    readonly codeHash: H256;68  } & Struct;69  readonly isEnactAuthorizedUpgrade: boolean;70  readonly asEnactAuthorizedUpgrade: {71    readonly code: Bytes;72  } & Struct;73  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';74}7576/** @name CumulusPalletParachainSystemError */77export interface CumulusPalletParachainSystemError extends Enum {78  readonly isOverlappingUpgrades: boolean;79  readonly isProhibitedByPolkadot: boolean;80  readonly isTooBig: boolean;81  readonly isValidationDataNotAvailable: boolean;82  readonly isHostConfigurationNotAvailable: boolean;83  readonly isNotScheduled: boolean;84  readonly isNothingAuthorized: boolean;85  readonly isUnauthorized: boolean;86  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';87}8889/** @name CumulusPalletParachainSystemEvent */90export interface CumulusPalletParachainSystemEvent extends Enum {91  readonly isValidationFunctionStored: boolean;92  readonly isValidationFunctionApplied: boolean;93  readonly asValidationFunctionApplied: u32;94  readonly isValidationFunctionDiscarded: boolean;95  readonly isUpgradeAuthorized: boolean;96  readonly asUpgradeAuthorized: H256;97  readonly isDownwardMessagesReceived: boolean;98  readonly asDownwardMessagesReceived: u32;99  readonly isDownwardMessagesProcessed: boolean;100  readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;101  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';102}103104/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */105export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {106  readonly dmqMqcHead: H256;107  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;108  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;109  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;110}111112/** @name CumulusPalletXcmCall */113export interface CumulusPalletXcmCall extends Null {}114115/** @name CumulusPalletXcmError */116export interface CumulusPalletXcmError extends Null {}117118/** @name CumulusPalletXcmEvent */119export interface CumulusPalletXcmEvent extends Enum {120  readonly isInvalidFormat: boolean;121  readonly asInvalidFormat: U8aFixed;122  readonly isUnsupportedVersion: boolean;123  readonly asUnsupportedVersion: U8aFixed;124  readonly isExecutedDownward: boolean;125  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;126  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';127}128129/** @name CumulusPalletXcmpQueueCall */130export interface CumulusPalletXcmpQueueCall extends Enum {131  readonly isServiceOverweight: boolean;132  readonly asServiceOverweight: {133    readonly index: u64;134    readonly weightLimit: u64;135  } & Struct;136  readonly isSuspendXcmExecution: boolean;137  readonly isResumeXcmExecution: boolean;138  readonly isUpdateSuspendThreshold: boolean;139  readonly asUpdateSuspendThreshold: {140    readonly new_: u32;141  } & Struct;142  readonly isUpdateDropThreshold: boolean;143  readonly asUpdateDropThreshold: {144    readonly new_: u32;145  } & Struct;146  readonly isUpdateResumeThreshold: boolean;147  readonly asUpdateResumeThreshold: {148    readonly new_: u32;149  } & Struct;150  readonly isUpdateThresholdWeight: boolean;151  readonly asUpdateThresholdWeight: {152    readonly new_: u64;153  } & Struct;154  readonly isUpdateWeightRestrictDecay: boolean;155  readonly asUpdateWeightRestrictDecay: {156    readonly new_: u64;157  } & Struct;158  readonly isUpdateXcmpMaxIndividualWeight: boolean;159  readonly asUpdateXcmpMaxIndividualWeight: {160    readonly new_: u64;161  } & Struct;162  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';163}164165/** @name CumulusPalletXcmpQueueError */166export interface CumulusPalletXcmpQueueError extends Enum {167  readonly isFailedToSend: boolean;168  readonly isBadXcmOrigin: boolean;169  readonly isBadXcm: boolean;170  readonly isBadOverweightIndex: boolean;171  readonly isWeightOverLimit: boolean;172  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';173}174175/** @name CumulusPalletXcmpQueueEvent */176export interface CumulusPalletXcmpQueueEvent extends Enum {177  readonly isSuccess: boolean;178  readonly asSuccess: Option<H256>;179  readonly isFail: boolean;180  readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;181  readonly isBadVersion: boolean;182  readonly asBadVersion: Option<H256>;183  readonly isBadFormat: boolean;184  readonly asBadFormat: Option<H256>;185  readonly isUpwardMessageSent: boolean;186  readonly asUpwardMessageSent: Option<H256>;187  readonly isXcmpMessageSent: boolean;188  readonly asXcmpMessageSent: Option<H256>;189  readonly isOverweightEnqueued: boolean;190  readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;191  readonly isOverweightServiced: boolean;192  readonly asOverweightServiced: ITuple<[u64, u64]>;193  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';194}195196/** @name CumulusPalletXcmpQueueInboundChannelDetails */197export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {198  readonly sender: u32;199  readonly state: CumulusPalletXcmpQueueInboundState;200  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;201}202203/** @name CumulusPalletXcmpQueueInboundState */204export interface CumulusPalletXcmpQueueInboundState extends Enum {205  readonly isOk: boolean;206  readonly isSuspended: boolean;207  readonly type: 'Ok' | 'Suspended';208}209210/** @name CumulusPalletXcmpQueueOutboundChannelDetails */211export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {212  readonly recipient: u32;213  readonly state: CumulusPalletXcmpQueueOutboundState;214  readonly signalsExist: bool;215  readonly firstIndex: u16;216  readonly lastIndex: u16;217}218219/** @name CumulusPalletXcmpQueueOutboundState */220export interface CumulusPalletXcmpQueueOutboundState extends Enum {221  readonly isOk: boolean;222  readonly isSuspended: boolean;223  readonly type: 'Ok' | 'Suspended';224}225226/** @name CumulusPalletXcmpQueueQueueConfigData */227export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {228  readonly suspendThreshold: u32;229  readonly dropThreshold: u32;230  readonly resumeThreshold: u32;231  readonly thresholdWeight: u64;232  readonly weightRestrictDecay: u64;233  readonly xcmpMaxIndividualWeight: u64;234}235236/** @name CumulusPrimitivesParachainInherentParachainInherentData */237export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {238  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;239  readonly relayChainState: SpTrieStorageProof;240  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;241  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;242}243244/** @name EthbloomBloom */245export interface EthbloomBloom extends U8aFixed {}246247/** @name EthereumBlock */248export interface EthereumBlock extends Struct {249  readonly header: EthereumHeader;250  readonly transactions: Vec<EthereumTransactionTransactionV2>;251  readonly ommers: Vec<EthereumHeader>;252}253254/** @name EthereumHeader */255export interface EthereumHeader extends Struct {256  readonly parentHash: H256;257  readonly ommersHash: H256;258  readonly beneficiary: H160;259  readonly stateRoot: H256;260  readonly transactionsRoot: H256;261  readonly receiptsRoot: H256;262  readonly logsBloom: EthbloomBloom;263  readonly difficulty: U256;264  readonly number: U256;265  readonly gasLimit: U256;266  readonly gasUsed: U256;267  readonly timestamp: u64;268  readonly extraData: Bytes;269  readonly mixHash: H256;270  readonly nonce: EthereumTypesHashH64;271}272273/** @name EthereumLog */274export interface EthereumLog extends Struct {275  readonly address: H160;276  readonly topics: Vec<H256>;277  readonly data: Bytes;278}279280/** @name EthereumReceiptEip658ReceiptData */281export interface EthereumReceiptEip658ReceiptData extends Struct {282  readonly statusCode: u8;283  readonly usedGas: U256;284  readonly logsBloom: EthbloomBloom;285  readonly logs: Vec<EthereumLog>;286}287288/** @name EthereumReceiptReceiptV3 */289export interface EthereumReceiptReceiptV3 extends Enum {290  readonly isLegacy: boolean;291  readonly asLegacy: EthereumReceiptEip658ReceiptData;292  readonly isEip2930: boolean;293  readonly asEip2930: EthereumReceiptEip658ReceiptData;294  readonly isEip1559: boolean;295  readonly asEip1559: EthereumReceiptEip658ReceiptData;296  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';297}298299/** @name EthereumTransactionAccessListItem */300export interface EthereumTransactionAccessListItem extends Struct {301  readonly address: H160;302  readonly storageKeys: Vec<H256>;303}304305/** @name EthereumTransactionEip1559Transaction */306export interface EthereumTransactionEip1559Transaction extends Struct {307  readonly chainId: u64;308  readonly nonce: U256;309  readonly maxPriorityFeePerGas: U256;310  readonly maxFeePerGas: U256;311  readonly gasLimit: U256;312  readonly action: EthereumTransactionTransactionAction;313  readonly value: U256;314  readonly input: Bytes;315  readonly accessList: Vec<EthereumTransactionAccessListItem>;316  readonly oddYParity: bool;317  readonly r: H256;318  readonly s: H256;319}320321/** @name EthereumTransactionEip2930Transaction */322export interface EthereumTransactionEip2930Transaction extends Struct {323  readonly chainId: u64;324  readonly nonce: U256;325  readonly gasPrice: U256;326  readonly gasLimit: U256;327  readonly action: EthereumTransactionTransactionAction;328  readonly value: U256;329  readonly input: Bytes;330  readonly accessList: Vec<EthereumTransactionAccessListItem>;331  readonly oddYParity: bool;332  readonly r: H256;333  readonly s: H256;334}335336/** @name EthereumTransactionLegacyTransaction */337export interface EthereumTransactionLegacyTransaction extends Struct {338  readonly nonce: U256;339  readonly gasPrice: U256;340  readonly gasLimit: U256;341  readonly action: EthereumTransactionTransactionAction;342  readonly value: U256;343  readonly input: Bytes;344  readonly signature: EthereumTransactionTransactionSignature;345}346347/** @name EthereumTransactionTransactionAction */348export interface EthereumTransactionTransactionAction extends Enum {349  readonly isCall: boolean;350  readonly asCall: H160;351  readonly isCreate: boolean;352  readonly type: 'Call' | 'Create';353}354355/** @name EthereumTransactionTransactionSignature */356export interface EthereumTransactionTransactionSignature extends Struct {357  readonly v: u64;358  readonly r: H256;359  readonly s: H256;360}361362/** @name EthereumTransactionTransactionV2 */363export interface EthereumTransactionTransactionV2 extends Enum {364  readonly isLegacy: boolean;365  readonly asLegacy: EthereumTransactionLegacyTransaction;366  readonly isEip2930: boolean;367  readonly asEip2930: EthereumTransactionEip2930Transaction;368  readonly isEip1559: boolean;369  readonly asEip1559: EthereumTransactionEip1559Transaction;370  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';371}372373/** @name EthereumTypesHashH64 */374export interface EthereumTypesHashH64 extends U8aFixed {}375376/** @name EvmCoreErrorExitError */377export interface EvmCoreErrorExitError extends Enum {378  readonly isStackUnderflow: boolean;379  readonly isStackOverflow: boolean;380  readonly isInvalidJump: boolean;381  readonly isInvalidRange: boolean;382  readonly isDesignatedInvalid: boolean;383  readonly isCallTooDeep: boolean;384  readonly isCreateCollision: boolean;385  readonly isCreateContractLimit: boolean;386  readonly isOutOfOffset: boolean;387  readonly isOutOfGas: boolean;388  readonly isOutOfFund: boolean;389  readonly isPcUnderflow: boolean;390  readonly isCreateEmpty: boolean;391  readonly isOther: boolean;392  readonly asOther: Text;393  readonly isInvalidCode: boolean;394  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';395}396397/** @name EvmCoreErrorExitFatal */398export interface EvmCoreErrorExitFatal extends Enum {399  readonly isNotSupported: boolean;400  readonly isUnhandledInterrupt: boolean;401  readonly isCallErrorAsFatal: boolean;402  readonly asCallErrorAsFatal: EvmCoreErrorExitError;403  readonly isOther: boolean;404  readonly asOther: Text;405  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';406}407408/** @name EvmCoreErrorExitReason */409export interface EvmCoreErrorExitReason extends Enum {410  readonly isSucceed: boolean;411  readonly asSucceed: EvmCoreErrorExitSucceed;412  readonly isError: boolean;413  readonly asError: EvmCoreErrorExitError;414  readonly isRevert: boolean;415  readonly asRevert: EvmCoreErrorExitRevert;416  readonly isFatal: boolean;417  readonly asFatal: EvmCoreErrorExitFatal;418  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';419}420421/** @name EvmCoreErrorExitRevert */422export interface EvmCoreErrorExitRevert extends Enum {423  readonly isReverted: boolean;424  readonly type: 'Reverted';425}426427/** @name EvmCoreErrorExitSucceed */428export interface EvmCoreErrorExitSucceed extends Enum {429  readonly isStopped: boolean;430  readonly isReturned: boolean;431  readonly isSuicided: boolean;432  readonly type: 'Stopped' | 'Returned' | 'Suicided';433}434435/** @name FpRpcTransactionStatus */436export interface FpRpcTransactionStatus extends Struct {437  readonly transactionHash: H256;438  readonly transactionIndex: u32;439  readonly from: H160;440  readonly to: Option<H160>;441  readonly contractAddress: Option<H160>;442  readonly logs: Vec<EthereumLog>;443  readonly logsBloom: EthbloomBloom;444}445446/** @name FrameSupportPalletId */447export interface FrameSupportPalletId extends U8aFixed {}448449/** @name FrameSupportTokensMiscBalanceStatus */450export interface FrameSupportTokensMiscBalanceStatus extends Enum {451  readonly isFree: boolean;452  readonly isReserved: boolean;453  readonly type: 'Free' | 'Reserved';454}455456/** @name FrameSupportWeightsDispatchClass */457export interface FrameSupportWeightsDispatchClass extends Enum {458  readonly isNormal: boolean;459  readonly isOperational: boolean;460  readonly isMandatory: boolean;461  readonly type: 'Normal' | 'Operational' | 'Mandatory';462}463464/** @name FrameSupportWeightsDispatchInfo */465export interface FrameSupportWeightsDispatchInfo extends Struct {466  readonly weight: u64;467  readonly class: FrameSupportWeightsDispatchClass;468  readonly paysFee: FrameSupportWeightsPays;469}470471/** @name FrameSupportWeightsPays */472export interface FrameSupportWeightsPays extends Enum {473  readonly isYes: boolean;474  readonly isNo: boolean;475  readonly type: 'Yes' | 'No';476}477478/** @name FrameSupportWeightsPerDispatchClassU32 */479export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {480  readonly normal: u32;481  readonly operational: u32;482  readonly mandatory: u32;483}484485/** @name FrameSupportWeightsPerDispatchClassU64 */486export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {487  readonly normal: u64;488  readonly operational: u64;489  readonly mandatory: u64;490}491492/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */493export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {494  readonly normal: FrameSystemLimitsWeightsPerClass;495  readonly operational: FrameSystemLimitsWeightsPerClass;496  readonly mandatory: FrameSystemLimitsWeightsPerClass;497}498499/** @name FrameSupportWeightsRuntimeDbWeight */500export interface FrameSupportWeightsRuntimeDbWeight extends Struct {501  readonly read: u64;502  readonly write: u64;503}504505/** @name FrameSupportWeightsWeightToFeeCoefficient */506export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {507  readonly coeffInteger: u128;508  readonly coeffFrac: Perbill;509  readonly negative: bool;510  readonly degree: u8;511}512513/** @name FrameSystemAccountInfo */514export interface FrameSystemAccountInfo extends Struct {515  readonly nonce: u32;516  readonly consumers: u32;517  readonly providers: u32;518  readonly sufficients: u32;519  readonly data: PalletBalancesAccountData;520}521522/** @name FrameSystemCall */523export interface FrameSystemCall extends Enum {524  readonly isFillBlock: boolean;525  readonly asFillBlock: {526    readonly ratio: Perbill;527  } & Struct;528  readonly isRemark: boolean;529  readonly asRemark: {530    readonly remark: Bytes;531  } & Struct;532  readonly isSetHeapPages: boolean;533  readonly asSetHeapPages: {534    readonly pages: u64;535  } & Struct;536  readonly isSetCode: boolean;537  readonly asSetCode: {538    readonly code: Bytes;539  } & Struct;540  readonly isSetCodeWithoutChecks: boolean;541  readonly asSetCodeWithoutChecks: {542    readonly code: Bytes;543  } & Struct;544  readonly isSetStorage: boolean;545  readonly asSetStorage: {546    readonly items: Vec<ITuple<[Bytes, Bytes]>>;547  } & Struct;548  readonly isKillStorage: boolean;549  readonly asKillStorage: {550    readonly keys_: Vec<Bytes>;551  } & Struct;552  readonly isKillPrefix: boolean;553  readonly asKillPrefix: {554    readonly prefix: Bytes;555    readonly subkeys: u32;556  } & Struct;557  readonly isRemarkWithEvent: boolean;558  readonly asRemarkWithEvent: {559    readonly remark: Bytes;560  } & Struct;561  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';562}563564/** @name FrameSystemError */565export interface FrameSystemError extends Enum {566  readonly isInvalidSpecName: boolean;567  readonly isSpecVersionNeedsToIncrease: boolean;568  readonly isFailedToExtractRuntimeVersion: boolean;569  readonly isNonDefaultComposite: boolean;570  readonly isNonZeroRefCount: boolean;571  readonly isCallFiltered: boolean;572  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';573}574575/** @name FrameSystemEvent */576export interface FrameSystemEvent extends Enum {577  readonly isExtrinsicSuccess: boolean;578  readonly asExtrinsicSuccess: {579    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;580  } & Struct;581  readonly isExtrinsicFailed: boolean;582  readonly asExtrinsicFailed: {583    readonly dispatchError: SpRuntimeDispatchError;584    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;585  } & Struct;586  readonly isCodeUpdated: boolean;587  readonly isNewAccount: boolean;588  readonly asNewAccount: {589    readonly account: AccountId32;590  } & Struct;591  readonly isKilledAccount: boolean;592  readonly asKilledAccount: {593    readonly account: AccountId32;594  } & Struct;595  readonly isRemarked: boolean;596  readonly asRemarked: {597    readonly sender: AccountId32;598    readonly hash_: H256;599  } & Struct;600  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';601}602603/** @name FrameSystemEventRecord */604export interface FrameSystemEventRecord extends Struct {605  readonly phase: FrameSystemPhase;606  readonly event: Event;607  readonly topics: Vec<H256>;608}609610/** @name FrameSystemExtensionsCheckGenesis */611export interface FrameSystemExtensionsCheckGenesis extends Null {}612613/** @name FrameSystemExtensionsCheckNonce */614export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}615616/** @name FrameSystemExtensionsCheckSpecVersion */617export interface FrameSystemExtensionsCheckSpecVersion extends Null {}618619/** @name FrameSystemExtensionsCheckWeight */620export interface FrameSystemExtensionsCheckWeight extends Null {}621622/** @name FrameSystemLastRuntimeUpgradeInfo */623export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {624  readonly specVersion: Compact<u32>;625  readonly specName: Text;626}627628/** @name FrameSystemLimitsBlockLength */629export interface FrameSystemLimitsBlockLength extends Struct {630  readonly max: FrameSupportWeightsPerDispatchClassU32;631}632633/** @name FrameSystemLimitsBlockWeights */634export interface FrameSystemLimitsBlockWeights extends Struct {635  readonly baseBlock: u64;636  readonly maxBlock: u64;637  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;638}639640/** @name FrameSystemLimitsWeightsPerClass */641export interface FrameSystemLimitsWeightsPerClass extends Struct {642  readonly baseExtrinsic: u64;643  readonly maxExtrinsic: Option<u64>;644  readonly maxTotal: Option<u64>;645  readonly reserved: Option<u64>;646}647648/** @name FrameSystemPhase */649export interface FrameSystemPhase extends Enum {650  readonly isApplyExtrinsic: boolean;651  readonly asApplyExtrinsic: u32;652  readonly isFinalization: boolean;653  readonly isInitialization: boolean;654  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';655}656657/** @name OpalRuntimeRuntime */658export interface OpalRuntimeRuntime extends Null {}659660/** @name OrmlVestingModuleCall */661export interface OrmlVestingModuleCall extends Enum {662  readonly isClaim: boolean;663  readonly isVestedTransfer: boolean;664  readonly asVestedTransfer: {665    readonly dest: MultiAddress;666    readonly schedule: OrmlVestingVestingSchedule;667  } & Struct;668  readonly isUpdateVestingSchedules: boolean;669  readonly asUpdateVestingSchedules: {670    readonly who: MultiAddress;671    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;672  } & Struct;673  readonly isClaimFor: boolean;674  readonly asClaimFor: {675    readonly dest: MultiAddress;676  } & Struct;677  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';678}679680/** @name OrmlVestingModuleError */681export interface OrmlVestingModuleError extends Enum {682  readonly isZeroVestingPeriod: boolean;683  readonly isZeroVestingPeriodCount: boolean;684  readonly isInsufficientBalanceToLock: boolean;685  readonly isTooManyVestingSchedules: boolean;686  readonly isAmountLow: boolean;687  readonly isMaxVestingSchedulesExceeded: boolean;688  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';689}690691/** @name OrmlVestingModuleEvent */692export interface OrmlVestingModuleEvent extends Enum {693  readonly isVestingScheduleAdded: boolean;694  readonly asVestingScheduleAdded: {695    readonly from: AccountId32;696    readonly to: AccountId32;697    readonly vestingSchedule: OrmlVestingVestingSchedule;698  } & Struct;699  readonly isClaimed: boolean;700  readonly asClaimed: {701    readonly who: AccountId32;702    readonly amount: u128;703  } & Struct;704  readonly isVestingSchedulesUpdated: boolean;705  readonly asVestingSchedulesUpdated: {706    readonly who: AccountId32;707  } & Struct;708  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';709}710711/** @name OrmlVestingVestingSchedule */712export interface OrmlVestingVestingSchedule extends Struct {713  readonly start: u32;714  readonly period: u32;715  readonly periodCount: u32;716  readonly perPeriod: Compact<u128>;717}718719/** @name PalletBalancesAccountData */720export interface PalletBalancesAccountData extends Struct {721  readonly free: u128;722  readonly reserved: u128;723  readonly miscFrozen: u128;724  readonly feeFrozen: u128;725}726727/** @name PalletBalancesBalanceLock */728export interface PalletBalancesBalanceLock extends Struct {729  readonly id: U8aFixed;730  readonly amount: u128;731  readonly reasons: PalletBalancesReasons;732}733734/** @name PalletBalancesCall */735export interface PalletBalancesCall extends Enum {736  readonly isTransfer: boolean;737  readonly asTransfer: {738    readonly dest: MultiAddress;739    readonly value: Compact<u128>;740  } & Struct;741  readonly isSetBalance: boolean;742  readonly asSetBalance: {743    readonly who: MultiAddress;744    readonly newFree: Compact<u128>;745    readonly newReserved: Compact<u128>;746  } & Struct;747  readonly isForceTransfer: boolean;748  readonly asForceTransfer: {749    readonly source: MultiAddress;750    readonly dest: MultiAddress;751    readonly value: Compact<u128>;752  } & Struct;753  readonly isTransferKeepAlive: boolean;754  readonly asTransferKeepAlive: {755    readonly dest: MultiAddress;756    readonly value: Compact<u128>;757  } & Struct;758  readonly isTransferAll: boolean;759  readonly asTransferAll: {760    readonly dest: MultiAddress;761    readonly keepAlive: bool;762  } & Struct;763  readonly isForceUnreserve: boolean;764  readonly asForceUnreserve: {765    readonly who: MultiAddress;766    readonly amount: u128;767  } & Struct;768  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';769}770771/** @name PalletBalancesError */772export interface PalletBalancesError extends Enum {773  readonly isVestingBalance: boolean;774  readonly isLiquidityRestrictions: boolean;775  readonly isInsufficientBalance: boolean;776  readonly isExistentialDeposit: boolean;777  readonly isKeepAlive: boolean;778  readonly isExistingVestingSchedule: boolean;779  readonly isDeadAccount: boolean;780  readonly isTooManyReserves: boolean;781  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';782}783784/** @name PalletBalancesEvent */785export interface PalletBalancesEvent extends Enum {786  readonly isEndowed: boolean;787  readonly asEndowed: {788    readonly account: AccountId32;789    readonly freeBalance: u128;790  } & Struct;791  readonly isDustLost: boolean;792  readonly asDustLost: {793    readonly account: AccountId32;794    readonly amount: u128;795  } & Struct;796  readonly isTransfer: boolean;797  readonly asTransfer: {798    readonly from: AccountId32;799    readonly to: AccountId32;800    readonly amount: u128;801  } & Struct;802  readonly isBalanceSet: boolean;803  readonly asBalanceSet: {804    readonly who: AccountId32;805    readonly free: u128;806    readonly reserved: u128;807  } & Struct;808  readonly isReserved: boolean;809  readonly asReserved: {810    readonly who: AccountId32;811    readonly amount: u128;812  } & Struct;813  readonly isUnreserved: boolean;814  readonly asUnreserved: {815    readonly who: AccountId32;816    readonly amount: u128;817  } & Struct;818  readonly isReserveRepatriated: boolean;819  readonly asReserveRepatriated: {820    readonly from: AccountId32;821    readonly to: AccountId32;822    readonly amount: u128;823    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;824  } & Struct;825  readonly isDeposit: boolean;826  readonly asDeposit: {827    readonly who: AccountId32;828    readonly amount: u128;829  } & Struct;830  readonly isWithdraw: boolean;831  readonly asWithdraw: {832    readonly who: AccountId32;833    readonly amount: u128;834  } & Struct;835  readonly isSlashed: boolean;836  readonly asSlashed: {837    readonly who: AccountId32;838    readonly amount: u128;839  } & Struct;840  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';841}842843/** @name PalletBalancesReasons */844export interface PalletBalancesReasons extends Enum {845  readonly isFee: boolean;846  readonly isMisc: boolean;847  readonly isAll: boolean;848  readonly type: 'Fee' | 'Misc' | 'All';849}850851/** @name PalletBalancesReleases */852export interface PalletBalancesReleases extends Enum {853  readonly isV100: boolean;854  readonly isV200: boolean;855  readonly type: 'V100' | 'V200';856}857858/** @name PalletBalancesReserveData */859export interface PalletBalancesReserveData extends Struct {860  readonly id: U8aFixed;861  readonly amount: u128;862}863864/** @name PalletCommonError */865export interface PalletCommonError extends Enum {866  readonly isCollectionNotFound: boolean;867  readonly isMustBeTokenOwner: boolean;868  readonly isNoPermission: boolean;869  readonly isPublicMintingNotAllowed: boolean;870  readonly isAddressNotInAllowlist: boolean;871  readonly isCollectionNameLimitExceeded: boolean;872  readonly isCollectionDescriptionLimitExceeded: boolean;873  readonly isCollectionTokenPrefixLimitExceeded: boolean;874  readonly isTotalCollectionsLimitExceeded: boolean;875  readonly isCollectionAdminCountExceeded: boolean;876  readonly isCollectionLimitBoundsExceeded: boolean;877  readonly isOwnerPermissionsCantBeReverted: boolean;878  readonly isTransferNotAllowed: boolean;879  readonly isAccountTokenLimitExceeded: boolean;880  readonly isCollectionTokenLimitExceeded: boolean;881  readonly isMetadataFlagFrozen: boolean;882  readonly isTokenNotFound: boolean;883  readonly isTokenValueTooLow: boolean;884  readonly isApprovedValueTooLow: boolean;885  readonly isCantApproveMoreThanOwned: boolean;886  readonly isAddressIsZero: boolean;887  readonly isUnsupportedOperation: boolean;888  readonly isNotSufficientFounds: boolean;889  readonly isNestingIsDisabled: boolean;890  readonly isOnlyOwnerAllowedToNest: boolean;891  readonly isSourceCollectionIsNotAllowedToNest: boolean;892  readonly isCollectionFieldSizeExceeded: boolean;893  readonly isNoSpaceForProperty: boolean;894  readonly isPropertyLimitReached: boolean;895  readonly isPropertyKeyIsTooLong: boolean;896  readonly isInvalidCharacterInPropertyKey: boolean;897  readonly isEmptyPropertyKey: boolean;898  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';899}900901/** @name PalletCommonEvent */902export interface PalletCommonEvent extends Enum {903  readonly isCollectionCreated: boolean;904  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;905  readonly isCollectionDestroyed: boolean;906  readonly asCollectionDestroyed: u32;907  readonly isItemCreated: boolean;908  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;909  readonly isItemDestroyed: boolean;910  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;911  readonly isTransfer: boolean;912  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;913  readonly isApproved: boolean;914  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;915  readonly isCollectionPropertySet: boolean;916  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;917  readonly isCollectionPropertyDeleted: boolean;918  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;919  readonly isTokenPropertySet: boolean;920  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;921  readonly isTokenPropertyDeleted: boolean;922  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;923  readonly isPropertyPermissionSet: boolean;924  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;925  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';926}927928/** @name PalletEthereumCall */929export interface PalletEthereumCall extends Enum {930  readonly isTransact: boolean;931  readonly asTransact: {932    readonly transaction: EthereumTransactionTransactionV2;933  } & Struct;934  readonly type: 'Transact';935}936937/** @name PalletEthereumError */938export interface PalletEthereumError extends Enum {939  readonly isInvalidSignature: boolean;940  readonly isPreLogExists: boolean;941  readonly type: 'InvalidSignature' | 'PreLogExists';942}943944/** @name PalletEthereumEvent */945export interface PalletEthereumEvent extends Enum {946  readonly isExecuted: boolean;947  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;948  readonly type: 'Executed';949}950951/** @name PalletEthereumFakeTransactionFinalizer */952export interface PalletEthereumFakeTransactionFinalizer extends Null {}953954/** @name PalletEvmAccountBasicCrossAccountIdRepr */955export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {956  readonly isSubstrate: boolean;957  readonly asSubstrate: AccountId32;958  readonly isEthereum: boolean;959  readonly asEthereum: H160;960  readonly type: 'Substrate' | 'Ethereum';961}962963/** @name PalletEvmCall */964export interface PalletEvmCall extends Enum {965  readonly isWithdraw: boolean;966  readonly asWithdraw: {967    readonly address: H160;968    readonly value: u128;969  } & Struct;970  readonly isCall: boolean;971  readonly asCall: {972    readonly source: H160;973    readonly target: H160;974    readonly input: Bytes;975    readonly value: U256;976    readonly gasLimit: u64;977    readonly maxFeePerGas: U256;978    readonly maxPriorityFeePerGas: Option<U256>;979    readonly nonce: Option<U256>;980    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;981  } & Struct;982  readonly isCreate: boolean;983  readonly asCreate: {984    readonly source: H160;985    readonly init: Bytes;986    readonly value: U256;987    readonly gasLimit: u64;988    readonly maxFeePerGas: U256;989    readonly maxPriorityFeePerGas: Option<U256>;990    readonly nonce: Option<U256>;991    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;992  } & Struct;993  readonly isCreate2: boolean;994  readonly asCreate2: {995    readonly source: H160;996    readonly init: Bytes;997    readonly salt: H256;998    readonly value: U256;999    readonly gasLimit: u64;1000    readonly maxFeePerGas: U256;1001    readonly maxPriorityFeePerGas: Option<U256>;1002    readonly nonce: Option<U256>;1003    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1004  } & Struct;1005  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1006}10071008/** @name PalletEvmCoderSubstrateError */1009export interface PalletEvmCoderSubstrateError extends Enum {1010  readonly isOutOfGas: boolean;1011  readonly isOutOfFund: boolean;1012  readonly type: 'OutOfGas' | 'OutOfFund';1013}10141015/** @name PalletEvmContractHelpersError */1016export interface PalletEvmContractHelpersError extends Enum {1017  readonly isNoPermission: boolean;1018  readonly type: 'NoPermission';1019}10201021/** @name PalletEvmContractHelpersSponsoringModeT */1022export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1023  readonly isDisabled: boolean;1024  readonly isAllowlisted: boolean;1025  readonly isGenerous: boolean;1026  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1027}10281029/** @name PalletEvmError */1030export interface PalletEvmError extends Enum {1031  readonly isBalanceLow: boolean;1032  readonly isFeeOverflow: boolean;1033  readonly isPaymentOverflow: boolean;1034  readonly isWithdrawFailed: boolean;1035  readonly isGasPriceTooLow: boolean;1036  readonly isInvalidNonce: boolean;1037  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1038}10391040/** @name PalletEvmEvent */1041export interface PalletEvmEvent extends Enum {1042  readonly isLog: boolean;1043  readonly asLog: EthereumLog;1044  readonly isCreated: boolean;1045  readonly asCreated: H160;1046  readonly isCreatedFailed: boolean;1047  readonly asCreatedFailed: H160;1048  readonly isExecuted: boolean;1049  readonly asExecuted: H160;1050  readonly isExecutedFailed: boolean;1051  readonly asExecutedFailed: H160;1052  readonly isBalanceDeposit: boolean;1053  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1054  readonly isBalanceWithdraw: boolean;1055  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1056  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1057}10581059/** @name PalletEvmMigrationCall */1060export interface PalletEvmMigrationCall extends Enum {1061  readonly isBegin: boolean;1062  readonly asBegin: {1063    readonly address: H160;1064  } & Struct;1065  readonly isSetData: boolean;1066  readonly asSetData: {1067    readonly address: H160;1068    readonly data: Vec<ITuple<[H256, H256]>>;1069  } & Struct;1070  readonly isFinish: boolean;1071  readonly asFinish: {1072    readonly address: H160;1073    readonly code: Bytes;1074  } & Struct;1075  readonly type: 'Begin' | 'SetData' | 'Finish';1076}10771078/** @name PalletEvmMigrationError */1079export interface PalletEvmMigrationError extends Enum {1080  readonly isAccountNotEmpty: boolean;1081  readonly isAccountIsNotMigrating: boolean;1082  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1083}10841085/** @name PalletFungibleError */1086export interface PalletFungibleError extends Enum {1087  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1088  readonly isFungibleItemsHaveNoId: boolean;1089  readonly isFungibleItemsDontHaveData: boolean;1090  readonly isFungibleDisallowsNesting: boolean;1091  readonly isSettingPropertiesNotAllowed: boolean;1092  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1093}10941095/** @name PalletInflationCall */1096export interface PalletInflationCall extends Enum {1097  readonly isStartInflation: boolean;1098  readonly asStartInflation: {1099    readonly inflationStartRelayBlock: u32;1100  } & Struct;1101  readonly type: 'StartInflation';1102}11031104/** @name PalletNonfungibleError */1105export interface PalletNonfungibleError extends Enum {1106  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1107  readonly isNonfungibleItemsHaveNoAmount: boolean;1108  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';1109}11101111/** @name PalletNonfungibleItemData */1112export interface PalletNonfungibleItemData extends Struct {1113  readonly constData: Bytes;1114  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1115}11161117/** @name PalletRefungibleError */1118export interface PalletRefungibleError extends Enum {1119  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1120  readonly isWrongRefungiblePieces: boolean;1121  readonly isRefungibleDisallowsNesting: boolean;1122  readonly isSettingPropertiesNotAllowed: boolean;1123  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1124}11251126/** @name PalletRefungibleItemData */1127export interface PalletRefungibleItemData extends Struct {1128  readonly constData: Bytes;1129}11301131/** @name PalletStructureCall */1132export interface PalletStructureCall extends Null {}11331134/** @name PalletStructureError */1135export interface PalletStructureError extends Enum {1136  readonly isOuroborosDetected: boolean;1137  readonly isDepthLimit: boolean;1138  readonly isTokenNotFound: boolean;1139  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';1140}11411142/** @name PalletStructureEvent */1143export interface PalletStructureEvent extends Enum {1144  readonly isExecuted: boolean;1145  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1146  readonly type: 'Executed';1147}11481149/** @name PalletSudoCall */1150export interface PalletSudoCall extends Enum {1151  readonly isSudo: boolean;1152  readonly asSudo: {1153    readonly call: Call;1154  } & Struct;1155  readonly isSudoUncheckedWeight: boolean;1156  readonly asSudoUncheckedWeight: {1157    readonly call: Call;1158    readonly weight: u64;1159  } & Struct;1160  readonly isSetKey: boolean;1161  readonly asSetKey: {1162    readonly new_: MultiAddress;1163  } & Struct;1164  readonly isSudoAs: boolean;1165  readonly asSudoAs: {1166    readonly who: MultiAddress;1167    readonly call: Call;1168  } & Struct;1169  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1170}11711172/** @name PalletSudoError */1173export interface PalletSudoError extends Enum {1174  readonly isRequireSudo: boolean;1175  readonly type: 'RequireSudo';1176}11771178/** @name PalletSudoEvent */1179export interface PalletSudoEvent extends Enum {1180  readonly isSudid: boolean;1181  readonly asSudid: {1182    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1183  } & Struct;1184  readonly isKeyChanged: boolean;1185  readonly asKeyChanged: {1186    readonly oldSudoer: Option<AccountId32>;1187  } & Struct;1188  readonly isSudoAsDone: boolean;1189  readonly asSudoAsDone: {1190    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1191  } & Struct;1192  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1193}11941195/** @name PalletTemplateTransactionPaymentCall */1196export interface PalletTemplateTransactionPaymentCall extends Null {}11971198/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1199export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}12001201/** @name PalletTimestampCall */1202export interface PalletTimestampCall extends Enum {1203  readonly isSet: boolean;1204  readonly asSet: {1205    readonly now: Compact<u64>;1206  } & Struct;1207  readonly type: 'Set';1208}12091210/** @name PalletTransactionPaymentReleases */1211export interface PalletTransactionPaymentReleases extends Enum {1212  readonly isV1Ancient: boolean;1213  readonly isV2: boolean;1214  readonly type: 'V1Ancient' | 'V2';1215}12161217/** @name PalletTreasuryCall */1218export interface PalletTreasuryCall extends Enum {1219  readonly isProposeSpend: boolean;1220  readonly asProposeSpend: {1221    readonly value: Compact<u128>;1222    readonly beneficiary: MultiAddress;1223  } & Struct;1224  readonly isRejectProposal: boolean;1225  readonly asRejectProposal: {1226    readonly proposalId: Compact<u32>;1227  } & Struct;1228  readonly isApproveProposal: boolean;1229  readonly asApproveProposal: {1230    readonly proposalId: Compact<u32>;1231  } & Struct;1232  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';1233}12341235/** @name PalletTreasuryError */1236export interface PalletTreasuryError extends Enum {1237  readonly isInsufficientProposersBalance: boolean;1238  readonly isInvalidIndex: boolean;1239  readonly isTooManyApprovals: boolean;1240  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';1241}12421243/** @name PalletTreasuryEvent */1244export interface PalletTreasuryEvent extends Enum {1245  readonly isProposed: boolean;1246  readonly asProposed: {1247    readonly proposalIndex: u32;1248  } & Struct;1249  readonly isSpending: boolean;1250  readonly asSpending: {1251    readonly budgetRemaining: u128;1252  } & Struct;1253  readonly isAwarded: boolean;1254  readonly asAwarded: {1255    readonly proposalIndex: u32;1256    readonly award: u128;1257    readonly account: AccountId32;1258  } & Struct;1259  readonly isRejected: boolean;1260  readonly asRejected: {1261    readonly proposalIndex: u32;1262    readonly slashed: u128;1263  } & Struct;1264  readonly isBurnt: boolean;1265  readonly asBurnt: {1266    readonly burntFunds: u128;1267  } & Struct;1268  readonly isRollover: boolean;1269  readonly asRollover: {1270    readonly rolloverBalance: u128;1271  } & Struct;1272  readonly isDeposit: boolean;1273  readonly asDeposit: {1274    readonly value: u128;1275  } & Struct;1276  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';1277}12781279/** @name PalletTreasuryProposal */1280export interface PalletTreasuryProposal extends Struct {1281  readonly proposer: AccountId32;1282  readonly value: u128;1283  readonly beneficiary: AccountId32;1284  readonly bond: u128;1285}12861287/** @name PalletUniqueCall */1288export interface PalletUniqueCall extends Enum {1289  readonly isCreateCollection: boolean;1290  readonly asCreateCollection: {1291    readonly collectionName: Vec<u16>;1292    readonly collectionDescription: Vec<u16>;1293    readonly tokenPrefix: Bytes;1294    readonly mode: UpDataStructsCollectionMode;1295  } & Struct;1296  readonly isCreateCollectionEx: boolean;1297  readonly asCreateCollectionEx: {1298    readonly data: UpDataStructsCreateCollectionData;1299  } & Struct;1300  readonly isDestroyCollection: boolean;1301  readonly asDestroyCollection: {1302    readonly collectionId: u32;1303  } & Struct;1304  readonly isAddToAllowList: boolean;1305  readonly asAddToAllowList: {1306    readonly collectionId: u32;1307    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1308  } & Struct;1309  readonly isRemoveFromAllowList: boolean;1310  readonly asRemoveFromAllowList: {1311    readonly collectionId: u32;1312    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1313  } & Struct;1314  readonly isSetPublicAccessMode: boolean;1315  readonly asSetPublicAccessMode: {1316    readonly collectionId: u32;1317    readonly mode: UpDataStructsAccessMode;1318  } & Struct;1319  readonly isSetMintPermission: boolean;1320  readonly asSetMintPermission: {1321    readonly collectionId: u32;1322    readonly mintPermission: bool;1323  } & Struct;1324  readonly isChangeCollectionOwner: boolean;1325  readonly asChangeCollectionOwner: {1326    readonly collectionId: u32;1327    readonly newOwner: AccountId32;1328  } & Struct;1329  readonly isAddCollectionAdmin: boolean;1330  readonly asAddCollectionAdmin: {1331    readonly collectionId: u32;1332    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1333  } & Struct;1334  readonly isRemoveCollectionAdmin: boolean;1335  readonly asRemoveCollectionAdmin: {1336    readonly collectionId: u32;1337    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1338  } & Struct;1339  readonly isSetCollectionSponsor: boolean;1340  readonly asSetCollectionSponsor: {1341    readonly collectionId: u32;1342    readonly newSponsor: AccountId32;1343  } & Struct;1344  readonly isConfirmSponsorship: boolean;1345  readonly asConfirmSponsorship: {1346    readonly collectionId: u32;1347  } & Struct;1348  readonly isRemoveCollectionSponsor: boolean;1349  readonly asRemoveCollectionSponsor: {1350    readonly collectionId: u32;1351  } & Struct;1352  readonly isCreateItem: boolean;1353  readonly asCreateItem: {1354    readonly collectionId: u32;1355    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1356    readonly data: UpDataStructsCreateItemData;1357  } & Struct;1358  readonly isCreateMultipleItems: boolean;1359  readonly asCreateMultipleItems: {1360    readonly collectionId: u32;1361    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1362    readonly itemsData: Vec<UpDataStructsCreateItemData>;1363  } & Struct;1364  readonly isSetCollectionProperties: boolean;1365  readonly asSetCollectionProperties: {1366    readonly collectionId: u32;1367    readonly properties: Vec<UpDataStructsProperty>;1368  } & Struct;1369  readonly isDeleteCollectionProperties: boolean;1370  readonly asDeleteCollectionProperties: {1371    readonly collectionId: u32;1372    readonly propertyKeys: Vec<Bytes>;1373  } & Struct;1374  readonly isSetTokenProperties: boolean;1375  readonly asSetTokenProperties: {1376    readonly collectionId: u32;1377    readonly tokenId: u32;1378    readonly properties: Vec<UpDataStructsProperty>;1379  } & Struct;1380  readonly isDeleteTokenProperties: boolean;1381  readonly asDeleteTokenProperties: {1382    readonly collectionId: u32;1383    readonly tokenId: u32;1384    readonly propertyKeys: Vec<Bytes>;1385  } & Struct;1386  readonly isSetPropertyPermissions: boolean;1387  readonly asSetPropertyPermissions: {1388    readonly collectionId: u32;1389    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1390  } & Struct;1391  readonly isCreateMultipleItemsEx: boolean;1392  readonly asCreateMultipleItemsEx: {1393    readonly collectionId: u32;1394    readonly data: UpDataStructsCreateItemExData;1395  } & Struct;1396  readonly isSetTransfersEnabledFlag: boolean;1397  readonly asSetTransfersEnabledFlag: {1398    readonly collectionId: u32;1399    readonly value: bool;1400  } & Struct;1401  readonly isBurnItem: boolean;1402  readonly asBurnItem: {1403    readonly collectionId: u32;1404    readonly itemId: u32;1405    readonly value: u128;1406  } & Struct;1407  readonly isBurnFrom: boolean;1408  readonly asBurnFrom: {1409    readonly collectionId: u32;1410    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1411    readonly itemId: u32;1412    readonly value: u128;1413  } & Struct;1414  readonly isTransfer: boolean;1415  readonly asTransfer: {1416    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1417    readonly collectionId: u32;1418    readonly itemId: u32;1419    readonly value: u128;1420  } & Struct;1421  readonly isApprove: boolean;1422  readonly asApprove: {1423    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1424    readonly collectionId: u32;1425    readonly itemId: u32;1426    readonly amount: u128;1427  } & Struct;1428  readonly isTransferFrom: boolean;1429  readonly asTransferFrom: {1430    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1431    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1432    readonly collectionId: u32;1433    readonly itemId: u32;1434    readonly value: u128;1435  } & Struct;1436  readonly isSetSchemaVersion: boolean;1437  readonly asSetSchemaVersion: {1438    readonly collectionId: u32;1439    readonly version: UpDataStructsSchemaVersion;1440  } & Struct;1441  readonly isSetOffchainSchema: boolean;1442  readonly asSetOffchainSchema: {1443    readonly collectionId: u32;1444    readonly schema: Bytes;1445  } & Struct;1446  readonly isSetConstOnChainSchema: boolean;1447  readonly asSetConstOnChainSchema: {1448    readonly collectionId: u32;1449    readonly schema: Bytes;1450  } & Struct;1451  readonly isSetCollectionLimits: boolean;1452  readonly asSetCollectionLimits: {1453    readonly collectionId: u32;1454    readonly newLimit: UpDataStructsCollectionLimits;1455  } & Struct;1456  readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits';1457}14581459/** @name PalletUniqueError */1460export interface PalletUniqueError extends Enum {1461  readonly isCollectionDecimalPointLimitExceeded: boolean;1462  readonly isConfirmUnsetSponsorFail: boolean;1463  readonly isEmptyArgument: boolean;1464  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';1465}14661467/** @name PalletUniqueRawEvent */1468export interface PalletUniqueRawEvent extends Enum {1469  readonly isCollectionSponsorRemoved: boolean;1470  readonly asCollectionSponsorRemoved: u32;1471  readonly isCollectionAdminAdded: boolean;1472  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1473  readonly isCollectionOwnedChanged: boolean;1474  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1475  readonly isCollectionSponsorSet: boolean;1476  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1477  readonly isConstOnChainSchemaSet: boolean;1478  readonly asConstOnChainSchemaSet: u32;1479  readonly isSponsorshipConfirmed: boolean;1480  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1481  readonly isCollectionAdminRemoved: boolean;1482  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1483  readonly isAllowListAddressRemoved: boolean;1484  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1485  readonly isAllowListAddressAdded: boolean;1486  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1487  readonly isCollectionLimitSet: boolean;1488  readonly asCollectionLimitSet: u32;1489  readonly isMintPermissionSet: boolean;1490  readonly asMintPermissionSet: u32;1491  readonly isOffchainSchemaSet: boolean;1492  readonly asOffchainSchemaSet: u32;1493  readonly isPublicAccessModeSet: boolean;1494  readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;1495  readonly isSchemaVersionSet: boolean;1496  readonly asSchemaVersionSet: u32;1497  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet';1498}14991500/** @name PalletXcmCall */1501export interface PalletXcmCall extends Enum {1502  readonly isSend: boolean;1503  readonly asSend: {1504    readonly dest: XcmVersionedMultiLocation;1505    readonly message: XcmVersionedXcm;1506  } & Struct;1507  readonly isTeleportAssets: boolean;1508  readonly asTeleportAssets: {1509    readonly dest: XcmVersionedMultiLocation;1510    readonly beneficiary: XcmVersionedMultiLocation;1511    readonly assets: XcmVersionedMultiAssets;1512    readonly feeAssetItem: u32;1513  } & Struct;1514  readonly isReserveTransferAssets: boolean;1515  readonly asReserveTransferAssets: {1516    readonly dest: XcmVersionedMultiLocation;1517    readonly beneficiary: XcmVersionedMultiLocation;1518    readonly assets: XcmVersionedMultiAssets;1519    readonly feeAssetItem: u32;1520  } & Struct;1521  readonly isExecute: boolean;1522  readonly asExecute: {1523    readonly message: XcmVersionedXcm;1524    readonly maxWeight: u64;1525  } & Struct;1526  readonly isForceXcmVersion: boolean;1527  readonly asForceXcmVersion: {1528    readonly location: XcmV1MultiLocation;1529    readonly xcmVersion: u32;1530  } & Struct;1531  readonly isForceDefaultXcmVersion: boolean;1532  readonly asForceDefaultXcmVersion: {1533    readonly maybeXcmVersion: Option<u32>;1534  } & Struct;1535  readonly isForceSubscribeVersionNotify: boolean;1536  readonly asForceSubscribeVersionNotify: {1537    readonly location: XcmVersionedMultiLocation;1538  } & Struct;1539  readonly isForceUnsubscribeVersionNotify: boolean;1540  readonly asForceUnsubscribeVersionNotify: {1541    readonly location: XcmVersionedMultiLocation;1542  } & Struct;1543  readonly isLimitedReserveTransferAssets: boolean;1544  readonly asLimitedReserveTransferAssets: {1545    readonly dest: XcmVersionedMultiLocation;1546    readonly beneficiary: XcmVersionedMultiLocation;1547    readonly assets: XcmVersionedMultiAssets;1548    readonly feeAssetItem: u32;1549    readonly weightLimit: XcmV2WeightLimit;1550  } & Struct;1551  readonly isLimitedTeleportAssets: boolean;1552  readonly asLimitedTeleportAssets: {1553    readonly dest: XcmVersionedMultiLocation;1554    readonly beneficiary: XcmVersionedMultiLocation;1555    readonly assets: XcmVersionedMultiAssets;1556    readonly feeAssetItem: u32;1557    readonly weightLimit: XcmV2WeightLimit;1558  } & Struct;1559  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';1560}15611562/** @name PalletXcmError */1563export interface PalletXcmError extends Enum {1564  readonly isUnreachable: boolean;1565  readonly isSendFailure: boolean;1566  readonly isFiltered: boolean;1567  readonly isUnweighableMessage: boolean;1568  readonly isDestinationNotInvertible: boolean;1569  readonly isEmpty: boolean;1570  readonly isCannotReanchor: boolean;1571  readonly isTooManyAssets: boolean;1572  readonly isInvalidOrigin: boolean;1573  readonly isBadVersion: boolean;1574  readonly isBadLocation: boolean;1575  readonly isNoSubscription: boolean;1576  readonly isAlreadySubscribed: boolean;1577  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';1578}15791580/** @name PalletXcmEvent */1581export interface PalletXcmEvent extends Enum {1582  readonly isAttempted: boolean;1583  readonly asAttempted: XcmV2TraitsOutcome;1584  readonly isSent: boolean;1585  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;1586  readonly isUnexpectedResponse: boolean;1587  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;1588  readonly isResponseReady: boolean;1589  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;1590  readonly isNotified: boolean;1591  readonly asNotified: ITuple<[u64, u8, u8]>;1592  readonly isNotifyOverweight: boolean;1593  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;1594  readonly isNotifyDispatchError: boolean;1595  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;1596  readonly isNotifyDecodeFailed: boolean;1597  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1598  readonly isInvalidResponder: boolean;1599  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;1600  readonly isInvalidResponderVersion: boolean;1601  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;1602  readonly isResponseTaken: boolean;1603  readonly asResponseTaken: u64;1604  readonly isAssetsTrapped: boolean;1605  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;1606  readonly isVersionChangeNotified: boolean;1607  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;1608  readonly isSupportedVersionChanged: boolean;1609  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;1610  readonly isNotifyTargetSendFail: boolean;1611  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;1612  readonly isNotifyTargetMigrationFail: boolean;1613  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1614  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';1615}16161617/** @name PhantomTypeUpDataStructsBaseInfo */1618export interface PhantomTypeUpDataStructsBaseInfo extends Vec<Lookup357> {}16191620/** @name PhantomTypeUpDataStructsCollectionInfo */1621export interface PhantomTypeUpDataStructsCollectionInfo extends Vec<Lookup334> {}16221623/** @name PhantomTypeUpDataStructsNftChild */1624export interface PhantomTypeUpDataStructsNftChild extends Vec<Lookup372> {}16251626/** @name PhantomTypeUpDataStructsNftInfo */1627export interface PhantomTypeUpDataStructsNftInfo extends Vec<Lookup339> {}16281629/** @name PhantomTypeUpDataStructsPartType */1630export interface PhantomTypeUpDataStructsPartType extends Vec<Lookup360> {}16311632/** @name PhantomTypeUpDataStructsPropertyInfo */1633export interface PhantomTypeUpDataStructsPropertyInfo extends Vec<Lookup352> {}16341635/** @name PhantomTypeUpDataStructsResourceInfo */1636export interface PhantomTypeUpDataStructsResourceInfo extends Vec<Lookup345> {}16371638/** @name PhantomTypeUpDataStructsRpcCollection */1639export interface PhantomTypeUpDataStructsRpcCollection extends Vec<Lookup331> {}16401641/** @name PhantomTypeUpDataStructsTheme */1642export interface PhantomTypeUpDataStructsTheme extends Vec<Lookup367> {}16431644/** @name PhantomTypeUpDataStructsTokenData */1645export interface PhantomTypeUpDataStructsTokenData extends Vec<Lookup327> {}16461647/** @name PolkadotCorePrimitivesInboundDownwardMessage */1648export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1649  readonly sentAt: u32;1650  readonly msg: Bytes;1651}16521653/** @name PolkadotCorePrimitivesInboundHrmpMessage */1654export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1655  readonly sentAt: u32;1656  readonly data: Bytes;1657}16581659/** @name PolkadotCorePrimitivesOutboundHrmpMessage */1660export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1661  readonly recipient: u32;1662  readonly data: Bytes;1663}16641665/** @name PolkadotParachainPrimitivesXcmpMessageFormat */1666export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {1667  readonly isConcatenatedVersionedXcm: boolean;1668  readonly isConcatenatedEncodedBlob: boolean;1669  readonly isSignals: boolean;1670  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';1671}16721673/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */1674export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1675  readonly maxCodeSize: u32;1676  readonly maxHeadDataSize: u32;1677  readonly maxUpwardQueueCount: u32;1678  readonly maxUpwardQueueSize: u32;1679  readonly maxUpwardMessageSize: u32;1680  readonly maxUpwardMessageNumPerCandidate: u32;1681  readonly hrmpMaxMessageNumPerCandidate: u32;1682  readonly validationUpgradeCooldown: u32;1683  readonly validationUpgradeDelay: u32;1684}16851686/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */1687export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1688  readonly maxCapacity: u32;1689  readonly maxTotalSize: u32;1690  readonly maxMessageSize: u32;1691  readonly msgCount: u32;1692  readonly totalSize: u32;1693  readonly mqcHead: Option<H256>;1694}16951696/** @name PolkadotPrimitivesV2PersistedValidationData */1697export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1698  readonly parentHead: Bytes;1699  readonly relayParentNumber: u32;1700  readonly relayParentStorageRoot: H256;1701  readonly maxPovSize: u32;1702}17031704/** @name PolkadotPrimitivesV2UpgradeRestriction */1705export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1706  readonly isPresent: boolean;1707  readonly type: 'Present';1708}17091710/** @name RmrkTypesAccountIdOrCollectionNftTuple */1711export interface RmrkTypesAccountIdOrCollectionNftTuple extends Enum {1712  readonly isAccountId: boolean;1713  readonly asAccountId: AccountId32;1714  readonly isCollectionAndNftTuple: boolean;1715  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1716  readonly type: 'AccountId' | 'CollectionAndNftTuple';1717}17181719/** @name RmrkTypesBaseInfo */1720export interface RmrkTypesBaseInfo extends Struct {1721  readonly issuer: AccountId32;1722  readonly baseType: Bytes;1723  readonly symbol: Bytes;1724}17251726/** @name RmrkTypesCollectionInfo */1727export interface RmrkTypesCollectionInfo extends Struct {1728  readonly issuer: AccountId32;1729  readonly metadata: Bytes;1730  readonly max: Option<u32>;1731  readonly symbol: Bytes;1732  readonly nftsCount: u32;1733}17341735/** @name RmrkTypesEquippableList */1736export interface RmrkTypesEquippableList extends Enum {1737  readonly isAll: boolean;1738  readonly isEmpty: boolean;1739  readonly isCustom: boolean;1740  readonly asCustom: Vec<u32>;1741  readonly type: 'All' | 'Empty' | 'Custom';1742}17431744/** @name RmrkTypesFixedPart */1745export interface RmrkTypesFixedPart extends Struct {1746  readonly id: u32;1747  readonly z: u32;1748  readonly src: Bytes;1749}17501751/** @name RmrkTypesNftChild */1752export interface RmrkTypesNftChild extends Struct {1753  readonly collectionId: u32;1754  readonly nftId: u32;1755}17561757/** @name RmrkTypesNftInfo */1758export interface RmrkTypesNftInfo extends Struct {1759  readonly owner: RmrkTypesAccountIdOrCollectionNftTuple;1760  readonly royalty: Option<RmrkTypesRoyaltyInfo>;1761  readonly metadata: Bytes;1762  readonly equipped: bool;1763  readonly pending: bool;1764}17651766/** @name RmrkTypesPartType */1767export interface RmrkTypesPartType extends Enum {1768  readonly isFixedPart: boolean;1769  readonly asFixedPart: RmrkTypesFixedPart;1770  readonly isSlotPart: boolean;1771  readonly asSlotPart: RmrkTypesSlotPart;1772  readonly type: 'FixedPart' | 'SlotPart';1773}17741775/** @name RmrkTypesPropertyInfo */1776export interface RmrkTypesPropertyInfo extends Struct {1777  readonly key: Bytes;1778  readonly value: Bytes;1779}17801781/** @name RmrkTypesResourceInfo */1782export interface RmrkTypesResourceInfo extends Struct {1783  readonly id: Bytes;1784  readonly pending: bool;1785  readonly pendingRemoval: bool;1786  readonly parts: Option<Vec<u32>>;1787  readonly base: Option<u32>;1788  readonly src: Option<Bytes>;1789  readonly metadata: Option<Bytes>;1790  readonly slot: Option<u32>;1791  readonly license: Option<Bytes>;1792  readonly thumb: Option<Bytes>;1793}17941795/** @name RmrkTypesRoyaltyInfo */1796export interface RmrkTypesRoyaltyInfo extends Struct {1797  readonly recipient: AccountId32;1798  readonly amount: Permill;1799}18001801/** @name RmrkTypesSlotPart */1802export interface RmrkTypesSlotPart extends Struct {1803  readonly id: u32;1804  readonly equippable: RmrkTypesEquippableList;1805  readonly src: Bytes;1806  readonly z: u32;1807}18081809/** @name RmrkTypesTheme */1810export interface RmrkTypesTheme extends Struct {1811  readonly name: Bytes;1812  readonly properties: Vec<RmrkTypesThemeProperty>;1813  readonly inherit: bool;1814}18151816/** @name RmrkTypesThemeProperty */1817export interface RmrkTypesThemeProperty extends Struct {1818  readonly key: Bytes;1819  readonly value: Bytes;1820}18211822/** @name SpCoreEcdsaSignature */1823export interface SpCoreEcdsaSignature extends U8aFixed {}18241825/** @name SpCoreEd25519Signature */1826export interface SpCoreEd25519Signature extends U8aFixed {}18271828/** @name SpCoreSr25519Signature */1829export interface SpCoreSr25519Signature extends U8aFixed {}18301831/** @name SpRuntimeArithmeticError */1832export interface SpRuntimeArithmeticError extends Enum {1833  readonly isUnderflow: boolean;1834  readonly isOverflow: boolean;1835  readonly isDivisionByZero: boolean;1836  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1837}18381839/** @name SpRuntimeDigest */1840export interface SpRuntimeDigest extends Struct {1841  readonly logs: Vec<SpRuntimeDigestDigestItem>;1842}18431844/** @name SpRuntimeDigestDigestItem */1845export interface SpRuntimeDigestDigestItem extends Enum {1846  readonly isOther: boolean;1847  readonly asOther: Bytes;1848  readonly isConsensus: boolean;1849  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1850  readonly isSeal: boolean;1851  readonly asSeal: ITuple<[U8aFixed, Bytes]>;1852  readonly isPreRuntime: boolean;1853  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1854  readonly isRuntimeEnvironmentUpdated: boolean;1855  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1856}18571858/** @name SpRuntimeDispatchError */1859export interface SpRuntimeDispatchError extends Enum {1860  readonly isOther: boolean;1861  readonly isCannotLookup: boolean;1862  readonly isBadOrigin: boolean;1863  readonly isModule: boolean;1864  readonly asModule: SpRuntimeModuleError;1865  readonly isConsumerRemaining: boolean;1866  readonly isNoProviders: boolean;1867  readonly isTooManyConsumers: boolean;1868  readonly isToken: boolean;1869  readonly asToken: SpRuntimeTokenError;1870  readonly isArithmetic: boolean;1871  readonly asArithmetic: SpRuntimeArithmeticError;1872  readonly isTransactional: boolean;1873  readonly asTransactional: SpRuntimeTransactionalError;1874  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1875}18761877/** @name SpRuntimeModuleError */1878export interface SpRuntimeModuleError extends Struct {1879  readonly index: u8;1880  readonly error: U8aFixed;1881}18821883/** @name SpRuntimeMultiSignature */1884export interface SpRuntimeMultiSignature extends Enum {1885  readonly isEd25519: boolean;1886  readonly asEd25519: SpCoreEd25519Signature;1887  readonly isSr25519: boolean;1888  readonly asSr25519: SpCoreSr25519Signature;1889  readonly isEcdsa: boolean;1890  readonly asEcdsa: SpCoreEcdsaSignature;1891  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';1892}18931894/** @name SpRuntimeTokenError */1895export interface SpRuntimeTokenError extends Enum {1896  readonly isNoFunds: boolean;1897  readonly isWouldDie: boolean;1898  readonly isBelowMinimum: boolean;1899  readonly isCannotCreate: boolean;1900  readonly isUnknownAsset: boolean;1901  readonly isFrozen: boolean;1902  readonly isUnsupported: boolean;1903  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1904}19051906/** @name SpRuntimeTransactionalError */1907export interface SpRuntimeTransactionalError extends Enum {1908  readonly isLimitReached: boolean;1909  readonly isNoLayer: boolean;1910  readonly type: 'LimitReached' | 'NoLayer';1911}19121913/** @name SpTrieStorageProof */1914export interface SpTrieStorageProof extends Struct {1915  readonly trieNodes: BTreeSet<Bytes>;1916}19171918/** @name SpVersionRuntimeVersion */1919export interface SpVersionRuntimeVersion extends Struct {1920  readonly specName: Text;1921  readonly implName: Text;1922  readonly authoringVersion: u32;1923  readonly specVersion: u32;1924  readonly implVersion: u32;1925  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1926  readonly transactionVersion: u32;1927  readonly stateVersion: u8;1928}19291930/** @name UpDataStructsAccessMode */1931export interface UpDataStructsAccessMode extends Enum {1932  readonly isNormal: boolean;1933  readonly isAllowList: boolean;1934  readonly type: 'Normal' | 'AllowList';1935}19361937/** @name UpDataStructsCollection */1938export interface UpDataStructsCollection extends Struct {1939  readonly owner: AccountId32;1940  readonly mode: UpDataStructsCollectionMode;1941  readonly access: UpDataStructsAccessMode;1942  readonly name: Vec<u16>;1943  readonly description: Vec<u16>;1944  readonly tokenPrefix: Bytes;1945  readonly mintMode: bool;1946  readonly schemaVersion: UpDataStructsSchemaVersion;1947  readonly sponsorship: UpDataStructsSponsorshipState;1948  readonly limits: UpDataStructsCollectionLimits;1949}19501951/** @name UpDataStructsCollectionField */1952export interface UpDataStructsCollectionField extends Enum {1953  readonly isConstOnChainSchema: boolean;1954  readonly isOffchainSchema: boolean;1955  readonly type: 'ConstOnChainSchema' | 'OffchainSchema';1956}19571958/** @name UpDataStructsCollectionLimits */1959export interface UpDataStructsCollectionLimits extends Struct {1960  readonly accountTokenOwnershipLimit: Option<u32>;1961  readonly sponsoredDataSize: Option<u32>;1962  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1963  readonly tokenLimit: Option<u32>;1964  readonly sponsorTransferTimeout: Option<u32>;1965  readonly sponsorApproveTimeout: Option<u32>;1966  readonly ownerCanTransfer: Option<bool>;1967  readonly ownerCanDestroy: Option<bool>;1968  readonly transfersEnabled: Option<bool>;1969  readonly nestingRule: Option<UpDataStructsNestingRule>;1970}19711972/** @name UpDataStructsCollectionMode */1973export interface UpDataStructsCollectionMode extends Enum {1974  readonly isNft: boolean;1975  readonly isFungible: boolean;1976  readonly asFungible: u8;1977  readonly isReFungible: boolean;1978  readonly type: 'Nft' | 'Fungible' | 'ReFungible';1979}19801981/** @name UpDataStructsCollectionStats */1982export interface UpDataStructsCollectionStats extends Struct {1983  readonly created: u32;1984  readonly destroyed: u32;1985  readonly alive: u32;1986}19871988/** @name UpDataStructsCreateCollectionData */1989export interface UpDataStructsCreateCollectionData extends Struct {1990  readonly mode: UpDataStructsCollectionMode;1991  readonly access: Option<UpDataStructsAccessMode>;1992  readonly name: Vec<u16>;1993  readonly description: Vec<u16>;1994  readonly tokenPrefix: Bytes;1995  readonly offchainSchema: Bytes;1996  readonly schemaVersion: Option<UpDataStructsSchemaVersion>;1997  readonly pendingSponsor: Option<AccountId32>;1998  readonly limits: Option<UpDataStructsCollectionLimits>;1999  readonly constOnChainSchema: Bytes;2000  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2001  readonly properties: Vec<UpDataStructsProperty>;2002}20032004/** @name UpDataStructsCreateFungibleData */2005export interface UpDataStructsCreateFungibleData extends Struct {2006  readonly value: u128;2007}20082009/** @name UpDataStructsCreateItemData */2010export interface UpDataStructsCreateItemData extends Enum {2011  readonly isNft: boolean;2012  readonly asNft: UpDataStructsCreateNftData;2013  readonly isFungible: boolean;2014  readonly asFungible: UpDataStructsCreateFungibleData;2015  readonly isReFungible: boolean;2016  readonly asReFungible: UpDataStructsCreateReFungibleData;2017  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2018}20192020/** @name UpDataStructsCreateItemExData */2021export interface UpDataStructsCreateItemExData extends Enum {2022  readonly isNft: boolean;2023  readonly asNft: Vec<UpDataStructsCreateNftExData>;2024  readonly isFungible: boolean;2025  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2026  readonly isRefungibleMultipleItems: boolean;2027  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;2028  readonly isRefungibleMultipleOwners: boolean;2029  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;2030  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2031}20322033/** @name UpDataStructsCreateNftData */2034export interface UpDataStructsCreateNftData extends Struct {2035  readonly constData: Bytes;2036  readonly properties: Vec<UpDataStructsProperty>;2037}20382039/** @name UpDataStructsCreateNftExData */2040export interface UpDataStructsCreateNftExData extends Struct {2041  readonly constData: Bytes;2042  readonly properties: Vec<UpDataStructsProperty>;2043  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2044}20452046/** @name UpDataStructsCreateReFungibleData */2047export interface UpDataStructsCreateReFungibleData extends Struct {2048  readonly constData: Bytes;2049  readonly pieces: u128;2050}20512052/** @name UpDataStructsCreateRefungibleExData */2053export interface UpDataStructsCreateRefungibleExData extends Struct {2054  readonly constData: Bytes;2055  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2056}20572058/** @name UpDataStructsNestingRule */2059export interface UpDataStructsNestingRule extends Enum {2060  readonly isDisabled: boolean;2061  readonly isOwner: boolean;2062  readonly isOwnerRestricted: boolean;2063  readonly asOwnerRestricted: BTreeSet<u32>;2064  readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';2065}20662067/** @name UpDataStructsProperties */2068export interface UpDataStructsProperties extends Struct {2069  readonly map: UpDataStructsPropertiesMapBoundedVec;2070  readonly consumedSpace: u32;2071  readonly spaceLimit: u32;2072}20732074/** @name UpDataStructsPropertiesMapBoundedVec */2075export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}20762077/** @name UpDataStructsPropertiesMapPropertyPermission */2078export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}20792080/** @name UpDataStructsProperty */2081export interface UpDataStructsProperty extends Struct {2082  readonly key: Bytes;2083  readonly value: Bytes;2084}20852086/** @name UpDataStructsPropertyKeyPermission */2087export interface UpDataStructsPropertyKeyPermission extends Struct {2088  readonly key: Bytes;2089  readonly permission: UpDataStructsPropertyPermission;2090}20912092/** @name UpDataStructsPropertyPermission */2093export interface UpDataStructsPropertyPermission extends Struct {2094  readonly mutable: bool;2095  readonly collectionAdmin: bool;2096  readonly tokenOwner: bool;2097}20982099/** @name UpDataStructsRpcCollection */2100export interface UpDataStructsRpcCollection extends Struct {2101  readonly owner: AccountId32;2102  readonly mode: UpDataStructsCollectionMode;2103  readonly access: UpDataStructsAccessMode;2104  readonly name: Vec<u16>;2105  readonly description: Vec<u16>;2106  readonly tokenPrefix: Bytes;2107  readonly mintMode: bool;2108  readonly offchainSchema: Bytes;2109  readonly schemaVersion: UpDataStructsSchemaVersion;2110  readonly sponsorship: UpDataStructsSponsorshipState;2111  readonly limits: UpDataStructsCollectionLimits;2112  readonly constOnChainSchema: Bytes;2113  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2114  readonly properties: Vec<UpDataStructsProperty>;2115}21162117/** @name UpDataStructsSchemaVersion */2118export interface UpDataStructsSchemaVersion extends Enum {2119  readonly isImageURL: boolean;2120  readonly isUnique: boolean;2121  readonly type: 'ImageURL' | 'Unique';2122}21232124/** @name UpDataStructsSponsoringRateLimit */2125export interface UpDataStructsSponsoringRateLimit extends Enum {2126  readonly isSponsoringDisabled: boolean;2127  readonly isBlocks: boolean;2128  readonly asBlocks: u32;2129  readonly type: 'SponsoringDisabled' | 'Blocks';2130}21312132/** @name UpDataStructsSponsorshipState */2133export interface UpDataStructsSponsorshipState extends Enum {2134  readonly isDisabled: boolean;2135  readonly isUnconfirmed: boolean;2136  readonly asUnconfirmed: AccountId32;2137  readonly isConfirmed: boolean;2138  readonly asConfirmed: AccountId32;2139  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2140}21412142/** @name UpDataStructsTokenData */2143export interface UpDataStructsTokenData extends Struct {2144  readonly constData: Bytes;2145  readonly properties: Vec<UpDataStructsProperty>;2146  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2147}21482149/** @name XcmDoubleEncoded */2150export interface XcmDoubleEncoded extends Struct {2151  readonly encoded: Bytes;2152}21532154/** @name XcmV0Junction */2155export interface XcmV0Junction extends Enum {2156  readonly isParent: boolean;2157  readonly isParachain: boolean;2158  readonly asParachain: Compact<u32>;2159  readonly isAccountId32: boolean;2160  readonly asAccountId32: {2161    readonly network: XcmV0JunctionNetworkId;2162    readonly id: U8aFixed;2163  } & Struct;2164  readonly isAccountIndex64: boolean;2165  readonly asAccountIndex64: {2166    readonly network: XcmV0JunctionNetworkId;2167    readonly index: Compact<u64>;2168  } & Struct;2169  readonly isAccountKey20: boolean;2170  readonly asAccountKey20: {2171    readonly network: XcmV0JunctionNetworkId;2172    readonly key: U8aFixed;2173  } & Struct;2174  readonly isPalletInstance: boolean;2175  readonly asPalletInstance: u8;2176  readonly isGeneralIndex: boolean;2177  readonly asGeneralIndex: Compact<u128>;2178  readonly isGeneralKey: boolean;2179  readonly asGeneralKey: Bytes;2180  readonly isOnlyChild: boolean;2181  readonly isPlurality: boolean;2182  readonly asPlurality: {2183    readonly id: XcmV0JunctionBodyId;2184    readonly part: XcmV0JunctionBodyPart;2185  } & Struct;2186  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2187}21882189/** @name XcmV0JunctionBodyId */2190export interface XcmV0JunctionBodyId extends Enum {2191  readonly isUnit: boolean;2192  readonly isNamed: boolean;2193  readonly asNamed: Bytes;2194  readonly isIndex: boolean;2195  readonly asIndex: Compact<u32>;2196  readonly isExecutive: boolean;2197  readonly isTechnical: boolean;2198  readonly isLegislative: boolean;2199  readonly isJudicial: boolean;2200  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2201}22022203/** @name XcmV0JunctionBodyPart */2204export interface XcmV0JunctionBodyPart extends Enum {2205  readonly isVoice: boolean;2206  readonly isMembers: boolean;2207  readonly asMembers: {2208    readonly count: Compact<u32>;2209  } & Struct;2210  readonly isFraction: boolean;2211  readonly asFraction: {2212    readonly nom: Compact<u32>;2213    readonly denom: Compact<u32>;2214  } & Struct;2215  readonly isAtLeastProportion: boolean;2216  readonly asAtLeastProportion: {2217    readonly nom: Compact<u32>;2218    readonly denom: Compact<u32>;2219  } & Struct;2220  readonly isMoreThanProportion: boolean;2221  readonly asMoreThanProportion: {2222    readonly nom: Compact<u32>;2223    readonly denom: Compact<u32>;2224  } & Struct;2225  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2226}22272228/** @name XcmV0JunctionNetworkId */2229export interface XcmV0JunctionNetworkId extends Enum {2230  readonly isAny: boolean;2231  readonly isNamed: boolean;2232  readonly asNamed: Bytes;2233  readonly isPolkadot: boolean;2234  readonly isKusama: boolean;2235  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2236}22372238/** @name XcmV0MultiAsset */2239export interface XcmV0MultiAsset extends Enum {2240  readonly isNone: boolean;2241  readonly isAll: boolean;2242  readonly isAllFungible: boolean;2243  readonly isAllNonFungible: boolean;2244  readonly isAllAbstractFungible: boolean;2245  readonly asAllAbstractFungible: {2246    readonly id: Bytes;2247  } & Struct;2248  readonly isAllAbstractNonFungible: boolean;2249  readonly asAllAbstractNonFungible: {2250    readonly class: Bytes;2251  } & Struct;2252  readonly isAllConcreteFungible: boolean;2253  readonly asAllConcreteFungible: {2254    readonly id: XcmV0MultiLocation;2255  } & Struct;2256  readonly isAllConcreteNonFungible: boolean;2257  readonly asAllConcreteNonFungible: {2258    readonly class: XcmV0MultiLocation;2259  } & Struct;2260  readonly isAbstractFungible: boolean;2261  readonly asAbstractFungible: {2262    readonly id: Bytes;2263    readonly amount: Compact<u128>;2264  } & Struct;2265  readonly isAbstractNonFungible: boolean;2266  readonly asAbstractNonFungible: {2267    readonly class: Bytes;2268    readonly instance: XcmV1MultiassetAssetInstance;2269  } & Struct;2270  readonly isConcreteFungible: boolean;2271  readonly asConcreteFungible: {2272    readonly id: XcmV0MultiLocation;2273    readonly amount: Compact<u128>;2274  } & Struct;2275  readonly isConcreteNonFungible: boolean;2276  readonly asConcreteNonFungible: {2277    readonly class: XcmV0MultiLocation;2278    readonly instance: XcmV1MultiassetAssetInstance;2279  } & Struct;2280  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2281}22822283/** @name XcmV0MultiLocation */2284export interface XcmV0MultiLocation extends Enum {2285  readonly isNull: boolean;2286  readonly isX1: boolean;2287  readonly asX1: XcmV0Junction;2288  readonly isX2: boolean;2289  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2290  readonly isX3: boolean;2291  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2292  readonly isX4: boolean;2293  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2294  readonly isX5: boolean;2295  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2296  readonly isX6: boolean;2297  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2298  readonly isX7: boolean;2299  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2300  readonly isX8: boolean;2301  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2302  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2303}23042305/** @name XcmV0Order */2306export interface XcmV0Order extends Enum {2307  readonly isNull: boolean;2308  readonly isDepositAsset: boolean;2309  readonly asDepositAsset: {2310    readonly assets: Vec<XcmV0MultiAsset>;2311    readonly dest: XcmV0MultiLocation;2312  } & Struct;2313  readonly isDepositReserveAsset: boolean;2314  readonly asDepositReserveAsset: {2315    readonly assets: Vec<XcmV0MultiAsset>;2316    readonly dest: XcmV0MultiLocation;2317    readonly effects: Vec<XcmV0Order>;2318  } & Struct;2319  readonly isExchangeAsset: boolean;2320  readonly asExchangeAsset: {2321    readonly give: Vec<XcmV0MultiAsset>;2322    readonly receive: Vec<XcmV0MultiAsset>;2323  } & Struct;2324  readonly isInitiateReserveWithdraw: boolean;2325  readonly asInitiateReserveWithdraw: {2326    readonly assets: Vec<XcmV0MultiAsset>;2327    readonly reserve: XcmV0MultiLocation;2328    readonly effects: Vec<XcmV0Order>;2329  } & Struct;2330  readonly isInitiateTeleport: boolean;2331  readonly asInitiateTeleport: {2332    readonly assets: Vec<XcmV0MultiAsset>;2333    readonly dest: XcmV0MultiLocation;2334    readonly effects: Vec<XcmV0Order>;2335  } & Struct;2336  readonly isQueryHolding: boolean;2337  readonly asQueryHolding: {2338    readonly queryId: Compact<u64>;2339    readonly dest: XcmV0MultiLocation;2340    readonly assets: Vec<XcmV0MultiAsset>;2341  } & Struct;2342  readonly isBuyExecution: boolean;2343  readonly asBuyExecution: {2344    readonly fees: XcmV0MultiAsset;2345    readonly weight: u64;2346    readonly debt: u64;2347    readonly haltOnError: bool;2348    readonly xcm: Vec<XcmV0Xcm>;2349  } & Struct;2350  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2351}23522353/** @name XcmV0OriginKind */2354export interface XcmV0OriginKind extends Enum {2355  readonly isNative: boolean;2356  readonly isSovereignAccount: boolean;2357  readonly isSuperuser: boolean;2358  readonly isXcm: boolean;2359  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2360}23612362/** @name XcmV0Response */2363export interface XcmV0Response extends Enum {2364  readonly isAssets: boolean;2365  readonly asAssets: Vec<XcmV0MultiAsset>;2366  readonly type: 'Assets';2367}23682369/** @name XcmV0Xcm */2370export interface XcmV0Xcm extends Enum {2371  readonly isWithdrawAsset: boolean;2372  readonly asWithdrawAsset: {2373    readonly assets: Vec<XcmV0MultiAsset>;2374    readonly effects: Vec<XcmV0Order>;2375  } & Struct;2376  readonly isReserveAssetDeposit: boolean;2377  readonly asReserveAssetDeposit: {2378    readonly assets: Vec<XcmV0MultiAsset>;2379    readonly effects: Vec<XcmV0Order>;2380  } & Struct;2381  readonly isTeleportAsset: boolean;2382  readonly asTeleportAsset: {2383    readonly assets: Vec<XcmV0MultiAsset>;2384    readonly effects: Vec<XcmV0Order>;2385  } & Struct;2386  readonly isQueryResponse: boolean;2387  readonly asQueryResponse: {2388    readonly queryId: Compact<u64>;2389    readonly response: XcmV0Response;2390  } & Struct;2391  readonly isTransferAsset: boolean;2392  readonly asTransferAsset: {2393    readonly assets: Vec<XcmV0MultiAsset>;2394    readonly dest: XcmV0MultiLocation;2395  } & Struct;2396  readonly isTransferReserveAsset: boolean;2397  readonly asTransferReserveAsset: {2398    readonly assets: Vec<XcmV0MultiAsset>;2399    readonly dest: XcmV0MultiLocation;2400    readonly effects: Vec<XcmV0Order>;2401  } & Struct;2402  readonly isTransact: boolean;2403  readonly asTransact: {2404    readonly originType: XcmV0OriginKind;2405    readonly requireWeightAtMost: u64;2406    readonly call: XcmDoubleEncoded;2407  } & Struct;2408  readonly isHrmpNewChannelOpenRequest: boolean;2409  readonly asHrmpNewChannelOpenRequest: {2410    readonly sender: Compact<u32>;2411    readonly maxMessageSize: Compact<u32>;2412    readonly maxCapacity: Compact<u32>;2413  } & Struct;2414  readonly isHrmpChannelAccepted: boolean;2415  readonly asHrmpChannelAccepted: {2416    readonly recipient: Compact<u32>;2417  } & Struct;2418  readonly isHrmpChannelClosing: boolean;2419  readonly asHrmpChannelClosing: {2420    readonly initiator: Compact<u32>;2421    readonly sender: Compact<u32>;2422    readonly recipient: Compact<u32>;2423  } & Struct;2424  readonly isRelayedFrom: boolean;2425  readonly asRelayedFrom: {2426    readonly who: XcmV0MultiLocation;2427    readonly message: XcmV0Xcm;2428  } & Struct;2429  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2430}24312432/** @name XcmV1Junction */2433export interface XcmV1Junction extends Enum {2434  readonly isParachain: boolean;2435  readonly asParachain: Compact<u32>;2436  readonly isAccountId32: boolean;2437  readonly asAccountId32: {2438    readonly network: XcmV0JunctionNetworkId;2439    readonly id: U8aFixed;2440  } & Struct;2441  readonly isAccountIndex64: boolean;2442  readonly asAccountIndex64: {2443    readonly network: XcmV0JunctionNetworkId;2444    readonly index: Compact<u64>;2445  } & Struct;2446  readonly isAccountKey20: boolean;2447  readonly asAccountKey20: {2448    readonly network: XcmV0JunctionNetworkId;2449    readonly key: U8aFixed;2450  } & Struct;2451  readonly isPalletInstance: boolean;2452  readonly asPalletInstance: u8;2453  readonly isGeneralIndex: boolean;2454  readonly asGeneralIndex: Compact<u128>;2455  readonly isGeneralKey: boolean;2456  readonly asGeneralKey: Bytes;2457  readonly isOnlyChild: boolean;2458  readonly isPlurality: boolean;2459  readonly asPlurality: {2460    readonly id: XcmV0JunctionBodyId;2461    readonly part: XcmV0JunctionBodyPart;2462  } & Struct;2463  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2464}24652466/** @name XcmV1MultiAsset */2467export interface XcmV1MultiAsset extends Struct {2468  readonly id: XcmV1MultiassetAssetId;2469  readonly fun: XcmV1MultiassetFungibility;2470}24712472/** @name XcmV1MultiassetAssetId */2473export interface XcmV1MultiassetAssetId extends Enum {2474  readonly isConcrete: boolean;2475  readonly asConcrete: XcmV1MultiLocation;2476  readonly isAbstract: boolean;2477  readonly asAbstract: Bytes;2478  readonly type: 'Concrete' | 'Abstract';2479}24802481/** @name XcmV1MultiassetAssetInstance */2482export interface XcmV1MultiassetAssetInstance extends Enum {2483  readonly isUndefined: boolean;2484  readonly isIndex: boolean;2485  readonly asIndex: Compact<u128>;2486  readonly isArray4: boolean;2487  readonly asArray4: U8aFixed;2488  readonly isArray8: boolean;2489  readonly asArray8: U8aFixed;2490  readonly isArray16: boolean;2491  readonly asArray16: U8aFixed;2492  readonly isArray32: boolean;2493  readonly asArray32: U8aFixed;2494  readonly isBlob: boolean;2495  readonly asBlob: Bytes;2496  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2497}24982499/** @name XcmV1MultiassetFungibility */2500export interface XcmV1MultiassetFungibility extends Enum {2501  readonly isFungible: boolean;2502  readonly asFungible: Compact<u128>;2503  readonly isNonFungible: boolean;2504  readonly asNonFungible: XcmV1MultiassetAssetInstance;2505  readonly type: 'Fungible' | 'NonFungible';2506}25072508/** @name XcmV1MultiassetMultiAssetFilter */2509export interface XcmV1MultiassetMultiAssetFilter extends Enum {2510  readonly isDefinite: boolean;2511  readonly asDefinite: XcmV1MultiassetMultiAssets;2512  readonly isWild: boolean;2513  readonly asWild: XcmV1MultiassetWildMultiAsset;2514  readonly type: 'Definite' | 'Wild';2515}25162517/** @name XcmV1MultiassetMultiAssets */2518export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}25192520/** @name XcmV1MultiassetWildFungibility */2521export interface XcmV1MultiassetWildFungibility extends Enum {2522  readonly isFungible: boolean;2523  readonly isNonFungible: boolean;2524  readonly type: 'Fungible' | 'NonFungible';2525}25262527/** @name XcmV1MultiassetWildMultiAsset */2528export interface XcmV1MultiassetWildMultiAsset extends Enum {2529  readonly isAll: boolean;2530  readonly isAllOf: boolean;2531  readonly asAllOf: {2532    readonly id: XcmV1MultiassetAssetId;2533    readonly fun: XcmV1MultiassetWildFungibility;2534  } & Struct;2535  readonly type: 'All' | 'AllOf';2536}25372538/** @name XcmV1MultiLocation */2539export interface XcmV1MultiLocation extends Struct {2540  readonly parents: u8;2541  readonly interior: XcmV1MultilocationJunctions;2542}25432544/** @name XcmV1MultilocationJunctions */2545export interface XcmV1MultilocationJunctions extends Enum {2546  readonly isHere: boolean;2547  readonly isX1: boolean;2548  readonly asX1: XcmV1Junction;2549  readonly isX2: boolean;2550  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2551  readonly isX3: boolean;2552  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2553  readonly isX4: boolean;2554  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2555  readonly isX5: boolean;2556  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2557  readonly isX6: boolean;2558  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2559  readonly isX7: boolean;2560  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2561  readonly isX8: boolean;2562  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2563  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2564}25652566/** @name XcmV1Order */2567export interface XcmV1Order extends Enum {2568  readonly isNoop: boolean;2569  readonly isDepositAsset: boolean;2570  readonly asDepositAsset: {2571    readonly assets: XcmV1MultiassetMultiAssetFilter;2572    readonly maxAssets: u32;2573    readonly beneficiary: XcmV1MultiLocation;2574  } & Struct;2575  readonly isDepositReserveAsset: boolean;2576  readonly asDepositReserveAsset: {2577    readonly assets: XcmV1MultiassetMultiAssetFilter;2578    readonly maxAssets: u32;2579    readonly dest: XcmV1MultiLocation;2580    readonly effects: Vec<XcmV1Order>;2581  } & Struct;2582  readonly isExchangeAsset: boolean;2583  readonly asExchangeAsset: {2584    readonly give: XcmV1MultiassetMultiAssetFilter;2585    readonly receive: XcmV1MultiassetMultiAssets;2586  } & Struct;2587  readonly isInitiateReserveWithdraw: boolean;2588  readonly asInitiateReserveWithdraw: {2589    readonly assets: XcmV1MultiassetMultiAssetFilter;2590    readonly reserve: XcmV1MultiLocation;2591    readonly effects: Vec<XcmV1Order>;2592  } & Struct;2593  readonly isInitiateTeleport: boolean;2594  readonly asInitiateTeleport: {2595    readonly assets: XcmV1MultiassetMultiAssetFilter;2596    readonly dest: XcmV1MultiLocation;2597    readonly effects: Vec<XcmV1Order>;2598  } & Struct;2599  readonly isQueryHolding: boolean;2600  readonly asQueryHolding: {2601    readonly queryId: Compact<u64>;2602    readonly dest: XcmV1MultiLocation;2603    readonly assets: XcmV1MultiassetMultiAssetFilter;2604  } & Struct;2605  readonly isBuyExecution: boolean;2606  readonly asBuyExecution: {2607    readonly fees: XcmV1MultiAsset;2608    readonly weight: u64;2609    readonly debt: u64;2610    readonly haltOnError: bool;2611    readonly instructions: Vec<XcmV1Xcm>;2612  } & Struct;2613  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2614}26152616/** @name XcmV1Response */2617export interface XcmV1Response extends Enum {2618  readonly isAssets: boolean;2619  readonly asAssets: XcmV1MultiassetMultiAssets;2620  readonly isVersion: boolean;2621  readonly asVersion: u32;2622  readonly type: 'Assets' | 'Version';2623}26242625/** @name XcmV1Xcm */2626export interface XcmV1Xcm extends Enum {2627  readonly isWithdrawAsset: boolean;2628  readonly asWithdrawAsset: {2629    readonly assets: XcmV1MultiassetMultiAssets;2630    readonly effects: Vec<XcmV1Order>;2631  } & Struct;2632  readonly isReserveAssetDeposited: boolean;2633  readonly asReserveAssetDeposited: {2634    readonly assets: XcmV1MultiassetMultiAssets;2635    readonly effects: Vec<XcmV1Order>;2636  } & Struct;2637  readonly isReceiveTeleportedAsset: boolean;2638  readonly asReceiveTeleportedAsset: {2639    readonly assets: XcmV1MultiassetMultiAssets;2640    readonly effects: Vec<XcmV1Order>;2641  } & Struct;2642  readonly isQueryResponse: boolean;2643  readonly asQueryResponse: {2644    readonly queryId: Compact<u64>;2645    readonly response: XcmV1Response;2646  } & Struct;2647  readonly isTransferAsset: boolean;2648  readonly asTransferAsset: {2649    readonly assets: XcmV1MultiassetMultiAssets;2650    readonly beneficiary: XcmV1MultiLocation;2651  } & Struct;2652  readonly isTransferReserveAsset: boolean;2653  readonly asTransferReserveAsset: {2654    readonly assets: XcmV1MultiassetMultiAssets;2655    readonly dest: XcmV1MultiLocation;2656    readonly effects: Vec<XcmV1Order>;2657  } & Struct;2658  readonly isTransact: boolean;2659  readonly asTransact: {2660    readonly originType: XcmV0OriginKind;2661    readonly requireWeightAtMost: u64;2662    readonly call: XcmDoubleEncoded;2663  } & Struct;2664  readonly isHrmpNewChannelOpenRequest: boolean;2665  readonly asHrmpNewChannelOpenRequest: {2666    readonly sender: Compact<u32>;2667    readonly maxMessageSize: Compact<u32>;2668    readonly maxCapacity: Compact<u32>;2669  } & Struct;2670  readonly isHrmpChannelAccepted: boolean;2671  readonly asHrmpChannelAccepted: {2672    readonly recipient: Compact<u32>;2673  } & Struct;2674  readonly isHrmpChannelClosing: boolean;2675  readonly asHrmpChannelClosing: {2676    readonly initiator: Compact<u32>;2677    readonly sender: Compact<u32>;2678    readonly recipient: Compact<u32>;2679  } & Struct;2680  readonly isRelayedFrom: boolean;2681  readonly asRelayedFrom: {2682    readonly who: XcmV1MultilocationJunctions;2683    readonly message: XcmV1Xcm;2684  } & Struct;2685  readonly isSubscribeVersion: boolean;2686  readonly asSubscribeVersion: {2687    readonly queryId: Compact<u64>;2688    readonly maxResponseWeight: Compact<u64>;2689  } & Struct;2690  readonly isUnsubscribeVersion: boolean;2691  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2692}26932694/** @name XcmV2Instruction */2695export interface XcmV2Instruction extends Enum {2696  readonly isWithdrawAsset: boolean;2697  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2698  readonly isReserveAssetDeposited: boolean;2699  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2700  readonly isReceiveTeleportedAsset: boolean;2701  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2702  readonly isQueryResponse: boolean;2703  readonly asQueryResponse: {2704    readonly queryId: Compact<u64>;2705    readonly response: XcmV2Response;2706    readonly maxWeight: Compact<u64>;2707  } & Struct;2708  readonly isTransferAsset: boolean;2709  readonly asTransferAsset: {2710    readonly assets: XcmV1MultiassetMultiAssets;2711    readonly beneficiary: XcmV1MultiLocation;2712  } & Struct;2713  readonly isTransferReserveAsset: boolean;2714  readonly asTransferReserveAsset: {2715    readonly assets: XcmV1MultiassetMultiAssets;2716    readonly dest: XcmV1MultiLocation;2717    readonly xcm: XcmV2Xcm;2718  } & Struct;2719  readonly isTransact: boolean;2720  readonly asTransact: {2721    readonly originType: XcmV0OriginKind;2722    readonly requireWeightAtMost: Compact<u64>;2723    readonly call: XcmDoubleEncoded;2724  } & Struct;2725  readonly isHrmpNewChannelOpenRequest: boolean;2726  readonly asHrmpNewChannelOpenRequest: {2727    readonly sender: Compact<u32>;2728    readonly maxMessageSize: Compact<u32>;2729    readonly maxCapacity: Compact<u32>;2730  } & Struct;2731  readonly isHrmpChannelAccepted: boolean;2732  readonly asHrmpChannelAccepted: {2733    readonly recipient: Compact<u32>;2734  } & Struct;2735  readonly isHrmpChannelClosing: boolean;2736  readonly asHrmpChannelClosing: {2737    readonly initiator: Compact<u32>;2738    readonly sender: Compact<u32>;2739    readonly recipient: Compact<u32>;2740  } & Struct;2741  readonly isClearOrigin: boolean;2742  readonly isDescendOrigin: boolean;2743  readonly asDescendOrigin: XcmV1MultilocationJunctions;2744  readonly isReportError: boolean;2745  readonly asReportError: {2746    readonly queryId: Compact<u64>;2747    readonly dest: XcmV1MultiLocation;2748    readonly maxResponseWeight: Compact<u64>;2749  } & Struct;2750  readonly isDepositAsset: boolean;2751  readonly asDepositAsset: {2752    readonly assets: XcmV1MultiassetMultiAssetFilter;2753    readonly maxAssets: Compact<u32>;2754    readonly beneficiary: XcmV1MultiLocation;2755  } & Struct;2756  readonly isDepositReserveAsset: boolean;2757  readonly asDepositReserveAsset: {2758    readonly assets: XcmV1MultiassetMultiAssetFilter;2759    readonly maxAssets: Compact<u32>;2760    readonly dest: XcmV1MultiLocation;2761    readonly xcm: XcmV2Xcm;2762  } & Struct;2763  readonly isExchangeAsset: boolean;2764  readonly asExchangeAsset: {2765    readonly give: XcmV1MultiassetMultiAssetFilter;2766    readonly receive: XcmV1MultiassetMultiAssets;2767  } & Struct;2768  readonly isInitiateReserveWithdraw: boolean;2769  readonly asInitiateReserveWithdraw: {2770    readonly assets: XcmV1MultiassetMultiAssetFilter;2771    readonly reserve: XcmV1MultiLocation;2772    readonly xcm: XcmV2Xcm;2773  } & Struct;2774  readonly isInitiateTeleport: boolean;2775  readonly asInitiateTeleport: {2776    readonly assets: XcmV1MultiassetMultiAssetFilter;2777    readonly dest: XcmV1MultiLocation;2778    readonly xcm: XcmV2Xcm;2779  } & Struct;2780  readonly isQueryHolding: boolean;2781  readonly asQueryHolding: {2782    readonly queryId: Compact<u64>;2783    readonly dest: XcmV1MultiLocation;2784    readonly assets: XcmV1MultiassetMultiAssetFilter;2785    readonly maxResponseWeight: Compact<u64>;2786  } & Struct;2787  readonly isBuyExecution: boolean;2788  readonly asBuyExecution: {2789    readonly fees: XcmV1MultiAsset;2790    readonly weightLimit: XcmV2WeightLimit;2791  } & Struct;2792  readonly isRefundSurplus: boolean;2793  readonly isSetErrorHandler: boolean;2794  readonly asSetErrorHandler: XcmV2Xcm;2795  readonly isSetAppendix: boolean;2796  readonly asSetAppendix: XcmV2Xcm;2797  readonly isClearError: boolean;2798  readonly isClaimAsset: boolean;2799  readonly asClaimAsset: {2800    readonly assets: XcmV1MultiassetMultiAssets;2801    readonly ticket: XcmV1MultiLocation;2802  } & Struct;2803  readonly isTrap: boolean;2804  readonly asTrap: Compact<u64>;2805  readonly isSubscribeVersion: boolean;2806  readonly asSubscribeVersion: {2807    readonly queryId: Compact<u64>;2808    readonly maxResponseWeight: Compact<u64>;2809  } & Struct;2810  readonly isUnsubscribeVersion: boolean;2811  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';2812}28132814/** @name XcmV2Response */2815export interface XcmV2Response extends Enum {2816  readonly isNull: boolean;2817  readonly isAssets: boolean;2818  readonly asAssets: XcmV1MultiassetMultiAssets;2819  readonly isExecutionResult: boolean;2820  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2821  readonly isVersion: boolean;2822  readonly asVersion: u32;2823  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2824}28252826/** @name XcmV2TraitsError */2827export interface XcmV2TraitsError extends Enum {2828  readonly isOverflow: boolean;2829  readonly isUnimplemented: boolean;2830  readonly isUntrustedReserveLocation: boolean;2831  readonly isUntrustedTeleportLocation: boolean;2832  readonly isMultiLocationFull: boolean;2833  readonly isMultiLocationNotInvertible: boolean;2834  readonly isBadOrigin: boolean;2835  readonly isInvalidLocation: boolean;2836  readonly isAssetNotFound: boolean;2837  readonly isFailedToTransactAsset: boolean;2838  readonly isNotWithdrawable: boolean;2839  readonly isLocationCannotHold: boolean;2840  readonly isExceedsMaxMessageSize: boolean;2841  readonly isDestinationUnsupported: boolean;2842  readonly isTransport: boolean;2843  readonly isUnroutable: boolean;2844  readonly isUnknownClaim: boolean;2845  readonly isFailedToDecode: boolean;2846  readonly isMaxWeightInvalid: boolean;2847  readonly isNotHoldingFees: boolean;2848  readonly isTooExpensive: boolean;2849  readonly isTrap: boolean;2850  readonly asTrap: u64;2851  readonly isUnhandledXcmVersion: boolean;2852  readonly isWeightLimitReached: boolean;2853  readonly asWeightLimitReached: u64;2854  readonly isBarrier: boolean;2855  readonly isWeightNotComputable: boolean;2856  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';2857}28582859/** @name XcmV2TraitsOutcome */2860export interface XcmV2TraitsOutcome extends Enum {2861  readonly isComplete: boolean;2862  readonly asComplete: u64;2863  readonly isIncomplete: boolean;2864  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;2865  readonly isError: boolean;2866  readonly asError: XcmV2TraitsError;2867  readonly type: 'Complete' | 'Incomplete' | 'Error';2868}28692870/** @name XcmV2WeightLimit */2871export interface XcmV2WeightLimit extends Enum {2872  readonly isUnlimited: boolean;2873  readonly isLimited: boolean;2874  readonly asLimited: Compact<u64>;2875  readonly type: 'Unlimited' | 'Limited';2876}28772878/** @name XcmV2Xcm */2879export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}28802881/** @name XcmVersionedMultiAssets */2882export interface XcmVersionedMultiAssets extends Enum {2883  readonly isV0: boolean;2884  readonly asV0: Vec<XcmV0MultiAsset>;2885  readonly isV1: boolean;2886  readonly asV1: XcmV1MultiassetMultiAssets;2887  readonly type: 'V0' | 'V1';2888}28892890/** @name XcmVersionedMultiLocation */2891export interface XcmVersionedMultiLocation extends Enum {2892  readonly isV0: boolean;2893  readonly asV0: XcmV0MultiLocation;2894  readonly isV1: boolean;2895  readonly asV1: XcmV1MultiLocation;2896  readonly type: 'V0' | 'V1';2897}28982899/** @name XcmVersionedXcm */2900export interface XcmVersionedXcm extends Enum {2901  readonly isV0: boolean;2902  readonly asV0: XcmV0Xcm;2903  readonly isV1: boolean;2904  readonly asV1: XcmV1Xcm;2905  readonly isV2: boolean;2906  readonly asV2: XcmV2Xcm;2907  readonly type: 'V0' | 'V1' | 'V2';2908}29092910export type PHANTOM_UNIQUE = 'unique';
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -41,6 +41,7 @@
     },
     rpc: {
       unique: defs.unique.rpc,
+      rmrk: defs.rmrk.rpc,
       eth: {
         feeHistory: {
           description: 'Dummy',