git.delta.rocks / unique-network / refs/commits / 5f2e50bafc58

difftreelog

Merge branch 'develop' into feature/CORE-325

Igor Kozyrev2022-04-21parents: #c97f702 #23e7e86.patch.diff
in: master

63 files changed

modified.gitignorediffbeforeafterboth
--- a/.gitignore
+++ b/.gitignore
@@ -11,6 +11,7 @@
 *store_key*.json
 
 /.idea/
+/.cargo/
 
 tests/.vscode
 cumulus-parachain/
modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -68,7 +68,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
 dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
  "once_cell",
  "version_check",
 ]
@@ -188,9 +188,9 @@
 
 [[package]]
 name = "async-global-executor"
-version = "2.0.3"
+version = "2.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c026b7e44f1316b567ee750fea85103f87fcb80792b860e979f221259796ca0a"
+checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43"
 dependencies = [
  "async-channel",
  "async-executor",
@@ -306,9 +306,9 @@
 
 [[package]]
 name = "async-trait"
-version = "0.1.52"
+version = "0.1.53"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "061a7acccaa286c011ddc30970520b98fa40e00c9d644633fb26b5fc63a265e3"
+checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -392,7 +392,7 @@
 checksum = "b62ddb9cb1ec0a098ad4bbf9344d0713fa193ae1a80af55febcff2627b6a00c1"
 dependencies = [
  "futures-core",
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
  "instant",
  "pin-project-lite 0.2.8",
  "rand 0.8.5",
@@ -440,9 +440,9 @@
 
 [[package]]
 name = "base64ct"
-version = "1.4.1"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "71acf5509fc522cce1b100ac0121c635129bfd4d91cdf036bcc9b9935f97ccf5"
+checksum = "dea908e7347a8c64e378c17e30ef880ad73e3b4498346b055c2c00ea342f3179"
 
 [[package]]
 name = "beef"
@@ -990,7 +990,7 @@
 dependencies = [
  "camino",
  "cargo-platform",
- "semver 1.0.6",
+ "semver 1.0.7",
  "serde",
  "serde_json",
 ]
@@ -1111,9 +1111,9 @@
 
 [[package]]
 name = "clap"
-version = "3.1.6"
+version = "3.1.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123"
+checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c"
 dependencies = [
  "atty",
  "bitflags",
@@ -1128,9 +1128,9 @@
 
 [[package]]
 name = "clap_derive"
-version = "3.1.4"
+version = "3.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16"
+checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1"
 dependencies = [
  "heck 0.4.0",
  "proc-macro-error",
@@ -1913,9 +1913,9 @@
 
 [[package]]
 name = "darling"
-version = "0.13.1"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4"
+checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c"
 dependencies = [
  "darling_core",
  "darling_macro",
@@ -1923,9 +1923,9 @@
 
 [[package]]
 name = "darling_core"
-version = "0.13.1"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324"
+checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610"
 dependencies = [
  "fnv",
  "ident_case",
@@ -1937,9 +1937,9 @@
 
 [[package]]
 name = "darling_macro"
-version = "0.13.1"
+version = "0.13.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b"
+checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835"
 dependencies = [
  "darling_core",
  "quote",
@@ -2484,7 +2484,7 @@
 [[package]]
 name = "fc-consensus"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "async-trait",
  "derive_more",
@@ -2511,7 +2511,7 @@
 [[package]]
 name = "fc-db"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "fp-storage",
  "kvdb",
@@ -2527,7 +2527,7 @@
 [[package]]
 name = "fc-mapping-sync"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "fc-consensus",
  "fc-db",
@@ -2545,7 +2545,7 @@
 [[package]]
 name = "fc-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -2591,7 +2591,7 @@
 [[package]]
 name = "fc-rpc-core"
 version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -2725,7 +2725,7 @@
 [[package]]
 name = "fp-consensus"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "parity-scale-codec",
@@ -2739,7 +2739,7 @@
 [[package]]
 name = "fp-evm"
 version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "evm",
  "impl-trait-for-tuples",
@@ -2751,9 +2751,18 @@
 ]
 
 [[package]]
+name = "fp-evm-mapping"
+version = "0.1.0"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
+dependencies = [
+ "frame-support",
+ "sp-core",
+]
+
+[[package]]
 name = "fp-rpc"
 version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -2770,7 +2779,7 @@
 [[package]]
 name = "fp-self-contained"
 version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "frame-support",
@@ -2787,7 +2796,7 @@
 [[package]]
 name = "fp-storage"
 version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 
 [[package]]
 name = "frame-benchmarking"
@@ -3234,9 +3243,9 @@
 
 [[package]]
 name = "getrandom"
-version = "0.2.5"
+version = "0.2.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77"
+checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -3308,9 +3317,9 @@
 
 [[package]]
 name = "h2"
-version = "0.3.12"
+version = "0.3.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "62eeb471aa3e3c9197aa4bfeabfe02982f6dc96f750486c0bb0009ac58b26d2b"
+checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
 dependencies = [
  "bytes 1.1.0",
  "fnv",
@@ -3321,7 +3330,7 @@
  "indexmap",
  "slab",
  "tokio 1.17.0",
- "tokio-util",
+ "tokio-util 0.7.1",
  "tracing",
 ]
 
@@ -3679,9 +3688,9 @@
 
 [[package]]
 name = "indexmap"
-version = "1.8.0"
+version = "1.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223"
+checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee"
 dependencies = [
  "autocfg",
  "hashbrown 0.11.2",
@@ -3906,7 +3915,7 @@
  "log",
  "tokio 1.17.0",
  "tokio-stream",
- "tokio-util",
+ "tokio-util 0.6.9",
  "unicase",
 ]
 
@@ -3976,7 +3985,7 @@
  "thiserror",
  "tokio 1.17.0",
  "tokio-rustls 0.23.3",
- "tokio-util",
+ "tokio-util 0.6.9",
  "tracing",
  "webpki-roots 0.22.2",
 ]
@@ -3997,7 +4006,7 @@
  "thiserror",
  "tokio 1.17.0",
  "tokio-rustls 0.23.3",
- "tokio-util",
+ "tokio-util 0.6.9",
  "tracing",
  "webpki-roots 0.22.2",
 ]
@@ -4158,7 +4167,7 @@
  "thiserror",
  "tokio 1.17.0",
  "tokio-rustls 0.22.0",
- "tokio-util",
+ "tokio-util 0.6.9",
 ]
 
 [[package]]
@@ -4769,7 +4778,7 @@
  "libp2p-core",
  "libp2p-swarm",
  "log",
- "lru 0.7.3",
+ "lru 0.7.5",
  "rand 0.7.3",
  "smallvec",
  "unsigned-varint 0.7.1",
@@ -4999,10 +5008,11 @@
 
 [[package]]
 name = "lock_api"
-version = "0.4.6"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b"
+checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
 dependencies = [
+ "autocfg",
  "scopeguard",
 ]
 
@@ -5027,9 +5037,9 @@
 
 [[package]]
 name = "lru"
-version = "0.7.3"
+version = "0.7.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fcb87f3080f6d1d69e8c564c0fcfde1d7aa8cc451ce40cae89479111f03bc0eb"
+checksum = "32613e41de4c47ab04970c348ca7ae7382cf116625755af070b008a15516a889"
 dependencies = [
  "hashbrown 0.11.2",
 ]
@@ -5576,6 +5586,7 @@
  "cumulus-primitives-timestamp",
  "cumulus-primitives-utility",
  "derivative",
+ "fp-evm-mapping",
  "fp-rpc",
  "fp-self-contained",
  "frame-benchmarking",
@@ -5632,7 +5643,6 @@
  "substrate-wasm-builder",
  "unique-runtime-common",
  "up-data-structs",
- "up-evm-mapping",
  "up-rpc",
  "xcm",
  "xcm-builder",
@@ -5831,7 +5841,7 @@
 [[package]]
 name = "pallet-base-fee"
 version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "frame-support",
  "frame-system",
@@ -5984,6 +5994,7 @@
 version = "0.1.0"
 dependencies = [
  "evm-coder",
+ "fp-evm-mapping",
  "frame-support",
  "frame-system",
  "pallet-evm",
@@ -5995,7 +6006,6 @@
  "sp-runtime",
  "sp-std",
  "up-data-structs",
- "up-evm-mapping",
 ]
 
 [[package]]
@@ -6058,13 +6068,14 @@
 [[package]]
 name = "pallet-ethereum"
 version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "ethereum",
  "ethereum-types",
  "evm",
  "fp-consensus",
  "fp-evm",
+ "fp-evm-mapping",
  "fp-rpc",
  "fp-self-contained",
  "fp-storage",
@@ -6088,12 +6099,13 @@
 [[package]]
 name = "pallet-evm"
 version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18#7c8ce8f83e0c8a5b57655622b721f8655b161903"
+source = "git+https://github.com/uniquenetwork/frontier.git?branch=unique-polkadot-v0.9.18-2#82310d1dd3189f34bd901a9ac894ad33eca5cf89"
 dependencies = [
  "evm",
  "evm-gasometer",
  "evm-runtime",
  "fp-evm",
+ "fp-evm-mapping",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
@@ -6136,6 +6148,7 @@
 version = "0.1.0"
 dependencies = [
  "evm-coder",
+ "fp-evm-mapping",
  "frame-support",
  "frame-system",
  "log",
@@ -6171,6 +6184,7 @@
 version = "0.1.0"
 dependencies = [
  "fp-evm",
+ "fp-evm-mapping",
  "frame-support",
  "frame-system",
  "pallet-ethereum",
@@ -6181,7 +6195,6 @@
  "sp-io",
  "sp-runtime",
  "sp-std",
- "up-evm-mapping",
  "up-sponsorship",
 ]
 
@@ -6195,6 +6208,7 @@
  "frame-support",
  "frame-system",
  "pallet-common",
+ "pallet-evm",
  "pallet-evm-coder-substrate",
  "parity-scale-codec",
  "scale-info",
@@ -6421,6 +6435,7 @@
  "frame-support",
  "frame-system",
  "pallet-common",
+ "pallet-evm",
  "pallet-evm-coder-substrate",
  "parity-scale-codec",
  "scale-info",
@@ -6537,6 +6552,7 @@
  "frame-support",
  "frame-system",
  "pallet-common",
+ "pallet-evm",
  "parity-scale-codec",
  "scale-info",
  "sp-core",
@@ -6672,7 +6688,7 @@
 [[package]]
 name = "pallet-template-transaction-payment"
 version = "3.0.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#e914a799e5ff1c18383a614ea99e87dd7f3f446e"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6795,6 +6811,7 @@
  "ethereum",
  "evm-coder",
  "fp-evm",
+ "fp-evm-mapping",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
@@ -6821,7 +6838,6 @@
  "sp-runtime",
  "sp-std",
  "up-data-structs",
- "up-evm-mapping",
  "up-sponsorship",
 ]
 
@@ -6925,9 +6941,9 @@
 
 [[package]]
 name = "parity-db"
-version = "0.3.9"
+version = "0.3.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d121a9af17a43efd0a38c6afa508b927ba07785bd4709efb2ac03bf77efef8d"
+checksum = "b3e7f385d61562f5834282b90aa50b41f38a35cf64d5209b8b05487b50553dbe"
 dependencies = [
  "blake2-rfc",
  "crc32fast",
@@ -6998,7 +7014,7 @@
  "ethereum-types",
  "hashbrown 0.12.0",
  "impl-trait-for-tuples",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-util-mem-derive",
  "parking_lot 0.12.0",
  "primitive-types",
@@ -7074,7 +7090,7 @@
 checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58"
 dependencies = [
  "lock_api",
- "parking_lot_core 0.9.1",
+ "parking_lot_core 0.9.2",
 ]
 
 [[package]]
@@ -7093,9 +7109,9 @@
 
 [[package]]
 name = "parking_lot_core"
-version = "0.9.1"
+version = "0.9.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954"
+checksum = "995f667a6c822200b0433ac218e05582f0e2efa1b922a3fd2fbaadc5f87bab37"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
@@ -7106,9 +7122,9 @@
 
 [[package]]
 name = "paste"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
+checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc"
 
 [[package]]
 name = "pbkdf2"
@@ -7270,9 +7286,9 @@
 
 [[package]]
 name = "pkg-config"
-version = "0.3.24"
+version = "0.3.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe"
+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
 
 [[package]]
 name = "platforms"
@@ -7315,7 +7331,7 @@
  "derive_more",
  "fatality",
  "futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
@@ -7337,7 +7353,7 @@
 dependencies = [
  "fatality",
  "futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
@@ -7446,7 +7462,7 @@
  "derive_more",
  "fatality",
  "futures 0.3.21",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
@@ -7542,7 +7558,7 @@
  "futures 0.3.21",
  "futures-timer",
  "kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
  "merlin",
  "parity-scale-codec",
  "polkadot-node-jaeger",
@@ -7671,7 +7687,7 @@
  "fatality",
  "futures 0.3.21",
  "kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7897,7 +7913,7 @@
  "futures 0.3.21",
  "itertools",
  "kvdb",
- "lru 0.7.3",
+ "lru 0.7.5",
  "metered-channel",
  "parity-db",
  "parity-scale-codec",
@@ -7926,7 +7942,7 @@
 dependencies = [
  "futures 0.3.21",
  "futures-timer",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-util-mem",
  "parking_lot 0.12.0",
  "polkadot-node-metrics",
@@ -8273,7 +8289,7 @@
  "kusama-runtime",
  "kvdb",
  "kvdb-rocksdb",
- "lru 0.7.3",
+ "lru 0.7.5",
  "pallet-babe",
  "pallet-im-online",
  "pallet-mmr-primitives",
@@ -8608,9 +8624,9 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.36"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
 dependencies = [
  "unicode-xid",
 ]
@@ -8684,9 +8700,9 @@
 
 [[package]]
 name = "psm"
-version = "0.1.17"
+version = "0.1.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6eca0fa5dd7c4c96e184cec588f0b1db1ee3165e678db21c09793105acb17e6f"
+checksum = "871372391786ccec00d3c5d3d6608905b3d4db263639cfe075d3b60a736d115a"
 dependencies = [
  "cc",
 ]
@@ -8704,6 +8720,7 @@
  "cumulus-primitives-timestamp",
  "cumulus-primitives-utility",
  "derivative",
+ "fp-evm-mapping",
  "fp-rpc",
  "fp-self-contained",
  "frame-executive",
@@ -8757,7 +8774,6 @@
  "substrate-wasm-builder",
  "unique-runtime-common",
  "up-data-structs",
- "up-evm-mapping",
  "up-rpc",
  "xcm",
  "xcm-builder",
@@ -8789,9 +8805,9 @@
 
 [[package]]
 name = "quote"
-version = "1.0.16"
+version = "1.0.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b4af2ec4714533fcdf07e886f17025ace8b997b9ce51204ee69b6da831c3da57"
+checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58"
 dependencies = [
  "proc-macro2",
 ]
@@ -8862,7 +8878,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
 dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
 ]
 
 [[package]]
@@ -8926,20 +8942,20 @@
 
 [[package]]
 name = "redox_syscall"
-version = "0.2.11"
+version = "0.2.13"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c"
+checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
 dependencies = [
  "bitflags",
 ]
 
 [[package]]
 name = "redox_users"
-version = "0.4.2"
+version = "0.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7776223e2696f1aa4c6b0170e83212f47296a00424305117d013dfe86fb0fe55"
+checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
 dependencies = [
- "getrandom 0.2.5",
+ "getrandom 0.2.6",
  "redox_syscall",
  "thiserror",
 ]
@@ -9253,7 +9269,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.6",
+ "semver 1.0.7",
 ]
 
 [[package]]
@@ -9974,7 +9990,7 @@
  "linked-hash-map",
  "linked_hash_set",
  "log",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "parking_lot 0.12.0",
  "pin-project 1.0.10",
@@ -10012,7 +10028,7 @@
  "futures-timer",
  "libp2p",
  "log",
- "lru 0.7.3",
+ "lru 0.7.5",
  "sc-network",
  "sp-runtime",
  "substrate-prometheus-endpoint",
@@ -10532,9 +10548,9 @@
 
 [[package]]
 name = "semver"
-version = "1.0.6"
+version = "1.0.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d"
+checksum = "d65bd28f48be7196d222d95b9243287f48d27aca604e08497513019ff0502cc4"
 dependencies = [
  "serde",
 ]
@@ -10747,9 +10763,9 @@
 
 [[package]]
 name = "slab"
-version = "0.4.5"
+version = "0.4.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5"
+checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
 
 [[package]]
 name = "slot-range-helper"
@@ -10940,7 +10956,7 @@
 dependencies = [
  "futures 0.3.21",
  "log",
- "lru 0.7.3",
+ "lru 0.7.5",
  "parity-scale-codec",
  "parking_lot 0.12.0",
  "sp-api",
@@ -11801,9 +11817,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.89"
+version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54"
+checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -12094,6 +12110,20 @@
 ]
 
 [[package]]
+name = "tokio-util"
+version = "0.7.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0edfdeb067411dba2044da6d1cb2df793dd35add7888d73c16e3381ded401764"
+dependencies = [
+ "bytes 1.1.0",
+ "futures-core",
+ "futures-sink",
+ "pin-project-lite 0.2.8",
+ "tokio 1.17.0",
+ "tracing",
+]
+
+[[package]]
 name = "toml"
 version = "0.5.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -12133,9 +12163,9 @@
 
 [[package]]
 name = "tracing-core"
-version = "0.1.23"
+version = "0.1.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c"
+checksum = "90442985ee2f57c9e1b548ee72ae842f4a9a20e3f417cc38dbc5dc684d9bb4ee"
 dependencies = [
  "lazy_static",
  "valuable",
@@ -12333,6 +12363,7 @@
  "jsonrpc-core-client",
  "jsonrpc-derive",
  "pallet-common",
+ "pallet-evm",
  "parity-scale-codec",
  "sp-api",
  "sp-blockchain",
@@ -12475,6 +12506,7 @@
  "substrate-build-script-utils",
  "substrate-frame-rpc-system",
  "substrate-prometheus-endpoint",
+ "tokio 1.17.0",
  "unique-rpc",
  "unique-runtime",
  "unique-runtime-common",
@@ -12542,6 +12574,7 @@
  "cumulus-primitives-timestamp",
  "cumulus-primitives-utility",
  "derivative",
+ "fp-evm-mapping",
  "fp-rpc",
  "fp-self-contained",
  "frame-benchmarking",
@@ -12598,7 +12631,6 @@
  "substrate-wasm-builder",
  "unique-runtime-common",
  "up-data-structs",
- "up-evm-mapping",
  "up-rpc",
  "xcm",
  "xcm-builder",
@@ -12613,6 +12645,7 @@
  "frame-support",
  "frame-system",
  "pallet-common",
+ "pallet-evm",
  "parity-scale-codec",
  "scale-info",
  "sp-consensus-aura",
@@ -12682,18 +12715,11 @@
 ]
 
 [[package]]
-name = "up-evm-mapping"
-version = "0.1.0"
-dependencies = [
- "frame-support",
- "sp-core",
-]
-
-[[package]]
 name = "up-rpc"
 version = "0.1.0"
 dependencies = [
  "pallet-common",
+ "pallet-evm",
  "parity-scale-codec",
  "sp-api",
  "sp-core",
@@ -12705,7 +12731,7 @@
 [[package]]
 name = "up-sponsorship"
 version = "0.1.0"
-source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#e914a799e5ff1c18383a614ea99e87dd7f3f446e"
+source = "git+https://github.com/UniqueNetwork/pallet-sponsoring?branch=polkadot-v0.9.18#7bc842b35a53f762ee6ee89e5f5bef84a284c9f4"
 dependencies = [
  "impl-trait-for-tuples",
 ]
@@ -13313,9 +13339,9 @@
 
 [[package]]
 name = "windows-sys"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6"
+checksum = "5acdd78cb4ba54c0045ac14f62d8f94a03d10047904ae2a40afa1e99d8f70825"
 dependencies = [
  "windows_aarch64_msvc",
  "windows_i686_gnu",
@@ -13326,33 +13352,33 @@
 
 [[package]]
 name = "windows_aarch64_msvc"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5"
+checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d"
 
 [[package]]
 name = "windows_i686_gnu"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615"
+checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed"
 
 [[package]]
 name = "windows_i686_msvc"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172"
+checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956"
 
 [[package]]
 name = "windows_x86_64_gnu"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc"
+checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4"
 
 [[package]]
 name = "windows_x86_64_msvc"
-version = "0.32.0"
+version = "0.34.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316"
+checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9"
 
 [[package]]
 name = "winreg"
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -18,3 +18,4 @@
 sp-core = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
 sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
 sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
modifiedclient/rpc/src/lib.rsdiffbeforeafterboth
--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -19,7 +19,7 @@
 use codec::Decode;
 use jsonrpc_core::{Error as RpcError, ErrorCode, Result};
 use jsonrpc_derive::rpc;
-use up_data_structs::{Collection, CollectionId, CollectionStats, TokenId};
+use up_data_structs::{Collection, CollectionId, CollectionStats, CollectionLimits, TokenId};
 use sp_api::{BlockId, BlockT, ProvideRuntimeApi, ApiExt};
 use sp_blockchain::HeaderBackend;
 use up_rpc::UniqueApi as UniqueRuntimeApi;
@@ -119,6 +119,21 @@
 	) -> Result<Option<Collection<AccountId>>>;
 	#[rpc(name = "unique_collectionStats")]
 	fn collection_stats(&self, at: Option<BlockHash>) -> Result<CollectionStats>;
+
+	#[rpc(name = "unique_nextSponsored")]
+	fn next_sponsored(
+		&self,
+		collection: CollectionId,
+		account: CrossAccountId,
+		token: TokenId,
+		at: Option<BlockHash>,
+	) -> Result<Option<u64>>;
+	#[rpc(name = "unique_effectiveCollectionLimits")]
+	fn effective_collection_limits(
+		&self,
+		collection_id: CollectionId,
+		at: Option<BlockHash>,
+	) -> Result<Option<CollectionLimits>>;
 }
 
 pub struct Unique<C, P> {
@@ -201,7 +216,7 @@
 	AccountId: Decode,
 	C: 'static + ProvideRuntimeApi<Block> + HeaderBackend<Block>,
 	C::Api: UniqueRuntimeApi<Block, CrossAccountId, AccountId>,
-	CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
+	CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
 {
 	pass_method!(account_tokens(collection: CollectionId, account: CrossAccountId) -> Vec<TokenId>);
 	pass_method!(token_exists(collection: CollectionId, token: TokenId) -> bool);
@@ -222,4 +237,6 @@
 	pass_method!(last_token_id(collection: CollectionId) -> TokenId);
 	pass_method!(collection_by_id(collection: CollectionId) -> Option<Collection<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>);
 }
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -302,13 +302,13 @@
 jsonrpc-pubsub = "18.0.0"
 tokio = { version = "1.17.0", features = ["time"] }
 
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 unique-rpc = { default-features = false, path = "../rpc" }
 
modifiednode/cli/src/chain_spec.rsdiffbeforeafterboth
--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -212,6 +212,16 @@
 				vec![
 					get_account_id_from_seed::<sr25519::Public>("Alice"),
 					get_account_id_from_seed::<sr25519::Public>("Bob"),
+					get_account_id_from_seed::<sr25519::Public>("Charlie"),
+					get_account_id_from_seed::<sr25519::Public>("Dave"),
+					get_account_id_from_seed::<sr25519::Public>("Eve"),
+					get_account_id_from_seed::<sr25519::Public>("Ferdie"),
+					get_account_id_from_seed::<sr25519::Public>("Alice//stash"),
+					get_account_id_from_seed::<sr25519::Public>("Bob//stash"),
+					get_account_id_from_seed::<sr25519::Public>("Charlie//stash"),
+					get_account_id_from_seed::<sr25519::Public>("Dave//stash"),
+					get_account_id_from_seed::<sr25519::Public>("Eve//stash"),
+					get_account_id_from_seed::<sr25519::Public>("Ferdie//stash"),
 				],
 				1000
 			)
modifiednode/rpc/Cargo.tomldiffbeforeafterboth
--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -41,12 +41,12 @@
 substrate-frame-rpc-system = { git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 tokio = { version = "0.2.25", features = ["macros", "sync"] }
 
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 pallet-common = { default-features = false, path = "../../pallets/common" }
 unique-runtime-common = { default-features = false, path = "../../runtime/common" }
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -16,11 +16,11 @@
 sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-up-evm-mapping = { default-features = false, path = '../../primitives/evm-mapping' }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 serde = { version = "1.0.130", default-features = false }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
@@ -33,7 +33,7 @@
     "frame-system/std",
     "sp-runtime/std",
     "sp-std/std",
-    "up-evm-mapping/std",
+    "fp-evm-mapping/std",
     "up-data-structs/std",
     "pallet-evm/std",
 ]
deletedpallets/common/src/account.rsdiffbeforeafterboth
--- a/pallets/common/src/account.rs
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-use crate::Config;
-use codec::{Encode, EncodeLike, Decode, MaxEncodedLen};
-use sp_core::H160;
-use scale_info::{Type, TypeInfo};
-use core::cmp::Ordering;
-use serde::{Serialize, Deserialize};
-use pallet_evm::AddressMapping;
-use sp_std::vec::Vec;
-use sp_std::clone::Clone;
-pub use up_evm_mapping::EvmBackwardsAddressMapping;
-
-pub trait CrossAccountId<AccountId>:
-	Encode + EncodeLike + Decode + TypeInfo + MaxEncodedLen + Clone + PartialEq + Ord + core::fmt::Debug
-// +
-// Serialize + Deserialize<'static>
-{
-	fn as_sub(&self) -> &AccountId;
-	fn as_eth(&self) -> &H160;
-
-	fn from_sub(account: AccountId) -> Self;
-	fn from_eth(account: H160) -> Self;
-
-	fn conv_eq(&self, other: &Self) -> bool;
-}
-
-#[derive(Encode, Decode, Serialize, Deserialize, TypeInfo, MaxEncodedLen)]
-#[serde(rename_all = "camelCase")]
-enum BasicCrossAccountIdRepr<AccountId> {
-	Substrate(AccountId),
-	Ethereum(H160),
-}
-
-#[derive(PartialEq, Eq)]
-pub struct BasicCrossAccountId<T: Config> {
-	/// If true - then ethereum is canonical encoding
-	from_ethereum: bool,
-	substrate: T::AccountId,
-	ethereum: H160,
-}
-
-impl<T: Config> MaxEncodedLen for BasicCrossAccountId<T> {
-	fn max_encoded_len() -> usize {
-		<BasicCrossAccountIdRepr<T::AccountId>>::max_encoded_len()
-	}
-}
-
-impl<T: Config> TypeInfo for BasicCrossAccountId<T> {
-	type Identity = Self;
-
-	fn type_info() -> Type {
-		<BasicCrossAccountIdRepr<T::AccountId>>::type_info()
-	}
-}
-
-impl<T: Config> core::fmt::Debug for BasicCrossAccountId<T> {
-	fn fmt(&self, fmt: &mut core::fmt::Formatter) -> core::fmt::Result {
-		if self.from_ethereum {
-			fmt.debug_tuple("CrossAccountId::Ethereum")
-				.field(&self.ethereum)
-				.finish()
-		} else {
-			fmt.debug_tuple("CrossAccountId::Substrate")
-				.field(&self.substrate)
-				.finish()
-		}
-	}
-}
-
-impl<T: Config> PartialOrd for BasicCrossAccountId<T> {
-	fn partial_cmp(&self, other: &Self) -> Option<Ordering> {
-		Some(self.substrate.cmp(&other.substrate))
-	}
-}
-
-impl<T: Config> Ord for BasicCrossAccountId<T> {
-	fn cmp(&self, other: &Self) -> Ordering {
-		self.partial_cmp(other)
-			.expect("substrate account is total ordered")
-	}
-}
-
-impl<T: Config> Clone for BasicCrossAccountId<T> {
-	fn clone(&self) -> Self {
-		Self {
-			from_ethereum: self.from_ethereum,
-			substrate: self.substrate.clone(),
-			ethereum: self.ethereum,
-		}
-	}
-}
-impl<T: Config> Encode for BasicCrossAccountId<T> {
-	fn encode(&self) -> Vec<u8> {
-		BasicCrossAccountIdRepr::from(self.clone()).encode()
-	}
-}
-impl<T: Config> EncodeLike for BasicCrossAccountId<T> {}
-impl<T: Config> Decode for BasicCrossAccountId<T> {
-	fn decode<I>(input: &mut I) -> Result<Self, codec::Error>
-	where
-		I: codec::Input,
-	{
-		Ok(BasicCrossAccountIdRepr::decode(input)?.into())
-	}
-}
-impl<T> Serialize for BasicCrossAccountId<T>
-where
-	T: Config,
-	T::AccountId: Serialize,
-{
-	fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
-	where
-		S: serde::Serializer,
-	{
-		let repr = BasicCrossAccountIdRepr::from(self.clone());
-		(&repr).serialize(serializer)
-	}
-}
-impl<'de, T> Deserialize<'de> for BasicCrossAccountId<T>
-where
-	T: Config,
-	T::AccountId: Deserialize<'de>,
-{
-	fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
-	where
-		D: serde::Deserializer<'de>,
-	{
-		Ok(BasicCrossAccountIdRepr::deserialize(deserializer)?.into())
-	}
-}
-impl<T: Config> CrossAccountId<T::AccountId> for BasicCrossAccountId<T> {
-	fn as_sub(&self) -> &T::AccountId {
-		&self.substrate
-	}
-	fn as_eth(&self) -> &H160 {
-		&self.ethereum
-	}
-	fn from_sub(substrate: T::AccountId) -> Self {
-		Self {
-			ethereum: T::EvmBackwardsAddressMapping::from_account_id(substrate.clone()),
-			substrate,
-			from_ethereum: false,
-		}
-	}
-	fn from_eth(ethereum: H160) -> Self {
-		Self {
-			ethereum,
-			substrate: T::EvmAddressMapping::into_account_id(ethereum),
-			from_ethereum: true,
-		}
-	}
-	fn conv_eq(&self, other: &Self) -> bool {
-		if self.from_ethereum == other.from_ethereum {
-			self.substrate == other.substrate && self.ethereum == other.ethereum
-		} else if self.from_ethereum {
-			// ethereum is canonical encoding, but we need to compare derived address
-			self.substrate == other.substrate
-		} else {
-			self.ethereum == other.ethereum
-		}
-	}
-}
-impl<T: Config> From<BasicCrossAccountIdRepr<T::AccountId>> for BasicCrossAccountId<T> {
-	fn from(repr: BasicCrossAccountIdRepr<T::AccountId>) -> Self {
-		match repr {
-			BasicCrossAccountIdRepr::Substrate(s) => Self::from_sub(s),
-			BasicCrossAccountIdRepr::Ethereum(e) => Self::from_eth(e),
-		}
-	}
-}
-impl<T: Config> From<BasicCrossAccountId<T>> for BasicCrossAccountIdRepr<T::AccountId> {
-	fn from(v: BasicCrossAccountId<T>) -> Self {
-		if v.from_ethereum {
-			BasicCrossAccountIdRepr::Ethereum(*v.as_eth())
-		} else {
-			BasicCrossAccountIdRepr::Substrate(v.as_sub().clone())
-		}
-	}
-}
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -19,7 +19,7 @@
 use core::ops::{Deref, DerefMut};
 use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
 use sp_std::vec::Vec;
-use account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
 use frame_support::{
 	dispatch::{DispatchErrorWithPostInfo, DispatchResultWithPostInfo},
 	ensure, fail,
@@ -33,12 +33,11 @@
 	TokenId, Weight, WithdrawReasons, CollectionStats, MAX_TOKEN_OWNERSHIP, CollectionMode,
 	NFT_SPONSOR_TRANSFER_TIMEOUT, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
 	REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MAX_SPONSOR_TIMEOUT, CUSTOM_DATA_LIMIT, CollectionLimits,
-	CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData,
+	CustomDataLimit, CreateCollectionData, SponsorshipState, CreateItemExData, SponsoringRateLimit,
 };
 pub use pallet::*;
 use sp_core::H160;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
-pub mod account;
 #[cfg(feature = "runtime-benchmarks")]
 pub mod benchmarking;
 pub mod erc;
@@ -163,20 +162,17 @@
 pub mod pallet {
 	use super::*;
 	use frame_support::{Blake2_128Concat, pallet_prelude::*, storage::Key};
-	use account::CrossAccountId;
+	use pallet_evm::account;
 	use frame_support::traits::Currency;
 	use up_data_structs::TokenId;
 	use scale_info::TypeInfo;
 
 	#[pallet::config]
-	pub trait Config: frame_system::Config + pallet_evm_coder_substrate::Config + TypeInfo {
+	pub trait Config:
+		frame_system::Config + pallet_evm_coder_substrate::Config + TypeInfo + account::Config
+	{
 		type Event: IsType<<Self as frame_system::Config>::Event> + From<Event<Self>>;
-
-		type CrossAccountId: CrossAccountId<Self::AccountId>;
 
-		type EvmAddressMapping: pallet_evm::AddressMapping<Self::AccountId>;
-		type EvmBackwardsAddressMapping: up_evm_mapping::EvmBackwardsAddressMapping<Self::AccountId>;
-
 		type Currency: Currency<Self::AccountId>;
 
 		#[pallet::constant]
@@ -421,6 +417,39 @@
 			alive: created.0 - destroyed.0,
 		}
 	}
+
+	pub fn effective_collection_limits(collection: CollectionId) -> Option<CollectionLimits> {
+		let collection = <CollectionById<T>>::get(collection);
+		if collection.is_none() {
+			return None;
+		}
+
+		let collection = collection.unwrap();
+		let limits = collection.limits;
+		let effective_limits = CollectionLimits {
+			account_token_ownership_limit: Some(limits.account_token_ownership_limit()),
+			sponsored_data_size: Some(limits.sponsored_data_size()),
+			sponsored_data_rate_limit: Some(
+				limits
+					.sponsored_data_rate_limit
+					.unwrap_or(SponsoringRateLimit::SponsoringDisabled),
+			),
+			token_limit: Some(limits.token_limit()),
+			sponsor_transfer_timeout: Some(limits.sponsor_transfer_timeout(
+				match collection.mode {
+					CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
+					CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+					CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+				},
+			)),
+			sponsor_approve_timeout: Some(limits.sponsor_approve_timeout()),
+			owner_can_transfer: Some(limits.owner_can_transfer()),
+			owner_can_destroy: Some(limits.owner_can_destroy()),
+			transfers_enabled: Some(limits.transfers_enabled()),
+		};
+
+		Some(effective_limits)
+	}
 }
 
 impl<T: Config> Pallet<T> {
modifiedpallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -12,8 +12,8 @@
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 ethereum = { version = "0.12.0", default-features = false }
 evm-coder = { default-features = false, path = "../../crates/evm-coder" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 frame-system = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
modifiedpallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -15,7 +15,8 @@
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
 log = "0.4.14"
 
modifiedpallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -17,14 +17,17 @@
 use core::marker::PhantomData;
 use evm_coder::{abi::AbiWriter, execution::Result, generate_stubgen, solidity_interface, types::*};
 use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
-use pallet_evm::{ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure};
+use pallet_evm::{
+	ExitRevert, OnCreate, OnMethodCall, PrecompileResult, PrecompileFailure,
+	account::CrossAccountId,
+};
 use sp_core::H160;
 use crate::{
 	AllowlistEnabled, Config, Owner, Pallet, SponsorBasket, SponsoringRateLimit, SponsoringModeT,
 };
 use frame_support::traits::Get;
 use up_sponsorship::SponsorshipHandler;
-use sp_std::{convert::TryInto, vec::Vec};
+use sp_std::vec::Vec;
 
 struct ContractHelpers<T: Config>(SubstrateRecorder<T>);
 impl<T: Config> WithRecorder<T> for ContractHelpers<T> {
@@ -177,18 +180,21 @@
 }
 
 pub struct HelpersContractSponsoring<T: Config>(PhantomData<*const T>);
-impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for HelpersContractSponsoring<T> {
-	fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
+impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>)>
+	for HelpersContractSponsoring<T>
+{
+	fn get_sponsor(who: &T::CrossAccountId, call: &(H160, Vec<u8>)) -> Option<T::CrossAccountId> {
 		let mode = <Pallet<T>>::sponsoring_mode(call.0);
 		if mode == SponsoringModeT::Disabled {
 			return None;
 		}
-		if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who) {
+
+		if mode == SponsoringModeT::Allowlisted && !<Pallet<T>>::allowed(call.0, *who.as_eth()) {
 			return None;
 		}
 		let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
 
-		if let Some(last_tx_block) = <SponsorBasket<T>>::get(&call.0, who) {
+		if let Some(last_tx_block) = <SponsorBasket<T>>::get(&call.0, who.as_eth()) {
 			let limit = <SponsoringRateLimit<T>>::get(&call.0);
 
 			let timeout = last_tx_block + limit;
@@ -197,9 +203,10 @@
 			}
 		}
 
-		<SponsorBasket<T>>::insert(&call.0, who, block_number);
+		<SponsorBasket<T>>::insert(&call.0, who.as_eth(), block_number);
 
-		Some(call.0)
+		let sponsor = T::CrossAccountId::from_eth(call.0);
+		Some(sponsor)
 	}
 }
 
modifiedpallets/evm-contract-helpers/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-contract-helpers/src/lib.rs
+++ b/pallets/evm-contract-helpers/src/lib.rs
@@ -30,7 +30,9 @@
 	use sp_core::H160;
 
 	#[pallet::config]
-	pub trait Config: frame_system::Config + pallet_evm_coder_substrate::Config {
+	pub trait Config:
+		frame_system::Config + pallet_evm_coder_substrate::Config + pallet_evm::account::Config
+	{
 		type ContractAddress: Get<H160>;
 		type DefaultSponsoringRateLimit: Get<Self::BlockNumber>;
 	}
modifiedpallets/evm-migration/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -15,8 +15,8 @@
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 [dependencies.codec]
 default-features = false
modifiedpallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -14,11 +14,11 @@
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-io = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 [dependencies.codec]
 default-features = false
@@ -39,5 +39,5 @@
     "pallet-ethereum/std",
     "fp-evm/std",
     "up-sponsorship/std",
-    "up-evm-mapping/std",
+    "fp-evm-mapping/std",
 ]
modifiedpallets/evm-transaction-payment/src/lib.rsdiffbeforeafterboth
--- a/pallets/evm-transaction-payment/src/lib.rs
+++ b/pallets/evm-transaction-payment/src/lib.rs
@@ -20,12 +20,10 @@
 use fp_evm::WithdrawReason;
 use frame_support::traits::{Currency, IsSubType};
 pub use pallet::*;
-use pallet_evm::{EVMCurrencyAdapter, EnsureAddressOrigin};
+use pallet_evm::{EVMCurrencyAdapter, EnsureAddressOrigin, account::CrossAccountId};
 use sp_core::{H160, U256};
 use sp_runtime::TransactionOutcome;
 use up_sponsorship::SponsorshipHandler;
-use up_evm_mapping::EvmBackwardsAddressMapping;
-use pallet_evm::AddressMapping;
 
 #[frame_support::pallet]
 pub mod pallet {
@@ -35,11 +33,9 @@
 	use sp_std::vec::Vec;
 
 	#[pallet::config]
-	pub trait Config: frame_system::Config {
-		type EvmSponsorshipHandler: SponsorshipHandler<H160, (H160, Vec<u8>)>;
+	pub trait Config: frame_system::Config + pallet_evm::account::Config {
+		type EvmSponsorshipHandler: SponsorshipHandler<Self::CrossAccountId, (H160, Vec<u8>)>;
 		type Currency: Currency<Self::AccountId>;
-		type EvmBackwardsAddressMapping: EvmBackwardsAddressMapping<Self::AccountId>;
-		type EvmAddressMapping: AddressMapping<Self::AccountId>;
 	}
 
 	#[pallet::pallet]
@@ -60,14 +56,15 @@
 }
 
 pub struct TransactionValidityHack<T: Config>(PhantomData<*const T>);
-impl<T: Config> fp_evm::TransactionValidityHack for TransactionValidityHack<T> {
-	fn who_pays_fee(origin: H160, reason: &WithdrawReason) -> Option<H160> {
+impl<T: Config> fp_evm::TransactionValidityHack<T::CrossAccountId> for TransactionValidityHack<T> {
+	fn who_pays_fee(origin: H160, reason: &WithdrawReason) -> Option<T::CrossAccountId> {
 		match reason {
 			WithdrawReason::Call { target, input } => {
 				// This method is only used for checking, we shouldn't touch storage in it
 				frame_support::storage::with_transaction(|| {
+					let origin_sub = T::CrossAccountId::from_eth(origin);
 					TransactionOutcome::Rollback(T::EvmSponsorshipHandler::get_sponsor(
-						&origin,
+						&origin_sub,
 						&(*target, input.clone()),
 					))
 				})
@@ -85,33 +82,36 @@
 	type LiquidityInfo = Option<ChargeEvmLiquidityInfo<T>>;
 
 	fn withdraw_fee(
-		who: &H160,
+		who: &T::CrossAccountId,
 		reason: WithdrawReason,
 		fee: U256,
 	) -> core::result::Result<Self::LiquidityInfo, pallet_evm::Error<T>> {
-		let mut who_pays_fee = *who;
-		if let WithdrawReason::Call { target, input } = &reason {
-			who_pays_fee = T::EvmSponsorshipHandler::get_sponsor(who, &(*target, input.clone()))
-				.unwrap_or(who_pays_fee);
-		}
+		let who_pays_fee = if let WithdrawReason::Call { target, input } = &reason {
+			T::EvmSponsorshipHandler::get_sponsor(who, &(*target, input.clone()))
+				.unwrap_or(who.clone())
+		} else {
+			who.clone()
+		};
+
 		let negative_imbalance = EVMCurrencyAdapter::<<T as Config>::Currency, ()>::withdraw_fee(
 			&who_pays_fee,
 			reason,
 			fee,
 		)?;
+
 		Ok(negative_imbalance.map(|i| ChargeEvmLiquidityInfo {
-			who: who_pays_fee,
+			who: who_pays_fee.as_eth().clone(),
 			negative_imbalance: i,
 		}))
 	}
 
 	fn correct_and_deposit_fee(
-		who: &H160,
+		who: &T::CrossAccountId,
 		corrected_fee: U256,
 		already_withdrawn: Self::LiquidityInfo,
 	) {
 		<EVMCurrencyAdapter<<T as Config>::Currency, ()> as pallet_evm::OnChargeEVMTransaction<T>>::correct_and_deposit_fee(
-			&already_withdrawn.as_ref().map(|e| e.who).unwrap_or(*who),
+			&already_withdrawn.as_ref().map(|e| T::CrossAccountId::from_eth(e.who)).unwrap_or(who.clone()),
 			corrected_fee,
 			already_withdrawn.map(|e| e.negative_imbalance),
 		)
@@ -142,7 +142,7 @@
 					<frame_system::RawOrigin<T::AccountId>>::Signed(who.clone()).into(),
 				)
 				.ok()?;
-				let who = T::EvmBackwardsAddressMapping::from_account_id(who.clone());
+				let who = T::CrossAccountId::from_sub(who.clone());
 				// Effects from EvmSponsorshipHandler are applied in OnChargeEvmTransaction by pallet_evm::runner
 				// TODO: Should we implement simulation mode (test, but do not apply effects) in `up-sponsorship`?
 				let sponsor = frame_support::storage::with_transaction(|| {
@@ -151,8 +151,7 @@
 						&(*target, input.clone()),
 					))
 				})?;
-				let sponsor = T::EvmAddressMapping::into_account_id(sponsor);
-				Some(sponsor)
+				Some(sponsor.as_sub().clone())
 			}
 			_ => None,
 		}
modifiedpallets/fungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -22,6 +22,7 @@
 pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
 ethereum = { version = "0.12.0", default-features = false }
 frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
@@ -39,5 +40,6 @@
     "ethereum/std",
     "pallet-evm-coder-substrate/std",
     'frame-benchmarking/std',
+    "pallet-evm/std"
 ]
 runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']
modifiedpallets/fungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/fungible/src/erc.rs
+++ b/pallets/fungible/src/erc.rs
@@ -21,7 +21,7 @@
 use pallet_common::erc::{CommonEvmHandler, PrecompileResult};
 use sp_core::{H160, U256};
 use sp_std::vec::Vec;
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
 use pallet_evm_coder_substrate::{call, dispatch_to_evm};
 
 use crate::{
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -19,9 +19,8 @@
 use core::ops::Deref;
 use frame_support::{ensure};
 use up_data_structs::{AccessMode, CollectionId, TokenId, CreateCollectionData};
-use pallet_common::{
-	Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Event as CommonEvent, Pallet as PalletCommon};
+use pallet_evm::account::CrossAccountId;
 use pallet_evm_coder_substrate::WithRecorder;
 use sp_core::H160;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
@@ -36,7 +35,7 @@
 pub mod erc;
 pub mod weights;
 
-pub type CreateItemData<T> = (<T as pallet_common::Config>::CrossAccountId, u128);
+pub type CreateItemData<T> = (<T as pallet_evm::account::Config>::CrossAccountId, u128);
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
 #[frame_support::pallet]
modifiedpallets/nonfungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -16,6 +16,7 @@
 sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 pallet-common = { default-features = false, path = '../common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
@@ -39,6 +40,7 @@
     "ethereum/std",
     "pallet-evm-coder-substrate/std",
     'frame-benchmarking/std',
+    "pallet-evm/std"
 ]
 runtime-benchmarks = [
     'frame-benchmarking',
modifiedpallets/nonfungible/src/erc.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -26,9 +26,9 @@
 use sp_core::{H160, U256};
 use sp_std::{vec::Vec, vec};
 use pallet_common::{
-	account::CrossAccountId,
 	erc::{CommonEvmHandler, PrecompileResult},
 };
+use pallet_evm::account::CrossAccountId;
 use pallet_evm_coder_substrate::call;
 
 use crate::{
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -21,9 +21,8 @@
 use up_data_structs::{
 	AccessMode, CollectionId, CustomDataLimit, TokenId, CreateCollectionData, CreateNftExData,
 };
-use pallet_common::{
-	Error as CommonError, Pallet as PalletCommon, Event as CommonEvent, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Pallet as PalletCommon, Event as CommonEvent};
+use pallet_evm::account::CrossAccountId;
 use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
 use sp_core::H160;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
@@ -40,7 +39,7 @@
 pub mod erc;
 pub mod weights;
 
-pub type CreateItemData<T> = CreateNftExData<<T as pallet_common::Config>::CrossAccountId>;
+pub type CreateItemData<T> = CreateNftExData<<T as pallet_evm::account::Config>::CrossAccountId>;
 pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
 
 #[derive(Encode, Decode, TypeInfo, MaxEncodedLen)]
modifiedpallets/refungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -16,6 +16,7 @@
 sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 pallet-common = { default-features = false, path = '../common' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 frame-benchmarking = { default-features = false, optional = true, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
@@ -33,6 +34,7 @@
     "up-data-structs/std",
     "pallet-common/std",
     'frame-benchmarking/std',
+    "pallet-evm/std",
 ]
 runtime-benchmarks = [
     'frame-benchmarking',
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -21,9 +21,8 @@
 	AccessMode, CollectionId, CustomDataLimit, MAX_REFUNGIBLE_PIECES, TokenId,
 	CreateCollectionData, CreateRefungibleExData,
 };
-use pallet_common::{
-	Error as CommonError, Event as CommonEvent, Pallet as PalletCommon, account::CrossAccountId,
-};
+use pallet_common::{Error as CommonError, Event as CommonEvent, Pallet as PalletCommon};
+use pallet_evm::account::CrossAccountId;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult};
 use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
 use core::ops::Deref;
modifiedpallets/unique/Cargo.tomldiffbeforeafterboth
--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -34,7 +34,7 @@
     'fp-evm/std',
     'up-data-structs/std',
     'up-sponsorship/std',
-    'up-evm-mapping/std',
+    'fp-evm-mapping/std',
     'sp-std/std',
     'sp-api/std',
     'sp-runtime/std',
@@ -132,16 +132,16 @@
 sp-api = { default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.18" }
 
 up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/UniqueNetwork/pallet-sponsoring", branch = 'polkadot-v0.9.18' }
-up-evm-mapping = { default-features = false, path = "../../primitives/evm-mapping" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 evm-coder = { default-features = false, path = "../../crates/evm-coder" }
 pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
 primitive-types = { version = "0.11.1", default-features = false, features = [
     "serde_no_std",
 ] }
 
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 hex-literal = "0.3.3"
 
 pallet-common = { default-features = false, path = "../common" }
modifiedpallets/unique/src/eth/sponsoring.rsdiffbeforeafterboth
--- a/pallets/unique/src/eth/sponsoring.rs
+++ b/pallets/unique/src/eth/sponsoring.rs
@@ -24,26 +24,24 @@
 use up_sponsorship::SponsorshipHandler;
 use core::marker::PhantomData;
 use core::convert::TryInto;
-use up_data_structs::{TokenId, CreateItemData, CreateNftData};
-use up_evm_mapping::EvmBackwardsAddressMapping;
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
 
 use pallet_nonfungible::erc::{
 	UniqueNFTCall, ERC721UniqueExtensionsCall, ERC721MintableCall, ERC721Call,
 };
 use pallet_fungible::erc::{UniqueFungibleCall, ERC20Call};
+use up_data_structs::{TokenId, CreateItemData, CreateNftData};
 
 pub struct UniqueEthSponsorshipHandler<T: Config>(PhantomData<*const T>);
-impl<T: Config> SponsorshipHandler<H160, (H160, Vec<u8>)> for UniqueEthSponsorshipHandler<T> {
-	fn get_sponsor(who: &H160, call: &(H160, Vec<u8>)) -> Option<H160> {
+impl<T: Config> SponsorshipHandler<T::CrossAccountId, (H160, Vec<u8>)>
+	for UniqueEthSponsorshipHandler<T>
+{
+	fn get_sponsor(who: &T::CrossAccountId, call: &(H160, Vec<u8>)) -> Option<T::CrossAccountId> {
 		let collection_id = map_eth_to_id(&call.0)?;
 		let collection = <CollectionHandle<T>>::new(collection_id)?;
 		let sponsor = collection.sponsorship.sponsor()?.clone();
-		let sponsor =
-			<T as pallet_common::Config>::EvmBackwardsAddressMapping::from_account_id(sponsor);
-		let who = T::CrossAccountId::from_eth(*who);
 		let (method_id, mut reader) = AbiReader::new_call(&call.1).ok()?;
-		match &collection.mode {
+		Some(T::CrossAccountId::from_sub(match &collection.mode {
 			crate::CollectionMode::NFT => {
 				let call = <UniqueNFTCall<T>>::parse(method_id, &mut reader).ok()??;
 				match call {
@@ -83,7 +81,7 @@
 				#[allow(clippy::single_match)]
 				match call {
 					UniqueFungibleCall::ERC20(ERC20Call::Transfer { .. }) => {
-						withdraw_transfer::<T>(&collection, &who, &TokenId::default())
+						withdraw_transfer::<T>(&collection, who, &TokenId::default())
 							.map(|()| sponsor)
 					}
 					UniqueFungibleCall::ERC20(ERC20Call::TransferFrom { from, .. }) => {
@@ -99,6 +97,6 @@
 				}
 			}
 			_ => None,
-		}
+		}?))
 	}
 }
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -53,10 +53,8 @@
 	CollectionMode, TokenId, SchemaVersion, SponsorshipState, MetaUpdatePermission,
 	CreateCollectionData, CustomDataLimit, CreateItemExData,
 };
-use pallet_common::{
-	account::CrossAccountId, CollectionHandle, Pallet as PalletCommon, Error as CommonError,
-	CommonWeightInfo,
-};
+use pallet_common::{CollectionHandle, Pallet as PalletCommon, Error as CommonError, CommonWeightInfo};
+use pallet_evm::account::CrossAccountId;
 use pallet_refungible::{Pallet as PalletRefungible, RefungibleHandle};
 use pallet_fungible::{Pallet as PalletFungible, FungibleHandle};
 use pallet_nonfungible::{Pallet as PalletNonfungible, NonfungibleHandle};
@@ -69,7 +67,7 @@
 
 mod eth;
 mod sponsorship;
-pub use sponsorship::UniqueSponsorshipHandler;
+pub use sponsorship::{UniqueSponsorshipHandler, UniqueSponsorshipPredict};
 pub use eth::sponsoring::UniqueEthSponsorshipHandler;
 
 pub use eth::UniqueErcSupport;
@@ -84,6 +82,12 @@
 pub mod weights;
 use weights::WeightInfo;
 
+pub trait SponsorshipPredict<T: Config> {
+	fn predict(collection: CollectionId, account: T::CrossAccountId, token: TokenId) -> Option<u64>
+	where
+		u64: From<<T as frame_system::Config>::BlockNumber>;
+}
+
 decl_error! {
 	/// Error for non-fungible-token module.
 	pub enum Error for Module<T: Config> {
@@ -116,7 +120,7 @@
 	pub enum Event<T>
 	where
 		<T as frame_system::Config>::AccountId,
-		<T as pallet_common::Config>::CrossAccountId,
+		<T as pallet_evm::account::Config>::CrossAccountId,
 	{
 		/// Collection sponsor was removed
 		///
modifiedpallets/unique/src/mock.rsdiffbeforeafterboth
--- a/pallets/unique/src/mock.rs
+++ b/pallets/unique/src/mock.rs
@@ -25,8 +25,8 @@
 };
 use pallet_transaction_payment::{CurrencyAdapter};
 use frame_system as system;
-use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog};
-use pallet_common::account::{EvmBackwardsAddressMapping, CrossAccountId};
+use pallet_evm::{AddressMapping, runner::stack::MaybeMirroredLog, account::CrossAccountId};
+use fp_evm_mapping::EvmBackwardsAddressMapping;
 use codec::{Encode, Decode, MaxEncodedLen};
 use scale_info::TypeInfo;
 use up_data_structs::ConstU32;
@@ -191,15 +191,17 @@
 
 impl pallet_common::Config for Test {
 	type Event = ();
-	type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
-	type EvmAddressMapping = TestEvmAddressMapping;
-	type CrossAccountId = TestCrossAccountId;
-
 	type Currency = Balances;
 	type CollectionCreationPrice = CollectionCreationPrice;
 	type TreasuryAccountId = TreasuryAccountId;
 }
 
+impl pallet_evm::account::Config for Test {
+	type CrossAccountId = TestCrossAccountId;
+	type EvmAddressMapping = TestEvmAddressMapping;
+	type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
+}
+
 impl pallet_fungible::Config for Test {
 	type WeightInfo = ();
 }
modifiedpallets/unique/src/sponsorship.rsdiffbeforeafterboth
--- a/pallets/unique/src/sponsorship.rs
+++ b/pallets/unique/src/sponsorship.rs
@@ -29,8 +29,9 @@
 	CollectionId, FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, MetaUpdatePermission,
 	NFT_SPONSOR_TRANSFER_TIMEOUT, REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT, TokenId,
 };
+use sp_runtime::traits::Saturating;
 use pallet_common::{CollectionHandle};
-use pallet_common::account::CrossAccountId;
+use pallet_evm::account::CrossAccountId;
 
 pub fn withdraw_transfer<T: Config>(
 	collection: &CollectionHandle<T>,
@@ -301,3 +302,65 @@
 		}
 	}
 }
+
+use crate::SponsorshipPredict;
+use up_data_structs::SponsorshipState;
+pub struct UniqueSponsorshipPredict<T>(PhantomData<T>);
+
+impl<T> SponsorshipPredict<T> for UniqueSponsorshipPredict<T>
+where
+	T: Config,
+{
+	fn predict(collection_id: CollectionId, who: T::CrossAccountId, token: TokenId) -> Option<u64>
+	where
+		u64: From<<T as frame_system::Config>::BlockNumber>,
+	{
+		let collection = <CollectionHandle<T>>::try_get(collection_id).ok()?;
+		let _ = collection.sponsorship.sponsor()?;
+
+		// sponsor timeout
+		let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
+		let limit = collection
+			.limits
+			.sponsor_transfer_timeout(match collection.mode {
+				CollectionMode::NFT => NFT_SPONSOR_TRANSFER_TIMEOUT,
+				CollectionMode::Fungible(_) => FUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+				CollectionMode::ReFungible => REFUNGIBLE_SPONSOR_TRANSFER_TIMEOUT,
+			});
+
+		let last_tx_block = match collection.mode {
+			CollectionMode::NFT => <NftTransferBasket<T>>::get(collection.id, token),
+			CollectionMode::Fungible(_) => {
+				<FungibleTransferBasket<T>>::get(collection.id, who.as_sub())
+			}
+			CollectionMode::ReFungible => {
+				<ReFungibleTransferBasket<T>>::get((collection.id, token, who.as_sub()))
+			}
+		};
+
+		if let Some(last_tx_block) = last_tx_block {
+			return Some(
+				last_tx_block
+					.saturating_add(limit.into())
+					.saturating_sub(block_number)
+					.into(),
+			);
+		}
+
+		let token_exists = match collection.mode {
+			CollectionMode::NFT => {
+				<pallet_nonfungible::TokenData<T>>::contains_key((collection.id, token))
+			}
+			CollectionMode::Fungible(_) => true,
+			CollectionMode::ReFungible => {
+				<pallet_refungible::TotalSupply<T>>::contains_key((collection.id, token))
+			}
+		};
+
+		if token_exists {
+			Some(0)
+		} else {
+			None
+		}
+	}
+}
modifiedpallets/unique/src/tests.rsdiffbeforeafterboth
--- a/pallets/unique/src/tests.rs
+++ b/pallets/unique/src/tests.rs
@@ -18,6 +18,7 @@
 use super::*;
 use crate::mock::*;
 use crate::{AccessMode, CollectionMode};
+use sp_runtime::AccountId32;
 use up_data_structs::{
 	COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,
 	CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, MetaUpdatePermission,
@@ -2854,3 +2855,59 @@
 		);
 	});
 }
+
+#[test]
+fn collection_sponsoring() {
+	new_test_ext().execute_with(|| {
+		// default_limits();
+		let user1 = 1_u64;
+		let user2 = 777_u64;
+		let origin1 = Origin::signed(user1);
+		let origin2 = Origin::signed(user2);
+		let account2 = account(user2);
+
+		let collection_id =
+			create_test_collection_for_owner(&CollectionMode::NFT, user1, CollectionId(1));
+		assert_ok!(TemplateModule::set_collection_sponsor(
+			origin1.clone(),
+			collection_id,
+			user1
+		));
+		assert_ok!(TemplateModule::confirm_sponsorship(
+			origin1.clone(),
+			collection_id
+		));
+
+		// Expect error while have no permissions
+		assert!(TemplateModule::create_item(
+			origin2.clone(),
+			collection_id,
+			account2.clone(),
+			default_nft_data().into()
+		)
+		.is_err());
+
+		assert_ok!(TemplateModule::set_public_access_mode(
+			origin1.clone(),
+			collection_id,
+			AccessMode::AllowList
+		));
+		assert_ok!(TemplateModule::add_to_allow_list(
+			origin1.clone(),
+			collection_id,
+			account2.clone()
+		));
+		assert_ok!(TemplateModule::set_mint_permission(
+			origin1.clone(),
+			collection_id,
+			true
+		));
+
+		assert_ok!(TemplateModule::create_item(
+			origin2,
+			collection_id,
+			account2,
+			default_nft_data().into()
+		));
+	});
+}
deletedprimitives/evm-mapping/Cargo.tomldiffbeforeafterboth
--- a/primitives/evm-mapping/Cargo.toml
+++ /dev/null
@@ -1,13 +0,0 @@
-[package]
-name = "up-evm-mapping"
-version = "0.1.0"
-license = "GPLv3"
-edition = "2021"
-
-[dependencies]
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-frame-support = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
-
-[features]
-default = ["std"]
-std = ["sp-core/std", "frame-support/std"]
deletedprimitives/evm-mapping/src/lib.rsdiffbeforeafterboth
--- a/primitives/evm-mapping/src/lib.rs
+++ /dev/null
@@ -1,39 +0,0 @@
-// 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::sp_runtime::AccountId32;
-use sp_core::H160;
-
-/// Transforms substrate addresses to ethereum (Reverse of `EvmAddressMapping`)
-/// pallet_evm doesn't have this, as it only checks if eth address
-/// is owned by substrate via `EnsureAddressOrigin` trait
-///
-/// This trait implementations shouldn't conflict with used `EnsureAddressOrigin`
-pub trait EvmBackwardsAddressMapping<AccountId> {
-	fn from_account_id(account_id: AccountId) -> H160;
-}
-
-/// Should have same mapping as EnsureAddressTruncated
-pub struct MapBackwardsAddressTruncated;
-impl EvmBackwardsAddressMapping<AccountId32> for MapBackwardsAddressTruncated {
-	fn from_account_id(account_id: AccountId32) -> H160 {
-		let mut out = [0; 20];
-		out.copy_from_slice(&(account_id.as_ref() as &[u8])[0..20]);
-		H160(out)
-	}
-}
modifiedprimitives/rpc/Cargo.tomldiffbeforeafterboth
--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -14,6 +14,7 @@
 sp-std = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-api = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
 sp-runtime = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.18' }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 [features]
 default = ["std"]
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -16,7 +16,7 @@
 
 #![cfg_attr(not(feature = "std"), no_std)]
 
-use up_data_structs::{CollectionId, TokenId, Collection, CollectionStats};
+use up_data_structs::{CollectionId, TokenId, Collection, CollectionStats, CollectionLimits};
 use sp_std::vec::Vec;
 use sp_core::H160;
 use codec::Decode;
@@ -28,7 +28,7 @@
 	#[api_version(2)]
 	pub trait UniqueApi<CrossAccountId, AccountId> where
 		AccountId: Decode,
-		CrossAccountId: pallet_common::account::CrossAccountId<AccountId>,
+		CrossAccountId: pallet_evm::account::CrossAccountId<AccountId>,
 	{
 		#[changed_in(2)]
 		fn token_owner(collection: CollectionId, token: TokenId) -> Result<CrossAccountId>;
@@ -59,5 +59,7 @@
 		fn last_token_id(collection: CollectionId) -> Result<TokenId>;
 		fn collection_by_id(collection: CollectionId) -> Result<Option<Collection<AccountId>>>;
 		fn collection_stats() -> Result<CollectionStats>;
+		fn next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<Option<u64>>;
+		fn effective_collection_limits(collection_id: CollectionId) -> Result<Option<CollectionLimits>>;
 	}
 }
modifiedruntime/common/Cargo.tomldiffbeforeafterboth
--- a/runtime/common/Cargo.toml
+++ b/runtime/common/Cargo.toml
@@ -69,4 +69,7 @@
 [dependencies.fp-rpc]
 default-features = false
 git = "https://github.com/uniquenetwork/frontier.git"
-branch = "unique-polkadot-v0.9.18"
+branch = "unique-polkadot-v0.9.18-2"
+
+[dependencies]
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
\ No newline at end of file
modifiedruntime/common/src/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/src/runtime_apis.rs
+++ b/runtime/common/src/runtime_apis.rs
@@ -69,6 +69,17 @@
                 fn collection_stats() -> Result<CollectionStats, DispatchError> {
                     Ok(<pallet_common::Pallet<Runtime>>::collection_stats())
                 }
+                fn next_sponsored(collection: CollectionId, account: CrossAccountId, token: TokenId) -> Result<Option<u64>, DispatchError> {
+                    Ok(<pallet_unique::UniqueSponsorshipPredict<Runtime> as
+                            pallet_unique::SponsorshipPredict<Runtime>>::predict(
+                        collection,
+                        account,
+                        token))
+                }
+
+                fn effective_collection_limits(collection: CollectionId) -> Result<Option<CollectionLimits>, DispatchError> {
+                    Ok(<pallet_common::Pallet<Runtime>>::effective_collection_limits(collection))
+                }
             }
 
             impl sp_api::Core<Block> for Runtime {
@@ -181,7 +192,7 @@
                     };
 
                     <Runtime as pallet_evm::Config>::Runner::call(
-                        from,
+                        CrossAccountId::from_eth(from),
                         to,
                         data,
                         value,
@@ -215,7 +226,7 @@
                     };
 
                     <Runtime as pallet_evm::Config>::Runner::create(
-                        from,
+                        CrossAccountId::from_eth(from),
                         data,
                         value,
                         gas_limit.low_u64(),
modifiedruntime/common/src/types.rsdiffbeforeafterboth
--- a/runtime/common/src/types.rs
+++ b/runtime/common/src/types.rs
@@ -42,7 +42,7 @@
 pub use sp_consensus_aura::sr25519::AuthorityId as AuraId;
 
 pub trait RuntimeInstance {
-	type CrossAccountId: pallet_common::account::CrossAccountId<sp_runtime::AccountId32>
+	type CrossAccountId: pallet_evm::account::CrossAccountId<sp_runtime::AccountId32>
 		+ Send
 		+ Sync
 		+ 'static;
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -72,7 +72,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
-    'up-evm-mapping/std',
+    'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
     'serde',
@@ -382,7 +382,7 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
 pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -396,11 +396,11 @@
 pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
 pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
 pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 ################################################################################
 # Build Dependencies
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -48,7 +48,9 @@
 };
 // A few exports that help ease life for downstream crates.
 pub use pallet_balances::Call as BalancesCall;
-pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
+pub use pallet_evm::{
+	EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,
+};
 pub use frame_support::{
 	construct_runtime, match_type,
 	dispatch::DispatchResult,
@@ -117,11 +119,10 @@
 pub const RUNTIME_NAME: &str = "opal";
 pub const TOKEN_SYMBOL: &str = "OPL";
 
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
 
 impl RuntimeInstance for Runtime {
 	type CrossAccountId = self::CrossAccountId;
-
 	type TransactionConverter = self::TransactionConverter;
 
 	fn get_transaction_converter() -> TransactionConverter {
@@ -129,6 +130,22 @@
 	}
 }
 
+/// The type for looking up accounts. We don't expect more than 4 billion of them, but you
+/// never know...
+pub type AccountIndex = u32;
+
+/// Balance of an account.
+pub type Balance = u128;
+
+/// Index of a transaction in the chain.
+pub type Index = u32;
+
+/// A hash of some data used by the chain.
+pub type Hash = sp_core::H256;
+
+/// Digest item type.
+pub type DigestItem = generic::DigestItem;
+
 /// Opaque types. These are used by the CLI to instantiate machinery that don't need to know
 /// the specifics of the runtime. They can then be made to be agnostic over specific formats
 /// of data like extrinsics, allowing for them to continue syncing the network through upgrades
@@ -152,7 +169,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 918001,
+	spec_version: 918010,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 1,
@@ -258,6 +275,12 @@
 	}
 }
 
+impl pallet_evm::account::Config for Runtime {
+	type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;
+	type EvmAddressMapping = pallet_evm::HashedAddressMapping<Self::Hashing>;
+	type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+}
+
 impl pallet_evm::Config for Runtime {
 	type BlockGasLimit = BlockGasLimit;
 	type FeeCalculator = FixedFee;
@@ -845,10 +868,6 @@
 
 impl pallet_common::Config for Runtime {
 	type Event = Event;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;
-
 	type Currency = Balances;
 	type CollectionCreationPrice = CollectionCreationPrice;
 	type TreasuryAccountId = TreasuryAccountId;
@@ -912,8 +931,6 @@
 impl pallet_evm_transaction_payment::Config for Runtime {
 	type EvmSponsorshipHandler = EvmSponsorshipHandler;
 	type Currency = Balances;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
 }
 
 impl pallet_charge_transaction::Config for Runtime {
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -72,7 +72,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
-    'up-evm-mapping/std',
+    'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
     'serde',
@@ -382,7 +382,7 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
 pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -396,11 +396,11 @@
 pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
 pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
 pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 ################################################################################
 # Build Dependencies
modifiedruntime/quartz/src/lib.rsdiffbeforeafterboth
--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -48,7 +48,9 @@
 };
 // A few exports that help ease life for downstream crates.
 pub use pallet_balances::Call as BalancesCall;
-pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
+pub use pallet_evm::{
+	EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,
+};
 pub use frame_support::{
 	construct_runtime, match_type,
 	dispatch::DispatchResult,
@@ -117,7 +119,7 @@
 pub const RUNTIME_NAME: &str = "quartz";
 pub const TOKEN_SYMBOL: &str = "QTZ";
 
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
 
 impl RuntimeInstance for Runtime {
 	type CrossAccountId = self::CrossAccountId;
@@ -152,7 +154,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 918001,
+	spec_version: 918010,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 1,
@@ -845,15 +847,18 @@
 
 impl pallet_common::Config for Runtime {
 	type Event = Event;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;
 
 	type Currency = Balances;
 	type CollectionCreationPrice = CollectionCreationPrice;
 	type TreasuryAccountId = TreasuryAccountId;
 }
 
+impl pallet_evm::account::Config for Runtime {
+	type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;
+	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
+	type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+}
+
 impl pallet_fungible::Config for Runtime {
 	type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;
 }
@@ -912,8 +917,6 @@
 impl pallet_evm_transaction_payment::Config for Runtime {
 	type EvmSponsorshipHandler = EvmSponsorshipHandler;
 	type Currency = Balances;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
 }
 
 impl pallet_charge_transaction::Config for Runtime {
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -72,7 +72,7 @@
     'pallet-base-fee/std',
     'fp-rpc/std',
     'up-rpc/std',
-    'up-evm-mapping/std',
+    'fp-evm-mapping/std',
     'fp-self-contained/std',
     'parachain-info/std',
     'serde',
@@ -382,7 +382,6 @@
 derivative = "2.2.0"
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
-up-evm-mapping = { path = "../../primitives/evm-mapping", default-features = false }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
 pallet-common = { default-features = false, path = "../../pallets/common" }
@@ -396,11 +395,12 @@
 pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }
 pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }
 pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier.git", branch = "unique-polkadot-v0.9.18-2" }
 
 ################################################################################
 # Build Dependencies
modifiedruntime/unique/src/lib.rsdiffbeforeafterboth
--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -48,7 +48,9 @@
 };
 // A few exports that help ease life for downstream crates.
 pub use pallet_balances::Call as BalancesCall;
-pub use pallet_evm::{EnsureAddressTruncated, HashedAddressMapping, Runner};
+pub use pallet_evm::{
+	EnsureAddressTruncated, HashedAddressMapping, Runner, account::CrossAccountId as _,
+};
 pub use frame_support::{
 	construct_runtime, match_type,
 	dispatch::DispatchResult,
@@ -116,7 +118,7 @@
 pub const RUNTIME_NAME: &str = "unique";
 pub const TOKEN_SYMBOL: &str = "UNQ";
 
-type CrossAccountId = pallet_common::account::BasicCrossAccountId<Runtime>;
+type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Runtime>;
 
 impl RuntimeInstance for Runtime {
 	type CrossAccountId = self::CrossAccountId;
@@ -151,7 +153,7 @@
 	spec_name: create_runtime_str!(RUNTIME_NAME),
 	impl_name: create_runtime_str!(RUNTIME_NAME),
 	authoring_version: 1,
-	spec_version: 918001,
+	spec_version: 918010,
 	impl_version: 0,
 	apis: RUNTIME_API_VERSIONS,
 	transaction_version: 1,
@@ -844,15 +846,17 @@
 
 impl pallet_common::Config for Runtime {
 	type Event = Event;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type CrossAccountId = pallet_common::account::BasicCrossAccountId<Self>;
-
 	type Currency = Balances;
 	type CollectionCreationPrice = CollectionCreationPrice;
 	type TreasuryAccountId = TreasuryAccountId;
 }
 
+impl pallet_evm::account::Config for Runtime {
+	type CrossAccountId = pallet_evm::account::BasicCrossAccountId<Self>;
+	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
+	type EvmBackwardsAddressMapping = fp_evm_mapping::MapBackwardsAddressTruncated;
+}
+
 impl pallet_fungible::Config for Runtime {
 	type WeightInfo = pallet_fungible::weights::SubstrateWeight<Self>;
 }
@@ -911,8 +915,6 @@
 impl pallet_evm_transaction_payment::Config for Runtime {
 	type EvmSponsorshipHandler = EvmSponsorshipHandler;
 	type Currency = Balances;
-	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
-	type EvmBackwardsAddressMapping = up_evm_mapping::MapBackwardsAddressTruncated;
 }
 
 impl pallet_charge_transaction::Config for Runtime {
modifiedtests/README.mddiffbeforeafterboth
--- a/tests/README.md
+++ b/tests/README.md
@@ -20,7 +20,7 @@
 git clone https://github.com/paritytech/polkadot-launch && cd polkadot-launch
 ```
 
-5. Run launch-test-env.sh from the root of this project
+5. Run launch-testnet.sh from the root of this project
 
 
 ## How to run tests
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -67,6 +67,7 @@
     "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
     "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
     "testEnableDisableTransfers": "mocha --timeout 9999999 -r ts-node/register ./**/enableDisableTransfer.test.ts",
+    "testLimits": "mocha --timeout 9999999 -r ts-node/register ./**/limits.test.ts",
     "polkadot-types-fetch-metadata": "curl -H 'Content-Type: application/json' -d '{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\": \"state_getMetadata\", \"params\":[]}' http://localhost:9933 > src/interfaces/metadata.json",
     "polkadot-types-from-defs": "echo 'export default {}' > src/interfaces/lookup.ts && ts-node ./node_modules/.bin/polkadot-types-from-defs --endpoint src/interfaces/metadata.json --input src/interfaces/ --package .",
     "polkadot-types-from-chain": "ts-node ./node_modules/.bin/polkadot-types-from-chain --endpoint src/interfaces/metadata.json --output src/interfaces/ --package .",
modifiedtests/src/eth/base.test.tsdiffbeforeafterboth
--- a/tests/src/eth/base.test.ts
+++ b/tests/src/eth/base.test.ts
@@ -34,7 +34,8 @@
     const userB = createEthAccount(web3);
 
     const cost = await recordEthFee(api, userA, () => web3.eth.sendTransaction({from: userA, to: userB, value: '1000000', ...GAS_ARGS}));
-    expect(cost - await ethBalanceViaSub(api, userB) < BigInt(0.2 * Number(UNIQUE))).to.be.true;
+    const balanceB = await ethBalanceViaSub(api, userB);
+    expect(cost - balanceB < BigInt(0.2 * Number(UNIQUE))).to.be.true;
   });
 
   itWeb3('NFT transfer is close to 0.15 UNQ', async ({web3, api}) => {
modifiedtests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth
--- a/tests/src/eth/contractSponsoring.test.ts
+++ b/tests/src/eth/contractSponsoring.test.ts
@@ -24,7 +24,24 @@
   itWeb3,
   SponsoringMode,
   createEthAccount,
+  collectionIdToAddress,
+  GAS_ARGS,
+  normalizeEvents,
+  subToEth,
+  executeEthTxOnSub,
 } from './util/helpers';
+import {
+  addCollectionAdminExpectSuccess,
+  createCollectionExpectSuccess,
+  getCreateCollectionResult,
+  transferBalanceTo,
+} from '../util/helpers';
+import nonFungibleAbi from './nonFungibleAbi.json';
+import {
+  submitTransactionAsync,
+} from '../substrate/substrate-api';
+import getBalance from '../substrate/get-balance';
+import {alicesPublicKey} from '../accounts';
 
 describe('Sponsoring EVM contracts', () => {
   itWeb3('Sponsoring can be set by the address that has deployed the contract', async ({api, web3}) => {
@@ -199,4 +216,115 @@
     const helpers = contractHelpers(web3, owner);
     expect(await helpers.methods.getSponsoringRateLimit(flipper.options.address).call()).to.be.equals('7200');
   });
+
+  itWeb3('Sponsoring evm address from substrate collection', async ({api, web3}) => {
+    const owner = privateKey('//Alice');
+    const userEth = createEthAccount(web3);
+    const collectionId = await createCollectionExpectSuccess();
+
+    {
+      const tx = api.tx.unique.setCollectionSponsor(collectionId, owner.address);
+      const events = await submitTransactionAsync(owner, tx);
+      const result = getCreateCollectionResult(events);
+      expect(result.success).to.be.true;
+    }
+    {
+      const tx = api.tx.unique.confirmSponsorship(collectionId);
+      const events = await submitTransactionAsync(owner, tx);
+      const result = getCreateCollectionResult(events);
+      expect(result.success).to.be.true;
+    }
+
+    const address = collectionIdToAddress(collectionId);
+    const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: userEth, ...GAS_ARGS});
+
+    { // This part should fail, because user not in access list and user have no money
+      const nextTokenId = await contract.methods.nextTokenId().call();
+      expect(nextTokenId).to.be.equal('1');
+      await expect(contract.methods.mintWithTokenURI(
+        userEth,
+        nextTokenId,
+        'Test URI',
+      ).call({from: userEth})).to.be.rejectedWith(/PublicMintingNotAllowed/);
+    }
+
+    {
+      const tx = api.tx.unique.setPublicAccessMode(collectionId, 'AllowList');
+      const events = await submitTransactionAsync(owner, tx);
+      const result = getCreateCollectionResult(events);
+      expect(result.success).to.be.true;
+    }
+    {
+      const tx = api.tx.unique.addToAllowList(collectionId, {Ethereum: userEth});
+      const events = await submitTransactionAsync(owner, tx);
+      const result = getCreateCollectionResult(events);
+      expect(result.success).to.be.true;
+    }
+    {
+      const tx = api.tx.unique.setMintPermission(collectionId, true);
+      const events = await submitTransactionAsync(owner, tx);
+      const result = getCreateCollectionResult(events);
+      expect(result.success).to.be.true;
+    }
+
+    const [alicesBalanceBefore] = await getBalance(api, [alicesPublicKey]);
+
+    {
+      const nextTokenId = await contract.methods.nextTokenId().call();
+      expect(nextTokenId).to.be.equal('1');
+      const result = await contract.methods.mintWithTokenURI(
+        userEth,
+        nextTokenId,
+        'Test URI',
+      ).send({from: userEth});
+      const events = normalizeEvents(result.events);
+
+      expect(events).to.be.deep.equal([
+        {
+          address,
+          event: 'Transfer',
+          args: {
+            from: '0x0000000000000000000000000000000000000000',
+            to: userEth,
+            tokenId: nextTokenId,
+          },
+        },
+      ]);
+
+      expect(await contract.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+    }
+
+    const [alicesBalanceAfter] = await getBalance(api, [alicesPublicKey]);
+    expect(alicesBalanceAfter < alicesBalanceBefore).to.be.true;
+  });
+
+
+  itWeb3('Check that transaction via EVM spend money from substrate address', async ({api, web3}) => {
+    const owner = privateKey('//Alice');
+    const user = privateKey(`//User/${Date.now()}`);
+    const userEth = subToEth(user.address);
+    const collectionId = await createCollectionExpectSuccess();
+    await addCollectionAdminExpectSuccess(owner, collectionId, {Ethereum: userEth});
+    await transferBalanceTo(api, owner, user.address);
+
+    const address = collectionIdToAddress(collectionId);
+    const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: userEth, ...GAS_ARGS});
+
+    const [userBalanceBefore] = await getBalance(api, [user.address]);
+
+    {
+      const nextTokenId = await contract.methods.nextTokenId().call();
+      expect(nextTokenId).to.be.equal('1');
+      await executeEthTxOnSub(web3, api, user, contract, m => m.mintWithTokenURI(
+        userEth,
+        nextTokenId,
+        'Test URI',
+      ));
+
+      expect(await contract.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI');
+    }
+
+    const [userBalanceAfter] = await getBalance(api, [user.address]);
+    expect(userBalanceAfter < userBalanceBefore).to.be.true;
+  });
 });
modifiedtests/src/eth/marketplace/marketplace.test.tsdiffbeforeafterboth
--- a/tests/src/eth/marketplace/marketplace.test.ts
+++ b/tests/src/eth/marketplace/marketplace.test.ts
@@ -15,13 +15,24 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 import {readFile} from 'fs/promises';
-import {getBalanceSingle, transferBalanceExpectSuccess} from '../../substrate/get-balance';
+import {getBalanceSingle} from '../../substrate/get-balance';
 import privateKey from '../../substrate/privateKey';
-import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, createFungibleItemExpectSuccess, createItemExpectSuccess, getTokenOwner, setCollectionLimitsExpectSuccess, setCollectionSponsorExpectSuccess, transferExpectSuccess, transferFromExpectSuccess} from '../../util/helpers';
+import {
+  addToAllowListExpectSuccess, 
+  confirmSponsorshipExpectSuccess, 
+  createCollectionExpectSuccess, 
+  createItemExpectSuccess, 
+  getTokenOwner,
+  setCollectionLimitsExpectSuccess, 
+  setCollectionSponsorExpectSuccess, 
+  transferExpectSuccess, 
+  transferFromExpectSuccess,
+  transferBalanceTo,
+} from '../../util/helpers';
 import {collectionIdToAddress, contractHelpers, createEthAccountWithBalance, executeEthTxOnSub, GAS_ARGS, itWeb3, SponsoringMode, subToEth, subToEthLowercase, transferBalanceToEth} from '../util/helpers';
 import {evmToAddress} from '@polkadot/util-crypto';
 import nonFungibleAbi from '../nonFungibleAbi.json';
-import fungibleAbi from '../fungibleAbi.json';
+
 import {expect} from 'chai';
 
 const PRICE = 2000n;
@@ -87,32 +98,39 @@
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address});
   });
 
-  // selling for custom tokens excluded from release
-  itWeb3.skip('With custom ERC20', async ({api, web3}) => {
+
+  itWeb3('With escrow', async ({api, web3}) => {
     const alice = privateKey('//Alice');
     const matcherOwner = await createEthAccountWithBalance(api, web3);
+    const escrow = await createEthAccountWithBalance(api, web3);
     const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, {
       from: matcherOwner,
       ...GAS_ARGS,
     });
-    const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner});
+    const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});
+    await matcher.methods.setEscrow(escrow).send({from: matcherOwner});
+    const helpers = contractHelpers(web3, matcherOwner);
+    await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
+    await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
+    await transferBalanceToEth(api, alice, matcher.options.address);
 
     const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+    await setCollectionLimitsExpectSuccess(alice, collectionId, {sponsorApproveTimeout: 1});
     const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner});
+    await setCollectionSponsorExpectSuccess(collectionId, alice.address);
+    await transferBalanceToEth(api, alice, subToEth(alice.address));
+    await confirmSponsorshipExpectSuccess(collectionId);
 
-    const fungibleId = await createCollectionExpectSuccess({mode: {type: 'Fungible', decimalPoints: 0}});
-    const evmFungible = new web3.eth.Contract(fungibleAbi as any, collectionIdToAddress(fungibleId), {from: matcherOwner, ...GAS_ARGS});
-    await createFungibleItemExpectSuccess(alice, fungibleId, {Value: PRICE}, {Ethereum: subToEth(alice.address)});
+    await helpers.methods.toggleAllowed(matcher.options.address, subToEth(alice.address), true).send({from: matcherOwner});
+    await addToAllowListExpectSuccess(alice, collectionId, evmToAddress(subToEth(alice.address)));
 
-    const seller = privateKey('//Bob');
+    const seller = privateKey(`//Seller/${Date.now()}`);
+    await helpers.methods.toggleAllowed(matcher.options.address, subToEth(seller.address), true).send({from: matcherOwner});
 
     const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address);
 
     // To transfer item to matcher it first needs to be transfered to EVM account of bob
     await transferExpectSuccess(collectionId, tokenId, seller, {Ethereum: subToEth(seller.address)});
-    // Fees will be paid from EVM account, so we should have some balance here
-    await transferBalanceExpectSuccess(api, seller, evmToAddress(subToEth(seller.address)), 10n ** 18n);
-    await transferBalanceExpectSuccess(api, alice, evmToAddress(subToEth(alice.address)), 10n ** 18n);
 
     // Token is owned by seller initially
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(seller.address)});
@@ -120,66 +138,55 @@
     // Ask
     {
       await executeEthTxOnSub(web3, api, seller, evmCollection, m => m.approve(matcher.options.address, tokenId));
-      await executeEthTxOnSub(web3, api, seller, matcher, m => m.addAsk(PRICE, evmFungible.options.address, evmCollection.options.address, tokenId, 1));
+      await executeEthTxOnSub(web3, api, seller, matcher, m => m.addAsk(PRICE, '0x0000000000000000000000000000000000000001', evmCollection.options.address, tokenId));
     }
 
     // Token is transferred to matcher
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()});
 
+    // Give buyer KSM
+    await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow});
+
     // Buy
     {
-      const sellerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call());
-      const buyerBalanceBeforePurchase = BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call());
+      expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal('0');
+      expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal(PRICE.toString());
 
-      await executeEthTxOnSub(web3, api, alice, evmFungible, m => m.approve(matcher.options.address, PRICE));
-      // There is two functions named 'buy', so we should provide full signature
-      await executeEthTxOnSub(web3, api, alice, matcher, m =>
-        m['buy(address,uint256,address,uint256)'](evmCollection.options.address, tokenId, evmFungible.options.address, PRICE));
+      await executeEthTxOnSub(web3, api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address), subToEth(alice.address)));
 
-      // Approved price is removed from buyer balance, and added to seller
-      expect(BigInt(await evmFungible.methods.balanceOf(subToEth(seller.address)).call()) - sellerBalanceBeforePurchase === PRICE);
-      expect(buyerBalanceBeforePurchase - BigInt(await evmFungible.methods.balanceOf(subToEth(alice.address)).call()) === PRICE);
+      // Price is removed from buyer balance, and added to seller
+      expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal('0');
+      expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal(PRICE.toString());
     }
 
     // Token is transferred to evm account of alice
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: subToEthLowercase(alice.address)});
 
-
     // Transfer token to substrate side of alice
     await transferFromExpectSuccess(collectionId, tokenId, alice, {Ethereum: subToEth(alice.address)}, {Substrate: alice.address});
 
-    // Token is transferred to substrate account of alice
+    // Token is transferred to substrate account of alice, seller received funds
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Substrate: alice.address});
   });
 
-  itWeb3('With escrow', async ({api, web3}) => {
+
+  itWeb3('Sell tokens from substrate user via EVM contract', async ({api, web3}) => {
     const alice = privateKey('//Alice');
     const matcherOwner = await createEthAccountWithBalance(api, web3);
-    const escrow = await createEthAccountWithBalance(api, web3);
     const matcherContract = new web3.eth.Contract(JSON.parse((await readFile(`${__dirname}/MarketPlace.abi`)).toString()), undefined, {
       from: matcherOwner,
       ...GAS_ARGS,
     });
-    const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments: [matcherOwner]}).send({from: matcherOwner, gas: 10000000});
-    await matcher.methods.setEscrow(escrow).send({from: matcherOwner});
-    const helpers = contractHelpers(web3, matcherOwner);
-    await helpers.methods.setSponsoringMode(matcher.options.address, SponsoringMode.Allowlisted).send({from: matcherOwner});
-    await helpers.methods.setSponsoringRateLimit(matcher.options.address, 1).send({from: matcherOwner});
+    const matcher = await matcherContract.deploy({data: (await readFile(`${__dirname}/MarketPlace.bin`)).toString(), arguments:[matcherOwner]}).send({from: matcherOwner});
     await transferBalanceToEth(api, alice, matcher.options.address);
 
     const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
     await setCollectionLimitsExpectSuccess(alice, collectionId, {sponsorApproveTimeout: 1});
     const evmCollection = new web3.eth.Contract(nonFungibleAbi as any, collectionIdToAddress(collectionId), {from: matcherOwner});
-    await setCollectionSponsorExpectSuccess(collectionId, alice.address);
-    await transferBalanceToEth(api, alice, subToEth(alice.address));
-    await confirmSponsorshipExpectSuccess(collectionId);
-
-    await helpers.methods.toggleAllowed(matcher.options.address, subToEth(alice.address), true).send({from: matcherOwner});
-    await addToAllowListExpectSuccess(alice, collectionId, evmToAddress(subToEth(alice.address)));
 
     const seller = privateKey(`//Seller/${Date.now()}`);
-    await helpers.methods.toggleAllowed(matcher.options.address, subToEth(seller.address), true).send({from: matcherOwner});
-
+    await transferBalanceTo(api, alice, seller.address);
+    
     const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', seller.address);
 
     // To transfer item to matcher it first needs to be transfered to EVM account of bob
@@ -197,19 +204,11 @@
     // Token is transferred to matcher
     expect(await getTokenOwner(api, collectionId, tokenId)).to.be.deep.equal({Ethereum: matcher.options.address.toLowerCase()});
 
-    // Give buyer KSM
-    await matcher.methods.depositKSM(PRICE, subToEth(alice.address)).send({from: escrow});
-
     // Buy
     {
-      expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal('0');
-      expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal(PRICE.toString());
-
-      await executeEthTxOnSub(web3, api, alice, matcher, m => m.buyKSM(evmCollection.options.address, tokenId, subToEth(alice.address), subToEth(alice.address)));
-
-      // Price is removed from buyer balance, and added to seller
-      expect(await matcher.methods.balanceKSM(subToEth(alice.address)).call()).to.be.equal('0');
-      expect(await matcher.methods.balanceKSM(subToEth(seller.address)).call()).to.be.equal(PRICE.toString());
+      const sellerBalanceBeforePurchase = await getBalanceSingle(api, seller.address);
+      await executeEthTxOnSub(web3, api, alice, matcher, m => m.buy(evmCollection.options.address, tokenId), {value: PRICE});
+      expect(await getBalanceSingle(api, seller.address) - sellerBalanceBeforePurchase === PRICE);
     }
 
     // Token is transferred to evm account of alice
modifiedtests/src/eth/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -29,6 +29,7 @@
 import privateKey from '../../substrate/privateKey';
 import contractHelpersAbi from './contractHelpersAbi.json';
 import getBalance from '../../substrate/get-balance';
+import waitNewBlocks from '../../substrate/wait-new-blocks';
 
 export const GAS_ARGS = {gas: 2500000};
 
@@ -241,6 +242,12 @@
   return collector;
 }
 
+/** 
+ * pallet evm_contract_helpers
+ * @param web3 
+ * @param caller - eth address
+ * @returns 
+ */
 export function contractHelpers(web3: Web3, caller: string) {
   return new web3.eth.Contract(contractHelpersAbi as any, '0x842899ECF380553E8a4de75bF534cdf6fBF64049', {from: caller, ...GAS_ARGS});
 }
@@ -287,6 +294,8 @@
 
   await call();
 
+  // In dev mode, the transaction might not finish processing in time
+  await waitNewBlocks(api, 1);
   const after = await ethBalanceViaSub(api, user);
 
   // Can't use .to.be.less, because chai doesn't supports bigint
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -105,6 +105,10 @@
        **/
       NoPermission: AugmentedError<ApiType>;
       /**
+       * Not sufficient founds to perform action
+       **/
+      NotSufficientFounds: AugmentedError<ApiType>;
+      /**
        * Tried to enable permissions which are only permitted to be disabled
        **/
       OwnerPermissionsCantBeReverted: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -4,7 +4,7 @@
 import type { ApiTypes } from '@polkadot/api-base/types';
 import type { Null, Option, Result, U256, U8aFixed, u128, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, SpRuntimeDispatchError, UpDataStructsAccessMode, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchInfo, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, SpRuntimeDispatchError, UpDataStructsAccessMode, XcmV1MultiLocation, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
 
 declare module '@polkadot/api-base/types/events' {
   export interface AugmentedEvents<ApiType extends ApiTypes> {
@@ -68,7 +68,7 @@
        * 
        * * amount
        **/
-      Approved: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+      Approved: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
       /**
        * New collection was created
        * 
@@ -102,7 +102,7 @@
        * 
        * * amount: Always 1 for NFT
        **/
-      ItemCreated: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+      ItemCreated: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
       /**
        * Collection item was burned.
        * 
@@ -116,7 +116,7 @@
        * 
        * * amount: Always 1 for NFT
        **/
-      ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+      ItemDestroyed: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
       /**
        * Item was transferred
        * 
@@ -130,7 +130,7 @@
        * 
        * * amount: Always 1 for NFT
        **/
-      Transfer: AugmentedEvent<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+      Transfer: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
       /**
        * Generic event
        **/
@@ -483,7 +483,7 @@
        * 
        * * user:  Address.
        **/
-      AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      AllowListAddressAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Address was remove from allow list
        * 
@@ -493,7 +493,7 @@
        * 
        * * user:  Address.
        **/
-      AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      AllowListAddressRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection admin was added
        * 
@@ -503,7 +503,7 @@
        * 
        * * admin:  Admin address.
        **/
-      CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      CollectionAdminAdded: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection admin was removed
        * 
@@ -513,7 +513,7 @@
        * 
        * * admin:  Admin address.
        **/
-      CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      CollectionAdminRemoved: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection limits was set
        * 
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, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeDigest, UpDataStructsCollection, UpDataStructsCollectionStats } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 declare module '@polkadot/api-base/types/storage' {
@@ -73,7 +73,7 @@
       /**
        * Allowlisted collection users
        **/
-      allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Collection info
        **/
@@ -87,7 +87,7 @@
       /**
        * List of collection admins
        **/
-      isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Generic query
        **/
@@ -173,8 +173,8 @@
       [key: string]: QueryableStorageEntry<ApiType>;
     };
     fungible: {
-      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       /**
        * Generic query
@@ -208,12 +208,12 @@
       [key: string]: QueryableStorageEntry<ApiType>;
     };
     nonfungible: {
-      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletCommonAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       /**
        * Used to enumerate tokens owned by account
        **/
-      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]>;
+      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
       tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
@@ -312,6 +312,15 @@
        **/
       processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
+       * The state proof for the last relay parent block.
+       * 
+       * This field is meant to be updated each block with the validation data inherent. Therefore,
+       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.
+       * 
+       * This data is also absent from the genesis.
+       **/
+      relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
        * The snapshot of some state related to messaging relevant to the current parachain as per
        * the relay parent.
        * 
@@ -371,13 +380,13 @@
       [key: string]: QueryableStorageEntry<ApiType>;
     };
     refungible: {
-      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr]>;
-      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Used to enumerate tokens owned by account
        **/
-      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32]>;
+      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
       tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
       tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
       tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
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 { PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionStats } from './unique';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionStats } 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';
@@ -562,31 +562,31 @@
       /**
        * Get amount of different user tokens
        **/
-      accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
+      accountBalance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
       /**
        * Get tokens owned by account
        **/
-      accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
+      accountTokens: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
       /**
        * Get admin list
        **/
-      adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+      adminlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
        * Get allowed amount
        **/
-      allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      allowance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, sender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
        * Check if user is allowed to use collection
        **/
-      allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
+      allowed: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<bool>>;
       /**
        * Get allowlist
        **/
-      allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletCommonAccountBasicCrossAccountIdRepr>>>;
+      allowlist: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<PalletEvmAccountBasicCrossAccountIdRepr>>>;
       /**
        * Get amount of specific account token
        **/
-      balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
+      balance: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, account: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u128>>;
       /**
        * Get collection by specified id
        **/
@@ -604,6 +604,10 @@
        **/
       constMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
       /**
+       * Get effective collection limits
+       **/
+      effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;
+      /**
        * Get last token id
        **/
       lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
@@ -614,11 +618,15 @@
       /**
        * Get token owner
        **/
-      tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletCommonAccountBasicCrossAccountIdRepr>>;
+      tokenOwner: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<PalletEvmAccountBasicCrossAccountIdRepr>>;
       /**
        * Get token variable metadata
        **/
       variableMetadata: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Bytes>>;
+      /**
+       * nextSponsored transaction
+       **/
+      nextSponsored: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array,  account:  AccountId | string | Uint8Array | { Substrate: any } | { Ethereum: any } | string | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u64>>>;
     };
     web3: {
       /**
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -5,7 +5,7 @@
 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 { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsAccessMode, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/api-base/types/submittable' {
   export interface AugmentedSubmittables<ApiType extends ApiTypes> {
@@ -551,7 +551,7 @@
        * 
        * * new_admin_id: Address of new admin to add.
        **/
-      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      addCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newAdminId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Add an address to allow list.
        * 
@@ -566,7 +566,7 @@
        * 
        * * address.
        **/
-      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      addToAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Set, change, or remove approved address to transfer the ownership of the NFT.
        * 
@@ -584,7 +584,7 @@
        * 
        * * item_id: ID of the item.
        **/
-      approve: AugmentedSubmittable<(spender: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
        * Destroys a concrete instance of NFT on behalf of the owner
        * See also: [`approve`]
@@ -603,7 +603,7 @@
        * 
        * * from: owner of item
        **/
-      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, u32, u128]>;
+      burnFrom: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32, u128]>;
       /**
        * Destroys a concrete instance of NFT.
        * 
@@ -688,7 +688,7 @@
        * 
        * * data: Token data to store on chain.
        **/
-      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
+      createItem: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, data: UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCreateItemData]>;
       /**
        * This method creates multiple items in a collection created with CreateCollection method.
        * 
@@ -709,7 +709,7 @@
        * 
        * * owner: Address, initial owner of the NFT.
        **/
-      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
+      createMultipleItems: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, itemsData: Vec<UpDataStructsCreateItemData> | (UpDataStructsCreateItemData | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, Vec<UpDataStructsCreateItemData>]>;
       createMultipleItemsEx: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, data: UpDataStructsCreateItemExData | { NFT: any } | { Fungible: any } | { RefungibleMultipleItems: any } | { RefungibleMultipleOwners: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCreateItemExData]>;
       /**
        * **DANGEROUS**: Destroys collection and all NFTs within this collection. Users irrecoverably lose their assets and may lose real money.
@@ -737,7 +737,7 @@
        * 
        * * account_id: Address of admin to remove.
        **/
-      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      removeCollectionAdmin: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, accountId: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
        * Switch back to pay-per-own-transaction model.
        * 
@@ -764,7 +764,7 @@
        * 
        * * address.
        **/
-      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+      removeFromAllowList: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, address: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       setCollectionLimits: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newLimit: UpDataStructsCollectionLimits | { accountTokenOwnershipLimit?: any; sponsoredDataSize?: any; sponsoredDataRateLimit?: any; tokenLimit?: any; sponsorTransferTimeout?: any; sponsorApproveTimeout?: any; ownerCanTransfer?: any; ownerCanDestroy?: any; transfersEnabled?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, UpDataStructsCollectionLimits]>;
       /**
        * # Permissions
@@ -938,7 +938,7 @@
        * * Fungible Mode: Must specify transferred amount
        * * Re-Fungible Mode: Must specify transferred portion (between 0 and 1)
        **/
-      transfer: AugmentedSubmittable<(recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      transfer: AugmentedSubmittable<(recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
        * Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.
        * 
@@ -960,7 +960,7 @@
        * 
        * * value: Amount to transfer.
        **/
-      transferFrom: AugmentedSubmittable<(from: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletCommonAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+      transferFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, recipient: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, value: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
       /**
        * Generic tx
        **/
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -1,9 +1,9 @@
 // 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, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSupportWeightsWeightToFeeCoefficient, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UniqueRuntimeRuntime, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, 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, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletXcmCall, PalletXcmError, PalletXcmEvent, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV1AbridgedHostConfiguration, PolkadotPrimitivesV1AbridgedHrmpChannel, PolkadotPrimitivesV1PersistedValidationData, PolkadotPrimitivesV1UpgradeRestriction, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExData, UpDataStructsMetaUpdatePermission, UpDataStructsSchemaVersion, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, 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 { BTreeSet, 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';
 import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations';
 import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura';
@@ -18,7 +18,7 @@
 import type { StatementKind } from '@polkadot/types/interfaces/claims';
 import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective';
 import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus';
-import type { AliveContractInfo, CodeHash, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateReturnValue, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
+import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultErr, ContractExecResultErrModule, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts';
 import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi';
 import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan';
 import type { ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus';
@@ -175,6 +175,7 @@
     BridgedBlockNumber: BridgedBlockNumber;
     BridgedHeader: BridgedHeader;
     BridgeMessageId: BridgeMessageId;
+    BTreeSet: BTreeSet;
     BufferedSessionChange: BufferedSessionChange;
     Bytes: Bytes;
     Call: Call;
@@ -198,6 +199,7 @@
     ClassMetadata: ClassMetadata;
     CodecHash: CodecHash;
     CodeHash: CodeHash;
+    CodeSource: CodeSource;
     CodeUploadRequest: CodeUploadRequest;
     CodeUploadResult: CodeUploadResult;
     CodeUploadResultValue: CodeUploadResultValue;
@@ -250,6 +252,7 @@
     ContractInfo: ContractInfo;
     ContractInstantiateResult: ContractInstantiateResult;
     ContractInstantiateResultTo267: ContractInstantiateResultTo267;
+    ContractInstantiateResultTo299: ContractInstantiateResultTo299;
     ContractLayoutArray: ContractLayoutArray;
     ContractLayoutCell: ContractLayoutCell;
     ContractLayoutEnum: ContractLayoutEnum;
@@ -591,7 +594,10 @@
     InstanceId: InstanceId;
     InstanceMetadata: InstanceMetadata;
     InstantiateRequest: InstantiateRequest;
+    InstantiateRequestV1: InstantiateRequestV1;
+    InstantiateRequestV2: InstantiateRequestV2;
     InstantiateReturnValue: InstantiateReturnValue;
+    InstantiateReturnValueOk: InstantiateReturnValueOk;
     InstantiateReturnValueTo267: InstantiateReturnValueTo267;
     InstructionV2: InstructionV2;
     InstructionWeights: InstructionWeights;
@@ -707,6 +713,7 @@
     OffchainAccuracyCompact: OffchainAccuracyCompact;
     OffenceDetails: OffenceDetails;
     Offender: Offender;
+    OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpaqueCall: OpaqueCall;
     OpaqueMultiaddr: OpaqueMultiaddr;
     OpaqueNetworkState: OpaqueNetworkState;
@@ -746,7 +753,6 @@
     PalletBalancesReserveData: PalletBalancesReserveData;
     PalletCallMetadataLatest: PalletCallMetadataLatest;
     PalletCallMetadataV14: PalletCallMetadataV14;
-    PalletCommonAccountBasicCrossAccountIdRepr: PalletCommonAccountBasicCrossAccountIdRepr;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConstantMetadataLatest: PalletConstantMetadataLatest;
@@ -758,6 +764,7 @@
     PalletEthereumEvent: PalletEthereumEvent;
     PalletEventMetadataLatest: PalletEventMetadataLatest;
     PalletEventMetadataV14: PalletEventMetadataV14;
+    PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
     PalletEvmCall: PalletEvmCall;
     PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
     PalletEvmContractHelpersError: PalletEvmContractHelpersError;
@@ -1146,7 +1153,6 @@
     UnappliedSlash: UnappliedSlash;
     UnappliedSlashOther: UnappliedSlashOther;
     UncleEntryItem: UncleEntryItem;
-    UniqueRuntimeRuntime: UniqueRuntimeRuntime;
     UnknownTransaction: UnknownTransaction;
     UnlockChunk: UnlockChunk;
     UnrewardedRelayer: UnrewardedRelayer;
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v1::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV1PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v1::UpgradeRestriction18   **/19  PolkadotPrimitivesV1UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot24   **/25  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {26    dmqMqcHead: 'H256',27    relayDispatchQueueSize: '(u32,u32)',28    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>',29    egressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>'30  },31  /**32   * Lookup15: polkadot_primitives::v1::AbridgedHrmpChannel33   **/34  PolkadotPrimitivesV1AbridgedHrmpChannel: {35    maxCapacity: 'u32',36    maxTotalSize: 'u32',37    maxMessageSize: 'u32',38    msgCount: 'u32',39    totalSize: 'u32',40    mqcHead: 'Option<H256>'41  },42  /**43   * Lookup17: polkadot_primitives::v1::AbridgedHostConfiguration44   **/45  PolkadotPrimitivesV1AbridgedHostConfiguration: {46    maxCodeSize: 'u32',47    maxHeadDataSize: 'u32',48    maxUpwardQueueCount: 'u32',49    maxUpwardQueueSize: 'u32',50    maxUpwardMessageSize: 'u32',51    maxUpwardMessageNumPerCandidate: 'u32',52    hrmpMaxMessageNumPerCandidate: 'u32',53    validationUpgradeCooldown: 'u32',54    validationUpgradeDelay: 'u32'55  },56  /**57   * Lookup23: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>58   **/59  PolkadotCorePrimitivesOutboundHrmpMessage: {60    recipient: 'u32',61    data: 'Bytes'62  },63  /**64   * Lookup26: cumulus_pallet_parachain_system::pallet::Call<T>65   **/66  CumulusPalletParachainSystemCall: {67    _enum: {68      set_validation_data: {69        data: 'CumulusPrimitivesParachainInherentParachainInherentData',70      },71      sudo_send_upward_message: {72        message: 'Bytes',73      },74      authorize_upgrade: {75        codeHash: 'H256',76      },77      enact_authorized_upgrade: {78        code: 'Bytes'79      }80    }81  },82  /**83   * Lookup27: cumulus_primitives_parachain_inherent::ParachainInherentData84   **/85  CumulusPrimitivesParachainInherentParachainInherentData: {86    validationData: 'PolkadotPrimitivesV1PersistedValidationData',87    relayChainState: 'SpTrieStorageProof',88    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',89    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'90  },91  /**92   * Lookup28: sp_trie::storage_proof::StorageProof93   **/94  SpTrieStorageProof: {95    trieNodes: 'Vec<Bytes>'96  },97  /**98   * Lookup30: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>99   **/100  PolkadotCorePrimitivesInboundDownwardMessage: {101    sentAt: 'u32',102    msg: 'Bytes'103  },104  /**105   * Lookup33: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>106   **/107  PolkadotCorePrimitivesInboundHrmpMessage: {108    sentAt: 'u32',109    data: 'Bytes'110  },111  /**112   * Lookup36: cumulus_pallet_parachain_system::pallet::Event<T>113   **/114  CumulusPalletParachainSystemEvent: {115    _enum: {116      ValidationFunctionStored: 'Null',117      ValidationFunctionApplied: 'u32',118      ValidationFunctionDiscarded: 'Null',119      UpgradeAuthorized: 'H256',120      DownwardMessagesReceived: 'u32',121      DownwardMessagesProcessed: '(u64,H256)'122    }123  },124  /**125   * Lookup37: cumulus_pallet_parachain_system::pallet::Error<T>126   **/127  CumulusPalletParachainSystemError: {128    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']129  },130  /**131   * Lookup40: pallet_balances::AccountData<Balance>132   **/133  PalletBalancesAccountData: {134    free: 'u128',135    reserved: 'u128',136    miscFrozen: 'u128',137    feeFrozen: 'u128'138  },139  /**140   * Lookup42: pallet_balances::BalanceLock<Balance>141   **/142  PalletBalancesBalanceLock: {143    id: '[u8;8]',144    amount: 'u128',145    reasons: 'PalletBalancesReasons'146  },147  /**148   * Lookup44: pallet_balances::Reasons149   **/150  PalletBalancesReasons: {151    _enum: ['Fee', 'Misc', 'All']152  },153  /**154   * Lookup47: pallet_balances::ReserveData<ReserveIdentifier, Balance>155   **/156  PalletBalancesReserveData: {157    id: '[u8;8]',158    amount: 'u128'159  },160  /**161   * Lookup49: pallet_balances::Releases162   **/163  PalletBalancesReleases: {164    _enum: ['V1_0_0', 'V2_0_0']165  },166  /**167   * Lookup50: pallet_balances::pallet::Call<T, I>168   **/169  PalletBalancesCall: {170    _enum: {171      transfer: {172        dest: 'MultiAddress',173        value: 'Compact<u128>',174      },175      set_balance: {176        who: 'MultiAddress',177        newFree: 'Compact<u128>',178        newReserved: 'Compact<u128>',179      },180      force_transfer: {181        source: 'MultiAddress',182        dest: 'MultiAddress',183        value: 'Compact<u128>',184      },185      transfer_keep_alive: {186        dest: 'MultiAddress',187        value: 'Compact<u128>',188      },189      transfer_all: {190        dest: 'MultiAddress',191        keepAlive: 'bool',192      },193      force_unreserve: {194        who: 'MultiAddress',195        amount: 'u128'196      }197    }198  },199  /**200   * Lookup56: pallet_balances::pallet::Event<T, I>201   **/202  PalletBalancesEvent: {203    _enum: {204      Endowed: {205        account: 'AccountId32',206        freeBalance: 'u128',207      },208      DustLost: {209        account: 'AccountId32',210        amount: 'u128',211      },212      Transfer: {213        from: 'AccountId32',214        to: 'AccountId32',215        amount: 'u128',216      },217      BalanceSet: {218        who: 'AccountId32',219        free: 'u128',220        reserved: 'u128',221      },222      Reserved: {223        who: 'AccountId32',224        amount: 'u128',225      },226      Unreserved: {227        who: 'AccountId32',228        amount: 'u128',229      },230      ReserveRepatriated: {231        from: 'AccountId32',232        to: 'AccountId32',233        amount: 'u128',234        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',235      },236      Deposit: {237        who: 'AccountId32',238        amount: 'u128',239      },240      Withdraw: {241        who: 'AccountId32',242        amount: 'u128',243      },244      Slashed: {245        who: 'AccountId32',246        amount: 'u128'247      }248    }249  },250  /**251   * Lookup57: frame_support::traits::tokens::misc::BalanceStatus252   **/253  FrameSupportTokensMiscBalanceStatus: {254    _enum: ['Free', 'Reserved']255  },256  /**257   * Lookup58: pallet_balances::pallet::Error<T, I>258   **/259  PalletBalancesError: {260    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']261  },262  /**263   * Lookup61: pallet_timestamp::pallet::Call<T>264   **/265  PalletTimestampCall: {266    _enum: {267      set: {268        now: 'Compact<u64>'269      }270    }271  },272  /**273   * Lookup64: pallet_transaction_payment::Releases274   **/275  PalletTransactionPaymentReleases: {276    _enum: ['V1Ancient', 'V2']277  },278  /**279   * Lookup66: frame_support::weights::WeightToFeeCoefficient<Balance>280   **/281  FrameSupportWeightsWeightToFeeCoefficient: {282    coeffInteger: 'u128',283    coeffFrac: 'Perbill',284    negative: 'bool',285    degree: 'u8'286  },287  /**288   * Lookup68: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>289   **/290  PalletTreasuryProposal: {291    proposer: 'AccountId32',292    value: 'u128',293    beneficiary: 'AccountId32',294    bond: 'u128'295  },296  /**297   * Lookup71: pallet_treasury::pallet::Call<T, I>298   **/299  PalletTreasuryCall: {300    _enum: {301      propose_spend: {302        value: 'Compact<u128>',303        beneficiary: 'MultiAddress',304      },305      reject_proposal: {306        proposalId: 'Compact<u32>',307      },308      approve_proposal: {309        proposalId: 'Compact<u32>'310      }311    }312  },313  /**314   * Lookup73: pallet_treasury::pallet::Event<T, I>315   **/316  PalletTreasuryEvent: {317    _enum: {318      Proposed: {319        proposalIndex: 'u32',320      },321      Spending: {322        budgetRemaining: 'u128',323      },324      Awarded: {325        proposalIndex: 'u32',326        award: 'u128',327        account: 'AccountId32',328      },329      Rejected: {330        proposalIndex: 'u32',331        slashed: 'u128',332      },333      Burnt: {334        burntFunds: 'u128',335      },336      Rollover: {337        rolloverBalance: 'u128',338      },339      Deposit: {340        value: 'u128'341      }342    }343  },344  /**345   * Lookup76: frame_support::PalletId346   **/347  FrameSupportPalletId: '[u8;8]',348  /**349   * Lookup77: pallet_treasury::pallet::Error<T, I>350   **/351  PalletTreasuryError: {352    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']353  },354  /**355   * Lookup78: pallet_sudo::pallet::Call<T>356   **/357  PalletSudoCall: {358    _enum: {359      sudo: {360        call: 'Call',361      },362      sudo_unchecked_weight: {363        call: 'Call',364        weight: 'u64',365      },366      set_key: {367        _alias: {368          new_: 'new',369        },370        new_: 'MultiAddress',371      },372      sudo_as: {373        who: 'MultiAddress',374        call: 'Call'375      }376    }377  },378  /**379   * Lookup80: frame_system::pallet::Call<T>380   **/381  FrameSystemCall: {382    _enum: {383      fill_block: {384        ratio: 'Perbill',385      },386      remark: {387        remark: 'Bytes',388      },389      set_heap_pages: {390        pages: 'u64',391      },392      set_code: {393        code: 'Bytes',394      },395      set_code_without_checks: {396        code: 'Bytes',397      },398      set_storage: {399        items: 'Vec<(Bytes,Bytes)>',400      },401      kill_storage: {402        _alias: {403          keys_: 'keys',404        },405        keys_: 'Vec<Bytes>',406      },407      kill_prefix: {408        prefix: 'Bytes',409        subkeys: 'u32',410      },411      remark_with_event: {412        remark: 'Bytes'413      }414    }415  },416  /**417   * Lookup83: orml_vesting::module::Call<T>418   **/419  OrmlVestingModuleCall: {420    _enum: {421      claim: 'Null',422      vested_transfer: {423        dest: 'MultiAddress',424        schedule: 'OrmlVestingVestingSchedule',425      },426      update_vesting_schedules: {427        who: 'MultiAddress',428        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',429      },430      claim_for: {431        dest: 'MultiAddress'432      }433    }434  },435  /**436   * Lookup84: orml_vesting::VestingSchedule<BlockNumber, Balance>437   **/438  OrmlVestingVestingSchedule: {439    start: 'u32',440    period: 'u32',441    periodCount: 'u32',442    perPeriod: 'Compact<u128>'443  },444  /**445   * Lookup86: cumulus_pallet_xcmp_queue::pallet::Call<T>446   **/447  CumulusPalletXcmpQueueCall: {448    _enum: {449      service_overweight: {450        index: 'u64',451        weightLimit: 'u64',452      },453      suspend_xcm_execution: 'Null',454      resume_xcm_execution: 'Null',455      update_suspend_threshold: {456        _alias: {457          new_: 'new',458        },459        new_: 'u32',460      },461      update_drop_threshold: {462        _alias: {463          new_: 'new',464        },465        new_: 'u32',466      },467      update_resume_threshold: {468        _alias: {469          new_: 'new',470        },471        new_: 'u32',472      },473      update_threshold_weight: {474        _alias: {475          new_: 'new',476        },477        new_: 'u64',478      },479      update_weight_restrict_decay: {480        _alias: {481          new_: 'new',482        },483        new_: 'u64',484      },485      update_xcmp_max_individual_weight: {486        _alias: {487          new_: 'new',488        },489        new_: 'u64'490      }491    }492  },493  /**494   * Lookup87: pallet_xcm::pallet::Call<T>495   **/496  PalletXcmCall: {497    _enum: {498      send: {499        dest: 'XcmVersionedMultiLocation',500        message: 'XcmVersionedXcm',501      },502      teleport_assets: {503        dest: 'XcmVersionedMultiLocation',504        beneficiary: 'XcmVersionedMultiLocation',505        assets: 'XcmVersionedMultiAssets',506        feeAssetItem: 'u32',507      },508      reserve_transfer_assets: {509        dest: 'XcmVersionedMultiLocation',510        beneficiary: 'XcmVersionedMultiLocation',511        assets: 'XcmVersionedMultiAssets',512        feeAssetItem: 'u32',513      },514      execute: {515        message: 'XcmVersionedXcm',516        maxWeight: 'u64',517      },518      force_xcm_version: {519        location: 'XcmV1MultiLocation',520        xcmVersion: 'u32',521      },522      force_default_xcm_version: {523        maybeXcmVersion: 'Option<u32>',524      },525      force_subscribe_version_notify: {526        location: 'XcmVersionedMultiLocation',527      },528      force_unsubscribe_version_notify: {529        location: 'XcmVersionedMultiLocation',530      },531      limited_reserve_transfer_assets: {532        dest: 'XcmVersionedMultiLocation',533        beneficiary: 'XcmVersionedMultiLocation',534        assets: 'XcmVersionedMultiAssets',535        feeAssetItem: 'u32',536        weightLimit: 'XcmV2WeightLimit',537      },538      limited_teleport_assets: {539        dest: 'XcmVersionedMultiLocation',540        beneficiary: 'XcmVersionedMultiLocation',541        assets: 'XcmVersionedMultiAssets',542        feeAssetItem: 'u32',543        weightLimit: 'XcmV2WeightLimit'544      }545    }546  },547  /**548   * Lookup88: xcm::VersionedMultiLocation549   **/550  XcmVersionedMultiLocation: {551    _enum: {552      V0: 'XcmV0MultiLocation',553      V1: 'XcmV1MultiLocation'554    }555  },556  /**557   * Lookup89: xcm::v0::multi_location::MultiLocation558   **/559  XcmV0MultiLocation: {560    _enum: {561      Null: 'Null',562      X1: 'XcmV0Junction',563      X2: '(XcmV0Junction,XcmV0Junction)',564      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',565      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',566      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',567      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',568      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'570    }571  },572  /**573   * Lookup90: xcm::v0::junction::Junction574   **/575  XcmV0Junction: {576    _enum: {577      Parent: 'Null',578      Parachain: 'Compact<u32>',579      AccountId32: {580        network: 'XcmV0JunctionNetworkId',581        id: '[u8;32]',582      },583      AccountIndex64: {584        network: 'XcmV0JunctionNetworkId',585        index: 'Compact<u64>',586      },587      AccountKey20: {588        network: 'XcmV0JunctionNetworkId',589        key: '[u8;20]',590      },591      PalletInstance: 'u8',592      GeneralIndex: 'Compact<u128>',593      GeneralKey: 'Bytes',594      OnlyChild: 'Null',595      Plurality: {596        id: 'XcmV0JunctionBodyId',597        part: 'XcmV0JunctionBodyPart'598      }599    }600  },601  /**602   * Lookup91: xcm::v0::junction::NetworkId603   **/604  XcmV0JunctionNetworkId: {605    _enum: {606      Any: 'Null',607      Named: 'Bytes',608      Polkadot: 'Null',609      Kusama: 'Null'610    }611  },612  /**613   * Lookup92: xcm::v0::junction::BodyId614   **/615  XcmV0JunctionBodyId: {616    _enum: {617      Unit: 'Null',618      Named: 'Bytes',619      Index: 'Compact<u32>',620      Executive: 'Null',621      Technical: 'Null',622      Legislative: 'Null',623      Judicial: 'Null'624    }625  },626  /**627   * Lookup93: xcm::v0::junction::BodyPart628   **/629  XcmV0JunctionBodyPart: {630    _enum: {631      Voice: 'Null',632      Members: {633        count: 'Compact<u32>',634      },635      Fraction: {636        nom: 'Compact<u32>',637        denom: 'Compact<u32>',638      },639      AtLeastProportion: {640        nom: 'Compact<u32>',641        denom: 'Compact<u32>',642      },643      MoreThanProportion: {644        nom: 'Compact<u32>',645        denom: 'Compact<u32>'646      }647    }648  },649  /**650   * Lookup94: xcm::v1::multilocation::MultiLocation651   **/652  XcmV1MultiLocation: {653    parents: 'u8',654    interior: 'XcmV1MultilocationJunctions'655  },656  /**657   * Lookup95: xcm::v1::multilocation::Junctions658   **/659  XcmV1MultilocationJunctions: {660    _enum: {661      Here: 'Null',662      X1: 'XcmV1Junction',663      X2: '(XcmV1Junction,XcmV1Junction)',664      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',665      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',666      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',667      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',668      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'670    }671  },672  /**673   * Lookup96: xcm::v1::junction::Junction674   **/675  XcmV1Junction: {676    _enum: {677      Parachain: 'Compact<u32>',678      AccountId32: {679        network: 'XcmV0JunctionNetworkId',680        id: '[u8;32]',681      },682      AccountIndex64: {683        network: 'XcmV0JunctionNetworkId',684        index: 'Compact<u64>',685      },686      AccountKey20: {687        network: 'XcmV0JunctionNetworkId',688        key: '[u8;20]',689      },690      PalletInstance: 'u8',691      GeneralIndex: 'Compact<u128>',692      GeneralKey: 'Bytes',693      OnlyChild: 'Null',694      Plurality: {695        id: 'XcmV0JunctionBodyId',696        part: 'XcmV0JunctionBodyPart'697      }698    }699  },700  /**701   * Lookup97: xcm::VersionedXcm<Call>702   **/703  XcmVersionedXcm: {704    _enum: {705      V0: 'XcmV0Xcm',706      V1: 'XcmV1Xcm',707      V2: 'XcmV2Xcm'708    }709  },710  /**711   * Lookup98: xcm::v0::Xcm<Call>712   **/713  XcmV0Xcm: {714    _enum: {715      WithdrawAsset: {716        assets: 'Vec<XcmV0MultiAsset>',717        effects: 'Vec<XcmV0Order>',718      },719      ReserveAssetDeposit: {720        assets: 'Vec<XcmV0MultiAsset>',721        effects: 'Vec<XcmV0Order>',722      },723      TeleportAsset: {724        assets: 'Vec<XcmV0MultiAsset>',725        effects: 'Vec<XcmV0Order>',726      },727      QueryResponse: {728        queryId: 'Compact<u64>',729        response: 'XcmV0Response',730      },731      TransferAsset: {732        assets: 'Vec<XcmV0MultiAsset>',733        dest: 'XcmV0MultiLocation',734      },735      TransferReserveAsset: {736        assets: 'Vec<XcmV0MultiAsset>',737        dest: 'XcmV0MultiLocation',738        effects: 'Vec<XcmV0Order>',739      },740      Transact: {741        originType: 'XcmV0OriginKind',742        requireWeightAtMost: 'u64',743        call: 'XcmDoubleEncoded',744      },745      HrmpNewChannelOpenRequest: {746        sender: 'Compact<u32>',747        maxMessageSize: 'Compact<u32>',748        maxCapacity: 'Compact<u32>',749      },750      HrmpChannelAccepted: {751        recipient: 'Compact<u32>',752      },753      HrmpChannelClosing: {754        initiator: 'Compact<u32>',755        sender: 'Compact<u32>',756        recipient: 'Compact<u32>',757      },758      RelayedFrom: {759        who: 'XcmV0MultiLocation',760        message: 'XcmV0Xcm'761      }762    }763  },764  /**765   * Lookup100: xcm::v0::multi_asset::MultiAsset766   **/767  XcmV0MultiAsset: {768    _enum: {769      None: 'Null',770      All: 'Null',771      AllFungible: 'Null',772      AllNonFungible: 'Null',773      AllAbstractFungible: {774        id: 'Bytes',775      },776      AllAbstractNonFungible: {777        class: 'Bytes',778      },779      AllConcreteFungible: {780        id: 'XcmV0MultiLocation',781      },782      AllConcreteNonFungible: {783        class: 'XcmV0MultiLocation',784      },785      AbstractFungible: {786        id: 'Bytes',787        amount: 'Compact<u128>',788      },789      AbstractNonFungible: {790        class: 'Bytes',791        instance: 'XcmV1MultiassetAssetInstance',792      },793      ConcreteFungible: {794        id: 'XcmV0MultiLocation',795        amount: 'Compact<u128>',796      },797      ConcreteNonFungible: {798        class: 'XcmV0MultiLocation',799        instance: 'XcmV1MultiassetAssetInstance'800      }801    }802  },803  /**804   * Lookup101: xcm::v1::multiasset::AssetInstance805   **/806  XcmV1MultiassetAssetInstance: {807    _enum: {808      Undefined: 'Null',809      Index: 'Compact<u128>',810      Array4: '[u8;4]',811      Array8: '[u8;8]',812      Array16: '[u8;16]',813      Array32: '[u8;32]',814      Blob: 'Bytes'815    }816  },817  /**818   * Lookup105: xcm::v0::order::Order<Call>819   **/820  XcmV0Order: {821    _enum: {822      Null: 'Null',823      DepositAsset: {824        assets: 'Vec<XcmV0MultiAsset>',825        dest: 'XcmV0MultiLocation',826      },827      DepositReserveAsset: {828        assets: 'Vec<XcmV0MultiAsset>',829        dest: 'XcmV0MultiLocation',830        effects: 'Vec<XcmV0Order>',831      },832      ExchangeAsset: {833        give: 'Vec<XcmV0MultiAsset>',834        receive: 'Vec<XcmV0MultiAsset>',835      },836      InitiateReserveWithdraw: {837        assets: 'Vec<XcmV0MultiAsset>',838        reserve: 'XcmV0MultiLocation',839        effects: 'Vec<XcmV0Order>',840      },841      InitiateTeleport: {842        assets: 'Vec<XcmV0MultiAsset>',843        dest: 'XcmV0MultiLocation',844        effects: 'Vec<XcmV0Order>',845      },846      QueryHolding: {847        queryId: 'Compact<u64>',848        dest: 'XcmV0MultiLocation',849        assets: 'Vec<XcmV0MultiAsset>',850      },851      BuyExecution: {852        fees: 'XcmV0MultiAsset',853        weight: 'u64',854        debt: 'u64',855        haltOnError: 'bool',856        xcm: 'Vec<XcmV0Xcm>'857      }858    }859  },860  /**861   * Lookup107: xcm::v0::Response862   **/863  XcmV0Response: {864    _enum: {865      Assets: 'Vec<XcmV0MultiAsset>'866    }867  },868  /**869   * Lookup108: xcm::v0::OriginKind870   **/871  XcmV0OriginKind: {872    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']873  },874  /**875   * Lookup109: xcm::double_encoded::DoubleEncoded<T>876   **/877  XcmDoubleEncoded: {878    encoded: 'Bytes'879  },880  /**881   * Lookup110: xcm::v1::Xcm<Call>882   **/883  XcmV1Xcm: {884    _enum: {885      WithdrawAsset: {886        assets: 'XcmV1MultiassetMultiAssets',887        effects: 'Vec<XcmV1Order>',888      },889      ReserveAssetDeposited: {890        assets: 'XcmV1MultiassetMultiAssets',891        effects: 'Vec<XcmV1Order>',892      },893      ReceiveTeleportedAsset: {894        assets: 'XcmV1MultiassetMultiAssets',895        effects: 'Vec<XcmV1Order>',896      },897      QueryResponse: {898        queryId: 'Compact<u64>',899        response: 'XcmV1Response',900      },901      TransferAsset: {902        assets: 'XcmV1MultiassetMultiAssets',903        beneficiary: 'XcmV1MultiLocation',904      },905      TransferReserveAsset: {906        assets: 'XcmV1MultiassetMultiAssets',907        dest: 'XcmV1MultiLocation',908        effects: 'Vec<XcmV1Order>',909      },910      Transact: {911        originType: 'XcmV0OriginKind',912        requireWeightAtMost: 'u64',913        call: 'XcmDoubleEncoded',914      },915      HrmpNewChannelOpenRequest: {916        sender: 'Compact<u32>',917        maxMessageSize: 'Compact<u32>',918        maxCapacity: 'Compact<u32>',919      },920      HrmpChannelAccepted: {921        recipient: 'Compact<u32>',922      },923      HrmpChannelClosing: {924        initiator: 'Compact<u32>',925        sender: 'Compact<u32>',926        recipient: 'Compact<u32>',927      },928      RelayedFrom: {929        who: 'XcmV1MultilocationJunctions',930        message: 'XcmV1Xcm',931      },932      SubscribeVersion: {933        queryId: 'Compact<u64>',934        maxResponseWeight: 'Compact<u64>',935      },936      UnsubscribeVersion: 'Null'937    }938  },939  /**940   * Lookup111: xcm::v1::multiasset::MultiAssets941   **/942  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',943  /**944   * Lookup113: xcm::v1::multiasset::MultiAsset945   **/946  XcmV1MultiAsset: {947    id: 'XcmV1MultiassetAssetId',948    fun: 'XcmV1MultiassetFungibility'949  },950  /**951   * Lookup114: xcm::v1::multiasset::AssetId952   **/953  XcmV1MultiassetAssetId: {954    _enum: {955      Concrete: 'XcmV1MultiLocation',956      Abstract: 'Bytes'957    }958  },959  /**960   * Lookup115: xcm::v1::multiasset::Fungibility961   **/962  XcmV1MultiassetFungibility: {963    _enum: {964      Fungible: 'Compact<u128>',965      NonFungible: 'XcmV1MultiassetAssetInstance'966    }967  },968  /**969   * Lookup117: xcm::v1::order::Order<Call>970   **/971  XcmV1Order: {972    _enum: {973      Noop: 'Null',974      DepositAsset: {975        assets: 'XcmV1MultiassetMultiAssetFilter',976        maxAssets: 'u32',977        beneficiary: 'XcmV1MultiLocation',978      },979      DepositReserveAsset: {980        assets: 'XcmV1MultiassetMultiAssetFilter',981        maxAssets: 'u32',982        dest: 'XcmV1MultiLocation',983        effects: 'Vec<XcmV1Order>',984      },985      ExchangeAsset: {986        give: 'XcmV1MultiassetMultiAssetFilter',987        receive: 'XcmV1MultiassetMultiAssets',988      },989      InitiateReserveWithdraw: {990        assets: 'XcmV1MultiassetMultiAssetFilter',991        reserve: 'XcmV1MultiLocation',992        effects: 'Vec<XcmV1Order>',993      },994      InitiateTeleport: {995        assets: 'XcmV1MultiassetMultiAssetFilter',996        dest: 'XcmV1MultiLocation',997        effects: 'Vec<XcmV1Order>',998      },999      QueryHolding: {1000        queryId: 'Compact<u64>',1001        dest: 'XcmV1MultiLocation',1002        assets: 'XcmV1MultiassetMultiAssetFilter',1003      },1004      BuyExecution: {1005        fees: 'XcmV1MultiAsset',1006        weight: 'u64',1007        debt: 'u64',1008        haltOnError: 'bool',1009        instructions: 'Vec<XcmV1Xcm>'1010      }1011    }1012  },1013  /**1014   * Lookup118: xcm::v1::multiasset::MultiAssetFilter1015   **/1016  XcmV1MultiassetMultiAssetFilter: {1017    _enum: {1018      Definite: 'XcmV1MultiassetMultiAssets',1019      Wild: 'XcmV1MultiassetWildMultiAsset'1020    }1021  },1022  /**1023   * Lookup119: xcm::v1::multiasset::WildMultiAsset1024   **/1025  XcmV1MultiassetWildMultiAsset: {1026    _enum: {1027      All: 'Null',1028      AllOf: {1029        id: 'XcmV1MultiassetAssetId',1030        fun: 'XcmV1MultiassetWildFungibility'1031      }1032    }1033  },1034  /**1035   * Lookup120: xcm::v1::multiasset::WildFungibility1036   **/1037  XcmV1MultiassetWildFungibility: {1038    _enum: ['Fungible', 'NonFungible']1039  },1040  /**1041   * Lookup122: xcm::v1::Response1042   **/1043  XcmV1Response: {1044    _enum: {1045      Assets: 'XcmV1MultiassetMultiAssets',1046      Version: 'u32'1047    }1048  },1049  /**1050   * Lookup123: xcm::v2::Xcm<Call>1051   **/1052  XcmV2Xcm: 'Vec<XcmV2Instruction>',1053  /**1054   * Lookup125: xcm::v2::Instruction<Call>1055   **/1056  XcmV2Instruction: {1057    _enum: {1058      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1059      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1060      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1061      QueryResponse: {1062        queryId: 'Compact<u64>',1063        response: 'XcmV2Response',1064        maxWeight: 'Compact<u64>',1065      },1066      TransferAsset: {1067        assets: 'XcmV1MultiassetMultiAssets',1068        beneficiary: 'XcmV1MultiLocation',1069      },1070      TransferReserveAsset: {1071        assets: 'XcmV1MultiassetMultiAssets',1072        dest: 'XcmV1MultiLocation',1073        xcm: 'XcmV2Xcm',1074      },1075      Transact: {1076        originType: 'XcmV0OriginKind',1077        requireWeightAtMost: 'Compact<u64>',1078        call: 'XcmDoubleEncoded',1079      },1080      HrmpNewChannelOpenRequest: {1081        sender: 'Compact<u32>',1082        maxMessageSize: 'Compact<u32>',1083        maxCapacity: 'Compact<u32>',1084      },1085      HrmpChannelAccepted: {1086        recipient: 'Compact<u32>',1087      },1088      HrmpChannelClosing: {1089        initiator: 'Compact<u32>',1090        sender: 'Compact<u32>',1091        recipient: 'Compact<u32>',1092      },1093      ClearOrigin: 'Null',1094      DescendOrigin: 'XcmV1MultilocationJunctions',1095      ReportError: {1096        queryId: 'Compact<u64>',1097        dest: 'XcmV1MultiLocation',1098        maxResponseWeight: 'Compact<u64>',1099      },1100      DepositAsset: {1101        assets: 'XcmV1MultiassetMultiAssetFilter',1102        maxAssets: 'Compact<u32>',1103        beneficiary: 'XcmV1MultiLocation',1104      },1105      DepositReserveAsset: {1106        assets: 'XcmV1MultiassetMultiAssetFilter',1107        maxAssets: 'Compact<u32>',1108        dest: 'XcmV1MultiLocation',1109        xcm: 'XcmV2Xcm',1110      },1111      ExchangeAsset: {1112        give: 'XcmV1MultiassetMultiAssetFilter',1113        receive: 'XcmV1MultiassetMultiAssets',1114      },1115      InitiateReserveWithdraw: {1116        assets: 'XcmV1MultiassetMultiAssetFilter',1117        reserve: 'XcmV1MultiLocation',1118        xcm: 'XcmV2Xcm',1119      },1120      InitiateTeleport: {1121        assets: 'XcmV1MultiassetMultiAssetFilter',1122        dest: 'XcmV1MultiLocation',1123        xcm: 'XcmV2Xcm',1124      },1125      QueryHolding: {1126        queryId: 'Compact<u64>',1127        dest: 'XcmV1MultiLocation',1128        assets: 'XcmV1MultiassetMultiAssetFilter',1129        maxResponseWeight: 'Compact<u64>',1130      },1131      BuyExecution: {1132        fees: 'XcmV1MultiAsset',1133        weightLimit: 'XcmV2WeightLimit',1134      },1135      RefundSurplus: 'Null',1136      SetErrorHandler: 'XcmV2Xcm',1137      SetAppendix: 'XcmV2Xcm',1138      ClearError: 'Null',1139      ClaimAsset: {1140        assets: 'XcmV1MultiassetMultiAssets',1141        ticket: 'XcmV1MultiLocation',1142      },1143      Trap: 'Compact<u64>',1144      SubscribeVersion: {1145        queryId: 'Compact<u64>',1146        maxResponseWeight: 'Compact<u64>',1147      },1148      UnsubscribeVersion: 'Null'1149    }1150  },1151  /**1152   * Lookup126: xcm::v2::Response1153   **/1154  XcmV2Response: {1155    _enum: {1156      Null: 'Null',1157      Assets: 'XcmV1MultiassetMultiAssets',1158      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1159      Version: 'u32'1160    }1161  },1162  /**1163   * Lookup129: xcm::v2::traits::Error1164   **/1165  XcmV2TraitsError: {1166    _enum: {1167      Overflow: 'Null',1168      Unimplemented: 'Null',1169      UntrustedReserveLocation: 'Null',1170      UntrustedTeleportLocation: 'Null',1171      MultiLocationFull: 'Null',1172      MultiLocationNotInvertible: 'Null',1173      BadOrigin: 'Null',1174      InvalidLocation: 'Null',1175      AssetNotFound: 'Null',1176      FailedToTransactAsset: 'Null',1177      NotWithdrawable: 'Null',1178      LocationCannotHold: 'Null',1179      ExceedsMaxMessageSize: 'Null',1180      DestinationUnsupported: 'Null',1181      Transport: 'Null',1182      Unroutable: 'Null',1183      UnknownClaim: 'Null',1184      FailedToDecode: 'Null',1185      MaxWeightInvalid: 'Null',1186      NotHoldingFees: 'Null',1187      TooExpensive: 'Null',1188      Trap: 'u64',1189      UnhandledXcmVersion: 'Null',1190      WeightLimitReached: 'u64',1191      Barrier: 'Null',1192      WeightNotComputable: 'Null'1193    }1194  },1195  /**1196   * Lookup130: xcm::v2::WeightLimit1197   **/1198  XcmV2WeightLimit: {1199    _enum: {1200      Unlimited: 'Null',1201      Limited: 'Compact<u64>'1202    }1203  },1204  /**1205   * Lookup131: xcm::VersionedMultiAssets1206   **/1207  XcmVersionedMultiAssets: {1208    _enum: {1209      V0: 'Vec<XcmV0MultiAsset>',1210      V1: 'XcmV1MultiassetMultiAssets'1211    }1212  },1213  /**1214   * Lookup146: cumulus_pallet_xcm::pallet::Call<T>1215   **/1216  CumulusPalletXcmCall: 'Null',1217  /**1218   * Lookup147: cumulus_pallet_dmp_queue::pallet::Call<T>1219   **/1220  CumulusPalletDmpQueueCall: {1221    _enum: {1222      service_overweight: {1223        index: 'u64',1224        weightLimit: 'u64'1225      }1226    }1227  },1228  /**1229   * Lookup148: pallet_inflation::pallet::Call<T>1230   **/1231  PalletInflationCall: {1232    _enum: {1233      start_inflation: {1234        inflationStartRelayBlock: 'u32'1235      }1236    }1237  },1238  /**1239   * Lookup149: pallet_unique::Call<T>1240   **/1241  PalletUniqueCall: {1242    _enum: {1243      create_collection: {1244        collectionName: 'Vec<u16>',1245        collectionDescription: 'Vec<u16>',1246        tokenPrefix: 'Bytes',1247        mode: 'UpDataStructsCollectionMode',1248      },1249      create_collection_ex: {1250        data: 'UpDataStructsCreateCollectionData',1251      },1252      destroy_collection: {1253        collectionId: 'u32',1254      },1255      add_to_allow_list: {1256        collectionId: 'u32',1257        address: 'PalletCommonAccountBasicCrossAccountIdRepr',1258      },1259      remove_from_allow_list: {1260        collectionId: 'u32',1261        address: 'PalletCommonAccountBasicCrossAccountIdRepr',1262      },1263      set_public_access_mode: {1264        collectionId: 'u32',1265        mode: 'UpDataStructsAccessMode',1266      },1267      set_mint_permission: {1268        collectionId: 'u32',1269        mintPermission: 'bool',1270      },1271      change_collection_owner: {1272        collectionId: 'u32',1273        newOwner: 'AccountId32',1274      },1275      add_collection_admin: {1276        collectionId: 'u32',1277        newAdminId: 'PalletCommonAccountBasicCrossAccountIdRepr',1278      },1279      remove_collection_admin: {1280        collectionId: 'u32',1281        accountId: 'PalletCommonAccountBasicCrossAccountIdRepr',1282      },1283      set_collection_sponsor: {1284        collectionId: 'u32',1285        newSponsor: 'AccountId32',1286      },1287      confirm_sponsorship: {1288        collectionId: 'u32',1289      },1290      remove_collection_sponsor: {1291        collectionId: 'u32',1292      },1293      create_item: {1294        collectionId: 'u32',1295        owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1296        data: 'UpDataStructsCreateItemData',1297      },1298      create_multiple_items: {1299        collectionId: 'u32',1300        owner: 'PalletCommonAccountBasicCrossAccountIdRepr',1301        itemsData: 'Vec<UpDataStructsCreateItemData>',1302      },1303      create_multiple_items_ex: {1304        collectionId: 'u32',1305        data: 'UpDataStructsCreateItemExData',1306      },1307      set_transfers_enabled_flag: {1308        collectionId: 'u32',1309        value: 'bool',1310      },1311      burn_item: {1312        collectionId: 'u32',1313        itemId: 'u32',1314        value: 'u128',1315      },1316      burn_from: {1317        collectionId: 'u32',1318        from: 'PalletCommonAccountBasicCrossAccountIdRepr',1319        itemId: 'u32',1320        value: 'u128',1321      },1322      transfer: {1323        recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',1324        collectionId: 'u32',1325        itemId: 'u32',1326        value: 'u128',1327      },1328      approve: {1329        spender: 'PalletCommonAccountBasicCrossAccountIdRepr',1330        collectionId: 'u32',1331        itemId: 'u32',1332        amount: 'u128',1333      },1334      transfer_from: {1335        from: 'PalletCommonAccountBasicCrossAccountIdRepr',1336        recipient: 'PalletCommonAccountBasicCrossAccountIdRepr',1337        collectionId: 'u32',1338        itemId: 'u32',1339        value: 'u128',1340      },1341      set_variable_meta_data: {1342        collectionId: 'u32',1343        itemId: 'u32',1344        data: 'Bytes',1345      },1346      set_meta_update_permission_flag: {1347        collectionId: 'u32',1348        value: 'UpDataStructsMetaUpdatePermission',1349      },1350      set_schema_version: {1351        collectionId: 'u32',1352        version: 'UpDataStructsSchemaVersion',1353      },1354      set_offchain_schema: {1355        collectionId: 'u32',1356        schema: 'Bytes',1357      },1358      set_const_on_chain_schema: {1359        collectionId: 'u32',1360        schema: 'Bytes',1361      },1362      set_variable_on_chain_schema: {1363        collectionId: 'u32',1364        schema: 'Bytes',1365      },1366      set_collection_limits: {1367        collectionId: 'u32',1368        newLimit: 'UpDataStructsCollectionLimits'1369      }1370    }1371  },1372  /**1373   * Lookup155: up_data_structs::CollectionMode1374   **/1375  UpDataStructsCollectionMode: {1376    _enum: {1377      NFT: 'Null',1378      Fungible: 'u8',1379      ReFungible: 'Null'1380    }1381  },1382  /**1383   * Lookup156: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1384   **/1385  UpDataStructsCreateCollectionData: {1386    mode: 'UpDataStructsCollectionMode',1387    access: 'Option<UpDataStructsAccessMode>',1388    name: 'Vec<u16>',1389    description: 'Vec<u16>',1390    tokenPrefix: 'Bytes',1391    offchainSchema: 'Bytes',1392    schemaVersion: 'Option<UpDataStructsSchemaVersion>',1393    pendingSponsor: 'Option<AccountId32>',1394    limits: 'Option<UpDataStructsCollectionLimits>',1395    variableOnChainSchema: 'Bytes',1396    constOnChainSchema: 'Bytes',1397    metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>'1398  },1399  /**1400   * Lookup158: up_data_structs::AccessMode1401   **/1402  UpDataStructsAccessMode: {1403    _enum: ['Normal', 'AllowList']1404  },1405  /**1406   * Lookup161: up_data_structs::SchemaVersion1407   **/1408  UpDataStructsSchemaVersion: {1409    _enum: ['ImageURL', 'Unique']1410  },1411  /**1412   * Lookup164: up_data_structs::CollectionLimits1413   **/1414  UpDataStructsCollectionLimits: {1415    accountTokenOwnershipLimit: 'Option<u32>',1416    sponsoredDataSize: 'Option<u32>',1417    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1418    tokenLimit: 'Option<u32>',1419    sponsorTransferTimeout: 'Option<u32>',1420    sponsorApproveTimeout: 'Option<u32>',1421    ownerCanTransfer: 'Option<bool>',1422    ownerCanDestroy: 'Option<bool>',1423    transfersEnabled: 'Option<bool>'1424  },1425  /**1426   * Lookup166: up_data_structs::SponsoringRateLimit1427   **/1428  UpDataStructsSponsoringRateLimit: {1429    _enum: {1430      SponsoringDisabled: 'Null',1431      Blocks: 'u32'1432    }1433  },1434  /**1435   * Lookup170: up_data_structs::MetaUpdatePermission1436   **/1437  UpDataStructsMetaUpdatePermission: {1438    _enum: ['ItemOwner', 'Admin', 'None']1439  },1440  /**1441   * Lookup172: pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1442   **/1443  PalletCommonAccountBasicCrossAccountIdRepr: {1444    _enum: {1445      Substrate: 'AccountId32',1446      Ethereum: 'H160'1447    }1448  },1449  /**1450   * Lookup174: up_data_structs::CreateItemData1451   **/1452  UpDataStructsCreateItemData: {1453    _enum: {1454      NFT: 'UpDataStructsCreateNftData',1455      Fungible: 'UpDataStructsCreateFungibleData',1456      ReFungible: 'UpDataStructsCreateReFungibleData'1457    }1458  },1459  /**1460   * Lookup175: up_data_structs::CreateNftData1461   **/1462  UpDataStructsCreateNftData: {1463    constData: 'Bytes',1464    variableData: 'Bytes'1465  },1466  /**1467   * Lookup177: up_data_structs::CreateFungibleData1468   **/1469  UpDataStructsCreateFungibleData: {1470    value: 'u128'1471  },1472  /**1473   * Lookup178: up_data_structs::CreateReFungibleData1474   **/1475  UpDataStructsCreateReFungibleData: {1476    constData: 'Bytes',1477    variableData: 'Bytes',1478    pieces: 'u128'1479  },1480  /**1481   * Lookup180: up_data_structs::CreateItemExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1482   **/1483  UpDataStructsCreateItemExData: {1484    _enum: {1485      NFT: 'Vec<UpDataStructsCreateNftExData>',1486      Fungible: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>',1487      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1488      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1489    }1490  },1491  /**1492   * Lookup182: up_data_structs::CreateNftExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1493   **/1494  UpDataStructsCreateNftExData: {1495    constData: 'Bytes',1496    variableData: 'Bytes',1497    owner: 'PalletCommonAccountBasicCrossAccountIdRepr'1498  },1499  /**1500   * Lookup189: up_data_structs::CreateRefungibleExData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1501   **/1502  UpDataStructsCreateRefungibleExData: {1503    constData: 'Bytes',1504    variableData: 'Bytes',1505    users: 'BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>'1506  },1507  /**1508   * Lookup192: pallet_template_transaction_payment::Call<T>1509   **/1510  PalletTemplateTransactionPaymentCall: 'Null',1511  /**1512   * Lookup193: pallet_evm::pallet::Call<T>1513   **/1514  PalletEvmCall: {1515    _enum: {1516      withdraw: {1517        address: 'H160',1518        value: 'u128',1519      },1520      call: {1521        source: 'H160',1522        target: 'H160',1523        input: 'Bytes',1524        value: 'U256',1525        gasLimit: 'u64',1526        maxFeePerGas: 'U256',1527        maxPriorityFeePerGas: 'Option<U256>',1528        nonce: 'Option<U256>',1529        accessList: 'Vec<(H160,Vec<H256>)>',1530      },1531      create: {1532        source: 'H160',1533        init: 'Bytes',1534        value: 'U256',1535        gasLimit: 'u64',1536        maxFeePerGas: 'U256',1537        maxPriorityFeePerGas: 'Option<U256>',1538        nonce: 'Option<U256>',1539        accessList: 'Vec<(H160,Vec<H256>)>',1540      },1541      create2: {1542        source: 'H160',1543        init: 'Bytes',1544        salt: 'H256',1545        value: 'U256',1546        gasLimit: 'u64',1547        maxFeePerGas: 'U256',1548        maxPriorityFeePerGas: 'Option<U256>',1549        nonce: 'Option<U256>',1550        accessList: 'Vec<(H160,Vec<H256>)>'1551      }1552    }1553  },1554  /**1555   * Lookup199: pallet_ethereum::pallet::Call<T>1556   **/1557  PalletEthereumCall: {1558    _enum: {1559      transact: {1560        transaction: 'EthereumTransactionTransactionV2'1561      }1562    }1563  },1564  /**1565   * Lookup200: ethereum::transaction::TransactionV21566   **/1567  EthereumTransactionTransactionV2: {1568    _enum: {1569      Legacy: 'EthereumTransactionLegacyTransaction',1570      EIP2930: 'EthereumTransactionEip2930Transaction',1571      EIP1559: 'EthereumTransactionEip1559Transaction'1572    }1573  },1574  /**1575   * Lookup201: ethereum::transaction::LegacyTransaction1576   **/1577  EthereumTransactionLegacyTransaction: {1578    nonce: 'U256',1579    gasPrice: 'U256',1580    gasLimit: 'U256',1581    action: 'EthereumTransactionTransactionAction',1582    value: 'U256',1583    input: 'Bytes',1584    signature: 'EthereumTransactionTransactionSignature'1585  },1586  /**1587   * Lookup202: ethereum::transaction::TransactionAction1588   **/1589  EthereumTransactionTransactionAction: {1590    _enum: {1591      Call: 'H160',1592      Create: 'Null'1593    }1594  },1595  /**1596   * Lookup203: ethereum::transaction::TransactionSignature1597   **/1598  EthereumTransactionTransactionSignature: {1599    v: 'u64',1600    r: 'H256',1601    s: 'H256'1602  },1603  /**1604   * Lookup205: ethereum::transaction::EIP2930Transaction1605   **/1606  EthereumTransactionEip2930Transaction: {1607    chainId: 'u64',1608    nonce: 'U256',1609    gasPrice: 'U256',1610    gasLimit: 'U256',1611    action: 'EthereumTransactionTransactionAction',1612    value: 'U256',1613    input: 'Bytes',1614    accessList: 'Vec<EthereumTransactionAccessListItem>',1615    oddYParity: 'bool',1616    r: 'H256',1617    s: 'H256'1618  },1619  /**1620   * Lookup207: ethereum::transaction::AccessListItem1621   **/1622  EthereumTransactionAccessListItem: {1623    address: 'H160',1624    slots: 'Vec<H256>'1625  },1626  /**1627   * Lookup208: ethereum::transaction::EIP1559Transaction1628   **/1629  EthereumTransactionEip1559Transaction: {1630    chainId: 'u64',1631    nonce: 'U256',1632    maxPriorityFeePerGas: 'U256',1633    maxFeePerGas: 'U256',1634    gasLimit: 'U256',1635    action: 'EthereumTransactionTransactionAction',1636    value: 'U256',1637    input: 'Bytes',1638    accessList: 'Vec<EthereumTransactionAccessListItem>',1639    oddYParity: 'bool',1640    r: 'H256',1641    s: 'H256'1642  },1643  /**1644   * Lookup209: pallet_evm_migration::pallet::Call<T>1645   **/1646  PalletEvmMigrationCall: {1647    _enum: {1648      begin: {1649        address: 'H160',1650      },1651      set_data: {1652        address: 'H160',1653        data: 'Vec<(H256,H256)>',1654      },1655      finish: {1656        address: 'H160',1657        code: 'Bytes'1658      }1659    }1660  },1661  /**1662   * Lookup212: pallet_sudo::pallet::Event<T>1663   **/1664  PalletSudoEvent: {1665    _enum: {1666      Sudid: {1667        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1668      },1669      KeyChanged: {1670        oldSudoer: 'Option<AccountId32>',1671      },1672      SudoAsDone: {1673        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1674      }1675    }1676  },1677  /**1678   * Lookup214: sp_runtime::DispatchError1679   **/1680  SpRuntimeDispatchError: {1681    _enum: {1682      Other: 'Null',1683      CannotLookup: 'Null',1684      BadOrigin: 'Null',1685      Module: 'SpRuntimeModuleError',1686      ConsumerRemaining: 'Null',1687      NoProviders: 'Null',1688      TooManyConsumers: 'Null',1689      Token: 'SpRuntimeTokenError',1690      Arithmetic: 'SpRuntimeArithmeticError'1691    }1692  },1693  /**1694   * Lookup215: sp_runtime::ModuleError1695   **/1696  SpRuntimeModuleError: {1697    index: 'u8',1698    error: 'u8'1699  },1700  /**1701   * Lookup216: sp_runtime::TokenError1702   **/1703  SpRuntimeTokenError: {1704    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1705  },1706  /**1707   * Lookup217: sp_runtime::ArithmeticError1708   **/1709  SpRuntimeArithmeticError: {1710    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1711  },1712  /**1713   * Lookup218: pallet_sudo::pallet::Error<T>1714   **/1715  PalletSudoError: {1716    _enum: ['RequireSudo']1717  },1718  /**1719   * Lookup219: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1720   **/1721  FrameSystemAccountInfo: {1722    nonce: 'u32',1723    consumers: 'u32',1724    providers: 'u32',1725    sufficients: 'u32',1726    data: 'PalletBalancesAccountData'1727  },1728  /**1729   * Lookup220: frame_support::weights::PerDispatchClass<T>1730   **/1731  FrameSupportWeightsPerDispatchClassU64: {1732    normal: 'u64',1733    operational: 'u64',1734    mandatory: 'u64'1735  },1736  /**1737   * Lookup221: sp_runtime::generic::digest::Digest1738   **/1739  SpRuntimeDigest: {1740    logs: 'Vec<SpRuntimeDigestDigestItem>'1741  },1742  /**1743   * Lookup223: sp_runtime::generic::digest::DigestItem1744   **/1745  SpRuntimeDigestDigestItem: {1746    _enum: {1747      Other: 'Bytes',1748      __Unused1: 'Null',1749      __Unused2: 'Null',1750      __Unused3: 'Null',1751      Consensus: '([u8;4],Bytes)',1752      Seal: '([u8;4],Bytes)',1753      PreRuntime: '([u8;4],Bytes)',1754      __Unused7: 'Null',1755      RuntimeEnvironmentUpdated: 'Null'1756    }1757  },1758  /**1759   * Lookup225: frame_system::EventRecord<unique_runtime::Event, primitive_types::H256>1760   **/1761  FrameSystemEventRecord: {1762    phase: 'FrameSystemPhase',1763    event: 'Event',1764    topics: 'Vec<H256>'1765  },1766  /**1767   * Lookup227: frame_system::pallet::Event<T>1768   **/1769  FrameSystemEvent: {1770    _enum: {1771      ExtrinsicSuccess: {1772        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1773      },1774      ExtrinsicFailed: {1775        dispatchError: 'SpRuntimeDispatchError',1776        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1777      },1778      CodeUpdated: 'Null',1779      NewAccount: {1780        account: 'AccountId32',1781      },1782      KilledAccount: {1783        account: 'AccountId32',1784      },1785      Remarked: {1786        _alias: {1787          hash_: 'hash',1788        },1789        sender: 'AccountId32',1790        hash_: 'H256'1791      }1792    }1793  },1794  /**1795   * Lookup228: frame_support::weights::DispatchInfo1796   **/1797  FrameSupportWeightsDispatchInfo: {1798    weight: 'u64',1799    class: 'FrameSupportWeightsDispatchClass',1800    paysFee: 'FrameSupportWeightsPays'1801  },1802  /**1803   * Lookup229: frame_support::weights::DispatchClass1804   **/1805  FrameSupportWeightsDispatchClass: {1806    _enum: ['Normal', 'Operational', 'Mandatory']1807  },1808  /**1809   * Lookup230: frame_support::weights::Pays1810   **/1811  FrameSupportWeightsPays: {1812    _enum: ['Yes', 'No']1813  },1814  /**1815   * Lookup231: orml_vesting::module::Event<T>1816   **/1817  OrmlVestingModuleEvent: {1818    _enum: {1819      VestingScheduleAdded: {1820        from: 'AccountId32',1821        to: 'AccountId32',1822        vestingSchedule: 'OrmlVestingVestingSchedule',1823      },1824      Claimed: {1825        who: 'AccountId32',1826        amount: 'u128',1827      },1828      VestingSchedulesUpdated: {1829        who: 'AccountId32'1830      }1831    }1832  },1833  /**1834   * Lookup232: cumulus_pallet_xcmp_queue::pallet::Event<T>1835   **/1836  CumulusPalletXcmpQueueEvent: {1837    _enum: {1838      Success: 'Option<H256>',1839      Fail: '(Option<H256>,XcmV2TraitsError)',1840      BadVersion: 'Option<H256>',1841      BadFormat: 'Option<H256>',1842      UpwardMessageSent: 'Option<H256>',1843      XcmpMessageSent: 'Option<H256>',1844      OverweightEnqueued: '(u32,u32,u64,u64)',1845      OverweightServiced: '(u64,u64)'1846    }1847  },1848  /**1849   * Lookup233: pallet_xcm::pallet::Event<T>1850   **/1851  PalletXcmEvent: {1852    _enum: {1853      Attempted: 'XcmV2TraitsOutcome',1854      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',1855      UnexpectedResponse: '(XcmV1MultiLocation,u64)',1856      ResponseReady: '(u64,XcmV2Response)',1857      Notified: '(u64,u8,u8)',1858      NotifyOverweight: '(u64,u8,u8,u64,u64)',1859      NotifyDispatchError: '(u64,u8,u8)',1860      NotifyDecodeFailed: '(u64,u8,u8)',1861      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',1862      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',1863      ResponseTaken: 'u64',1864      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',1865      VersionChangeNotified: '(XcmV1MultiLocation,u32)',1866      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',1867      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',1868      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1869    }1870  },1871  /**1872   * Lookup234: xcm::v2::traits::Outcome1873   **/1874  XcmV2TraitsOutcome: {1875    _enum: {1876      Complete: 'u64',1877      Incomplete: '(u64,XcmV2TraitsError)',1878      Error: 'XcmV2TraitsError'1879    }1880  },1881  /**1882   * Lookup236: cumulus_pallet_xcm::pallet::Event<T>1883   **/1884  CumulusPalletXcmEvent: {1885    _enum: {1886      InvalidFormat: '[u8;8]',1887      UnsupportedVersion: '[u8;8]',1888      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1889    }1890  },1891  /**1892   * Lookup237: cumulus_pallet_dmp_queue::pallet::Event<T>1893   **/1894  CumulusPalletDmpQueueEvent: {1895    _enum: {1896      InvalidFormat: '[u8;32]',1897      UnsupportedVersion: '[u8;32]',1898      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',1899      WeightExhausted: '([u8;32],u64,u64)',1900      OverweightEnqueued: '([u8;32],u64,u64)',1901      OverweightServiced: '(u64,u64)'1902    }1903  },1904  /**1905   * Lookup238: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1906   **/1907  PalletUniqueRawEvent: {1908    _enum: {1909      CollectionSponsorRemoved: 'u32',1910      CollectionAdminAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1911      CollectionOwnedChanged: '(u32,AccountId32)',1912      CollectionSponsorSet: '(u32,AccountId32)',1913      ConstOnChainSchemaSet: 'u32',1914      SponsorshipConfirmed: '(u32,AccountId32)',1915      CollectionAdminRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1916      AllowListAddressRemoved: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1917      AllowListAddressAdded: '(u32,PalletCommonAccountBasicCrossAccountIdRepr)',1918      CollectionLimitSet: 'u32',1919      MintPermissionSet: 'u32',1920      OffchainSchemaSet: 'u32',1921      PublicAccessModeSet: '(u32,UpDataStructsAccessMode)',1922      SchemaVersionSet: 'u32',1923      VariableOnChainSchemaSet: 'u32'1924    }1925  },1926  /**1927   * Lookup239: pallet_common::pallet::Event<T>1928   **/1929  PalletCommonEvent: {1930    _enum: {1931      CollectionCreated: '(u32,u8,AccountId32)',1932      CollectionDestroyed: 'u32',1933      ItemCreated: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1934      ItemDestroyed: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1935      Transfer: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)',1936      Approved: '(u32,u32,PalletCommonAccountBasicCrossAccountIdRepr,PalletCommonAccountBasicCrossAccountIdRepr,u128)'1937    }1938  },1939  /**1940   * Lookup240: pallet_evm::pallet::Event<T>1941   **/1942  PalletEvmEvent: {1943    _enum: {1944      Log: 'EthereumLog',1945      Created: 'H160',1946      CreatedFailed: 'H160',1947      Executed: 'H160',1948      ExecutedFailed: 'H160',1949      BalanceDeposit: '(AccountId32,H160,U256)',1950      BalanceWithdraw: '(AccountId32,H160,U256)'1951    }1952  },1953  /**1954   * Lookup241: ethereum::log::Log1955   **/1956  EthereumLog: {1957    address: 'H160',1958    topics: 'Vec<H256>',1959    data: 'Bytes'1960  },1961  /**1962   * Lookup242: pallet_ethereum::pallet::Event1963   **/1964  PalletEthereumEvent: {1965    _enum: {1966      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1967    }1968  },1969  /**1970   * Lookup243: evm_core::error::ExitReason1971   **/1972  EvmCoreErrorExitReason: {1973    _enum: {1974      Succeed: 'EvmCoreErrorExitSucceed',1975      Error: 'EvmCoreErrorExitError',1976      Revert: 'EvmCoreErrorExitRevert',1977      Fatal: 'EvmCoreErrorExitFatal'1978    }1979  },1980  /**1981   * Lookup244: evm_core::error::ExitSucceed1982   **/1983  EvmCoreErrorExitSucceed: {1984    _enum: ['Stopped', 'Returned', 'Suicided']1985  },1986  /**1987   * Lookup245: evm_core::error::ExitError1988   **/1989  EvmCoreErrorExitError: {1990    _enum: {1991      StackUnderflow: 'Null',1992      StackOverflow: 'Null',1993      InvalidJump: 'Null',1994      InvalidRange: 'Null',1995      DesignatedInvalid: 'Null',1996      CallTooDeep: 'Null',1997      CreateCollision: 'Null',1998      CreateContractLimit: 'Null',1999      InvalidCode: 'Null',2000      OutOfOffset: 'Null',2001      OutOfGas: 'Null',2002      OutOfFund: 'Null',2003      PCUnderflow: 'Null',2004      CreateEmpty: 'Null',2005      Other: 'Text'2006    }2007  },2008  /**2009   * Lookup248: evm_core::error::ExitRevert2010   **/2011  EvmCoreErrorExitRevert: {2012    _enum: ['Reverted']2013  },2014  /**2015   * Lookup249: evm_core::error::ExitFatal2016   **/2017  EvmCoreErrorExitFatal: {2018    _enum: {2019      NotSupported: 'Null',2020      UnhandledInterrupt: 'Null',2021      CallErrorAsFatal: 'EvmCoreErrorExitError',2022      Other: 'Text'2023    }2024  },2025  /**2026   * Lookup250: frame_system::Phase2027   **/2028  FrameSystemPhase: {2029    _enum: {2030      ApplyExtrinsic: 'u32',2031      Finalization: 'Null',2032      Initialization: 'Null'2033    }2034  },2035  /**2036   * Lookup252: frame_system::LastRuntimeUpgradeInfo2037   **/2038  FrameSystemLastRuntimeUpgradeInfo: {2039    specVersion: 'Compact<u32>',2040    specName: 'Text'2041  },2042  /**2043   * Lookup253: frame_system::limits::BlockWeights2044   **/2045  FrameSystemLimitsBlockWeights: {2046    baseBlock: 'u64',2047    maxBlock: 'u64',2048    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2049  },2050  /**2051   * Lookup254: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2052   **/2053  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2054    normal: 'FrameSystemLimitsWeightsPerClass',2055    operational: 'FrameSystemLimitsWeightsPerClass',2056    mandatory: 'FrameSystemLimitsWeightsPerClass'2057  },2058  /**2059   * Lookup255: frame_system::limits::WeightsPerClass2060   **/2061  FrameSystemLimitsWeightsPerClass: {2062    baseExtrinsic: 'u64',2063    maxExtrinsic: 'Option<u64>',2064    maxTotal: 'Option<u64>',2065    reserved: 'Option<u64>'2066  },2067  /**2068   * Lookup257: frame_system::limits::BlockLength2069   **/2070  FrameSystemLimitsBlockLength: {2071    max: 'FrameSupportWeightsPerDispatchClassU32'2072  },2073  /**2074   * Lookup258: frame_support::weights::PerDispatchClass<T>2075   **/2076  FrameSupportWeightsPerDispatchClassU32: {2077    normal: 'u32',2078    operational: 'u32',2079    mandatory: 'u32'2080  },2081  /**2082   * Lookup259: frame_support::weights::RuntimeDbWeight2083   **/2084  FrameSupportWeightsRuntimeDbWeight: {2085    read: 'u64',2086    write: 'u64'2087  },2088  /**2089   * Lookup260: sp_version::RuntimeVersion2090   **/2091  SpVersionRuntimeVersion: {2092    specName: 'Text',2093    implName: 'Text',2094    authoringVersion: 'u32',2095    specVersion: 'u32',2096    implVersion: 'u32',2097    apis: 'Vec<([u8;8],u32)>',2098    transactionVersion: 'u32',2099    stateVersion: 'u8'2100  },2101  /**2102   * Lookup264: frame_system::pallet::Error<T>2103   **/2104  FrameSystemError: {2105    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2106  },2107  /**2108   * Lookup266: orml_vesting::module::Error<T>2109   **/2110  OrmlVestingModuleError: {2111    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2112  },2113  /**2114   * Lookup268: cumulus_pallet_xcmp_queue::InboundChannelDetails2115   **/2116  CumulusPalletXcmpQueueInboundChannelDetails: {2117    sender: 'u32',2118    state: 'CumulusPalletXcmpQueueInboundState',2119    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2120  },2121  /**2122   * Lookup269: cumulus_pallet_xcmp_queue::InboundState2123   **/2124  CumulusPalletXcmpQueueInboundState: {2125    _enum: ['Ok', 'Suspended']2126  },2127  /**2128   * Lookup272: polkadot_parachain::primitives::XcmpMessageFormat2129   **/2130  PolkadotParachainPrimitivesXcmpMessageFormat: {2131    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2132  },2133  /**2134   * Lookup275: cumulus_pallet_xcmp_queue::OutboundChannelDetails2135   **/2136  CumulusPalletXcmpQueueOutboundChannelDetails: {2137    recipient: 'u32',2138    state: 'CumulusPalletXcmpQueueOutboundState',2139    signalsExist: 'bool',2140    firstIndex: 'u16',2141    lastIndex: 'u16'2142  },2143  /**2144   * Lookup276: cumulus_pallet_xcmp_queue::OutboundState2145   **/2146  CumulusPalletXcmpQueueOutboundState: {2147    _enum: ['Ok', 'Suspended']2148  },2149  /**2150   * Lookup278: cumulus_pallet_xcmp_queue::QueueConfigData2151   **/2152  CumulusPalletXcmpQueueQueueConfigData: {2153    suspendThreshold: 'u32',2154    dropThreshold: 'u32',2155    resumeThreshold: 'u32',2156    thresholdWeight: 'u64',2157    weightRestrictDecay: 'u64',2158    xcmpMaxIndividualWeight: 'u64'2159  },2160  /**2161   * Lookup280: cumulus_pallet_xcmp_queue::pallet::Error<T>2162   **/2163  CumulusPalletXcmpQueueError: {2164    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2165  },2166  /**2167   * Lookup281: pallet_xcm::pallet::Error<T>2168   **/2169  PalletXcmError: {2170    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2171  },2172  /**2173   * Lookup282: cumulus_pallet_xcm::pallet::Error<T>2174   **/2175  CumulusPalletXcmError: 'Null',2176  /**2177   * Lookup283: cumulus_pallet_dmp_queue::ConfigData2178   **/2179  CumulusPalletDmpQueueConfigData: {2180    maxIndividual: 'u64'2181  },2182  /**2183   * Lookup284: cumulus_pallet_dmp_queue::PageIndexData2184   **/2185  CumulusPalletDmpQueuePageIndexData: {2186    beginUsed: 'u32',2187    endUsed: 'u32',2188    overweightCount: 'u64'2189  },2190  /**2191   * Lookup287: cumulus_pallet_dmp_queue::pallet::Error<T>2192   **/2193  CumulusPalletDmpQueueError: {2194    _enum: ['Unknown', 'OverLimit']2195  },2196  /**2197   * Lookup291: pallet_unique::Error<T>2198   **/2199  PalletUniqueError: {2200    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2201  },2202  /**2203   * Lookup292: up_data_structs::Collection<sp_core::crypto::AccountId32>2204   **/2205  UpDataStructsCollection: {2206    owner: 'AccountId32',2207    mode: 'UpDataStructsCollectionMode',2208    access: 'UpDataStructsAccessMode',2209    name: 'Vec<u16>',2210    description: 'Vec<u16>',2211    tokenPrefix: 'Bytes',2212    mintMode: 'bool',2213    offchainSchema: 'Bytes',2214    schemaVersion: 'UpDataStructsSchemaVersion',2215    sponsorship: 'UpDataStructsSponsorshipState',2216    limits: 'UpDataStructsCollectionLimits',2217    variableOnChainSchema: 'Bytes',2218    constOnChainSchema: 'Bytes',2219    metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2220  },2221  /**2222   * Lookup293: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2223   **/2224  UpDataStructsSponsorshipState: {2225    _enum: {2226      Disabled: 'Null',2227      Unconfirmed: 'AccountId32',2228      Confirmed: 'AccountId32'2229    }2230  },2231  /**2232   * Lookup296: up_data_structs::CollectionStats2233   **/2234  UpDataStructsCollectionStats: {2235    created: 'u32',2236    destroyed: 'u32',2237    alive: 'u32'2238  },2239  /**2240   * Lookup297: pallet_common::pallet::Error<T>2241   **/2242  PalletCommonError: {2243    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation']2244  },2245  /**2246   * Lookup299: pallet_fungible::pallet::Error<T>2247   **/2248  PalletFungibleError: {2249    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2250  },2251  /**2252   * Lookup300: pallet_refungible::ItemData2253   **/2254  PalletRefungibleItemData: {2255    constData: 'Bytes',2256    variableData: 'Bytes'2257  },2258  /**2259   * Lookup304: pallet_refungible::pallet::Error<T>2260   **/2261  PalletRefungibleError: {2262    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2263  },2264  /**2265   * Lookup305: pallet_nonfungible::ItemData<pallet_common::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2266   **/2267  PalletNonfungibleItemData: {2268    constData: 'Bytes',2269    variableData: 'Bytes',2270    owner: 'PalletCommonAccountBasicCrossAccountIdRepr'2271  },2272  /**2273   * Lookup306: pallet_nonfungible::pallet::Error<T>2274   **/2275  PalletNonfungibleError: {2276    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2277  },2278  /**2279   * Lookup308: pallet_evm::pallet::Error<T>2280   **/2281  PalletEvmError: {2282    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2283  },2284  /**2285   * Lookup311: fp_rpc::TransactionStatus2286   **/2287  FpRpcTransactionStatus: {2288    transactionHash: 'H256',2289    transactionIndex: 'u32',2290    from: 'H160',2291    to: 'Option<H160>',2292    contractAddress: 'Option<H160>',2293    logs: 'Vec<EthereumLog>',2294    logsBloom: 'EthbloomBloom'2295  },2296  /**2297   * Lookup314: ethbloom::Bloom2298   **/2299  EthbloomBloom: '[u8;256]',2300  /**2301   * Lookup316: ethereum::receipt::ReceiptV32302   **/2303  EthereumReceiptReceiptV3: {2304    _enum: {2305      Legacy: 'EthereumReceiptEip658ReceiptData',2306      EIP2930: 'EthereumReceiptEip658ReceiptData',2307      EIP1559: 'EthereumReceiptEip658ReceiptData'2308    }2309  },2310  /**2311   * Lookup317: ethereum::receipt::EIP658ReceiptData2312   **/2313  EthereumReceiptEip658ReceiptData: {2314    statusCode: 'u8',2315    usedGas: 'U256',2316    logsBloom: 'EthbloomBloom',2317    logs: 'Vec<EthereumLog>'2318  },2319  /**2320   * Lookup318: ethereum::block::Block<ethereum::transaction::TransactionV2>2321   **/2322  EthereumBlock: {2323    header: 'EthereumHeader',2324    transactions: 'Vec<EthereumTransactionTransactionV2>',2325    ommers: 'Vec<EthereumHeader>'2326  },2327  /**2328   * Lookup319: ethereum::header::Header2329   **/2330  EthereumHeader: {2331    parentHash: 'H256',2332    ommersHash: 'H256',2333    beneficiary: 'H160',2334    stateRoot: 'H256',2335    transactionsRoot: 'H256',2336    receiptsRoot: 'H256',2337    logsBloom: 'EthbloomBloom',2338    difficulty: 'U256',2339    number: 'U256',2340    gasLimit: 'U256',2341    gasUsed: 'U256',2342    timestamp: 'u64',2343    extraData: 'Bytes',2344    mixHash: 'H256',2345    nonce: 'EthereumTypesHashH64'2346  },2347  /**2348   * Lookup320: ethereum_types::hash::H642349   **/2350  EthereumTypesHashH64: '[u8;8]',2351  /**2352   * Lookup325: pallet_ethereum::pallet::Error<T>2353   **/2354  PalletEthereumError: {2355    _enum: ['InvalidSignature', 'PreLogExists']2356  },2357  /**2358   * Lookup326: pallet_evm_coder_substrate::pallet::Error<T>2359   **/2360  PalletEvmCoderSubstrateError: {2361    _enum: ['OutOfGas', 'OutOfFund']2362  },2363  /**2364   * Lookup327: pallet_evm_contract_helpers::SponsoringModeT2365   **/2366  PalletEvmContractHelpersSponsoringModeT: {2367    _enum: ['Disabled', 'Allowlisted', 'Generous']2368  },2369  /**2370   * Lookup329: pallet_evm_contract_helpers::pallet::Error<T>2371   **/2372  PalletEvmContractHelpersError: {2373    _enum: ['NoPermission']2374  },2375  /**2376   * Lookup330: pallet_evm_migration::pallet::Error<T>2377   **/2378  PalletEvmMigrationError: {2379    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2380  },2381  /**2382   * Lookup332: sp_runtime::MultiSignature2383   **/2384  SpRuntimeMultiSignature: {2385    _enum: {2386      Ed25519: 'SpCoreEd25519Signature',2387      Sr25519: 'SpCoreSr25519Signature',2388      Ecdsa: 'SpCoreEcdsaSignature'2389    }2390  },2391  /**2392   * Lookup333: sp_core::ed25519::Signature2393   **/2394  SpCoreEd25519Signature: '[u8;64]',2395  /**2396   * Lookup335: sp_core::sr25519::Signature2397   **/2398  SpCoreSr25519Signature: '[u8;64]',2399  /**2400   * Lookup336: sp_core::ecdsa::Signature2401   **/2402  SpCoreEcdsaSignature: '[u8;65]',2403  /**2404   * Lookup339: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2405   **/2406  FrameSystemExtensionsCheckSpecVersion: 'Null',2407  /**2408   * Lookup340: frame_system::extensions::check_genesis::CheckGenesis<T>2409   **/2410  FrameSystemExtensionsCheckGenesis: 'Null',2411  /**2412   * Lookup343: frame_system::extensions::check_nonce::CheckNonce<T>2413   **/2414  FrameSystemExtensionsCheckNonce: 'Compact<u32>',2415  /**2416   * Lookup344: frame_system::extensions::check_weight::CheckWeight<T>2417   **/2418  FrameSystemExtensionsCheckWeight: 'Null',2419  /**2420   * Lookup345: pallet_template_transaction_payment::ChargeTransactionPayment<unique_runtime::Runtime>2421   **/2422  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2423  /**2424   * Lookup346: unique_runtime::Runtime2425   **/2426  UniqueRuntimeRuntime: 'Null'2427};
after · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup2: polkadot_primitives::v1::PersistedValidationData<primitive_types::H256, N>9   **/10  PolkadotPrimitivesV1PersistedValidationData: {11    parentHead: 'Bytes',12    relayParentNumber: 'u32',13    relayParentStorageRoot: 'H256',14    maxPovSize: 'u32'15  },16  /**17   * Lookup9: polkadot_primitives::v1::UpgradeRestriction18   **/19  PolkadotPrimitivesV1UpgradeRestriction: {20    _enum: ['Present']21  },22  /**23   * Lookup10: sp_trie::storage_proof::StorageProof24   **/25  SpTrieStorageProof: {26    trieNodes: 'BTreeSet'27  },28  /**29   * Lookup11: BTreeSet<T>30   **/31  BTreeSet: 'Vec<Bytes>',32  /**33   * Lookup13: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot34   **/35  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {36    dmqMqcHead: 'H256',37    relayDispatchQueueSize: '(u32,u32)',38    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>',39    egressChannels: 'Vec<(u32,PolkadotPrimitivesV1AbridgedHrmpChannel)>'40  },41  /**42   * Lookup18: polkadot_primitives::v1::AbridgedHrmpChannel43   **/44  PolkadotPrimitivesV1AbridgedHrmpChannel: {45    maxCapacity: 'u32',46    maxTotalSize: 'u32',47    maxMessageSize: 'u32',48    msgCount: 'u32',49    totalSize: 'u32',50    mqcHead: 'Option<H256>'51  },52  /**53   * Lookup20: polkadot_primitives::v1::AbridgedHostConfiguration54   **/55  PolkadotPrimitivesV1AbridgedHostConfiguration: {56    maxCodeSize: 'u32',57    maxHeadDataSize: 'u32',58    maxUpwardQueueCount: 'u32',59    maxUpwardQueueSize: 'u32',60    maxUpwardMessageSize: 'u32',61    maxUpwardMessageNumPerCandidate: 'u32',62    hrmpMaxMessageNumPerCandidate: 'u32',63    validationUpgradeCooldown: 'u32',64    validationUpgradeDelay: 'u32'65  },66  /**67   * Lookup26: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>68   **/69  PolkadotCorePrimitivesOutboundHrmpMessage: {70    recipient: 'u32',71    data: 'Bytes'72  },73  /**74   * Lookup28: cumulus_pallet_parachain_system::pallet::Call<T>75   **/76  CumulusPalletParachainSystemCall: {77    _enum: {78      set_validation_data: {79        data: 'CumulusPrimitivesParachainInherentParachainInherentData',80      },81      sudo_send_upward_message: {82        message: 'Bytes',83      },84      authorize_upgrade: {85        codeHash: 'H256',86      },87      enact_authorized_upgrade: {88        code: 'Bytes'89      }90    }91  },92  /**93   * Lookup29: cumulus_primitives_parachain_inherent::ParachainInherentData94   **/95  CumulusPrimitivesParachainInherentParachainInherentData: {96    validationData: 'PolkadotPrimitivesV1PersistedValidationData',97    relayChainState: 'SpTrieStorageProof',98    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',99    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'100  },101  /**102   * Lookup31: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>103   **/104  PolkadotCorePrimitivesInboundDownwardMessage: {105    sentAt: 'u32',106    msg: 'Bytes'107  },108  /**109   * Lookup34: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>110   **/111  PolkadotCorePrimitivesInboundHrmpMessage: {112    sentAt: 'u32',113    data: 'Bytes'114  },115  /**116   * Lookup37: cumulus_pallet_parachain_system::pallet::Event<T>117   **/118  CumulusPalletParachainSystemEvent: {119    _enum: {120      ValidationFunctionStored: 'Null',121      ValidationFunctionApplied: 'u32',122      ValidationFunctionDiscarded: 'Null',123      UpgradeAuthorized: 'H256',124      DownwardMessagesReceived: 'u32',125      DownwardMessagesProcessed: '(u64,H256)'126    }127  },128  /**129   * Lookup38: cumulus_pallet_parachain_system::pallet::Error<T>130   **/131  CumulusPalletParachainSystemError: {132    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']133  },134  /**135   * Lookup41: pallet_balances::AccountData<Balance>136   **/137  PalletBalancesAccountData: {138    free: 'u128',139    reserved: 'u128',140    miscFrozen: 'u128',141    feeFrozen: 'u128'142  },143  /**144   * Lookup43: pallet_balances::BalanceLock<Balance>145   **/146  PalletBalancesBalanceLock: {147    id: '[u8;8]',148    amount: 'u128',149    reasons: 'PalletBalancesReasons'150  },151  /**152   * Lookup45: pallet_balances::Reasons153   **/154  PalletBalancesReasons: {155    _enum: ['Fee', 'Misc', 'All']156  },157  /**158   * Lookup48: pallet_balances::ReserveData<ReserveIdentifier, Balance>159   **/160  PalletBalancesReserveData: {161    id: '[u8;8]',162    amount: 'u128'163  },164  /**165   * Lookup50: pallet_balances::Releases166   **/167  PalletBalancesReleases: {168    _enum: ['V1_0_0', 'V2_0_0']169  },170  /**171   * Lookup51: pallet_balances::pallet::Call<T, I>172   **/173  PalletBalancesCall: {174    _enum: {175      transfer: {176        dest: 'MultiAddress',177        value: 'Compact<u128>',178      },179      set_balance: {180        who: 'MultiAddress',181        newFree: 'Compact<u128>',182        newReserved: 'Compact<u128>',183      },184      force_transfer: {185        source: 'MultiAddress',186        dest: 'MultiAddress',187        value: 'Compact<u128>',188      },189      transfer_keep_alive: {190        dest: 'MultiAddress',191        value: 'Compact<u128>',192      },193      transfer_all: {194        dest: 'MultiAddress',195        keepAlive: 'bool',196      },197      force_unreserve: {198        who: 'MultiAddress',199        amount: 'u128'200      }201    }202  },203  /**204   * Lookup57: pallet_balances::pallet::Event<T, I>205   **/206  PalletBalancesEvent: {207    _enum: {208      Endowed: {209        account: 'AccountId32',210        freeBalance: 'u128',211      },212      DustLost: {213        account: 'AccountId32',214        amount: 'u128',215      },216      Transfer: {217        from: 'AccountId32',218        to: 'AccountId32',219        amount: 'u128',220      },221      BalanceSet: {222        who: 'AccountId32',223        free: 'u128',224        reserved: 'u128',225      },226      Reserved: {227        who: 'AccountId32',228        amount: 'u128',229      },230      Unreserved: {231        who: 'AccountId32',232        amount: 'u128',233      },234      ReserveRepatriated: {235        from: 'AccountId32',236        to: 'AccountId32',237        amount: 'u128',238        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',239      },240      Deposit: {241        who: 'AccountId32',242        amount: 'u128',243      },244      Withdraw: {245        who: 'AccountId32',246        amount: 'u128',247      },248      Slashed: {249        who: 'AccountId32',250        amount: 'u128'251      }252    }253  },254  /**255   * Lookup58: frame_support::traits::tokens::misc::BalanceStatus256   **/257  FrameSupportTokensMiscBalanceStatus: {258    _enum: ['Free', 'Reserved']259  },260  /**261   * Lookup59: pallet_balances::pallet::Error<T, I>262   **/263  PalletBalancesError: {264    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']265  },266  /**267   * Lookup62: pallet_timestamp::pallet::Call<T>268   **/269  PalletTimestampCall: {270    _enum: {271      set: {272        now: 'Compact<u64>'273      }274    }275  },276  /**277   * Lookup65: pallet_transaction_payment::Releases278   **/279  PalletTransactionPaymentReleases: {280    _enum: ['V1Ancient', 'V2']281  },282  /**283   * Lookup67: frame_support::weights::WeightToFeeCoefficient<Balance>284   **/285  FrameSupportWeightsWeightToFeeCoefficient: {286    coeffInteger: 'u128',287    coeffFrac: 'Perbill',288    negative: 'bool',289    degree: 'u8'290  },291  /**292   * Lookup69: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>293   **/294  PalletTreasuryProposal: {295    proposer: 'AccountId32',296    value: 'u128',297    beneficiary: 'AccountId32',298    bond: 'u128'299  },300  /**301   * Lookup72: pallet_treasury::pallet::Call<T, I>302   **/303  PalletTreasuryCall: {304    _enum: {305      propose_spend: {306        value: 'Compact<u128>',307        beneficiary: 'MultiAddress',308      },309      reject_proposal: {310        proposalId: 'Compact<u32>',311      },312      approve_proposal: {313        proposalId: 'Compact<u32>'314      }315    }316  },317  /**318   * Lookup74: pallet_treasury::pallet::Event<T, I>319   **/320  PalletTreasuryEvent: {321    _enum: {322      Proposed: {323        proposalIndex: 'u32',324      },325      Spending: {326        budgetRemaining: 'u128',327      },328      Awarded: {329        proposalIndex: 'u32',330        award: 'u128',331        account: 'AccountId32',332      },333      Rejected: {334        proposalIndex: 'u32',335        slashed: 'u128',336      },337      Burnt: {338        burntFunds: 'u128',339      },340      Rollover: {341        rolloverBalance: 'u128',342      },343      Deposit: {344        value: 'u128'345      }346    }347  },348  /**349   * Lookup77: frame_support::PalletId350   **/351  FrameSupportPalletId: '[u8;8]',352  /**353   * Lookup78: pallet_treasury::pallet::Error<T, I>354   **/355  PalletTreasuryError: {356    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals']357  },358  /**359   * Lookup79: pallet_sudo::pallet::Call<T>360   **/361  PalletSudoCall: {362    _enum: {363      sudo: {364        call: 'Call',365      },366      sudo_unchecked_weight: {367        call: 'Call',368        weight: 'u64',369      },370      set_key: {371        _alias: {372          new_: 'new',373        },374        new_: 'MultiAddress',375      },376      sudo_as: {377        who: 'MultiAddress',378        call: 'Call'379      }380    }381  },382  /**383   * Lookup81: frame_system::pallet::Call<T>384   **/385  FrameSystemCall: {386    _enum: {387      fill_block: {388        ratio: 'Perbill',389      },390      remark: {391        remark: 'Bytes',392      },393      set_heap_pages: {394        pages: 'u64',395      },396      set_code: {397        code: 'Bytes',398      },399      set_code_without_checks: {400        code: 'Bytes',401      },402      set_storage: {403        items: 'Vec<(Bytes,Bytes)>',404      },405      kill_storage: {406        _alias: {407          keys_: 'keys',408        },409        keys_: 'Vec<Bytes>',410      },411      kill_prefix: {412        prefix: 'Bytes',413        subkeys: 'u32',414      },415      remark_with_event: {416        remark: 'Bytes'417      }418    }419  },420  /**421   * Lookup84: orml_vesting::module::Call<T>422   **/423  OrmlVestingModuleCall: {424    _enum: {425      claim: 'Null',426      vested_transfer: {427        dest: 'MultiAddress',428        schedule: 'OrmlVestingVestingSchedule',429      },430      update_vesting_schedules: {431        who: 'MultiAddress',432        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',433      },434      claim_for: {435        dest: 'MultiAddress'436      }437    }438  },439  /**440   * Lookup85: orml_vesting::VestingSchedule<BlockNumber, Balance>441   **/442  OrmlVestingVestingSchedule: {443    start: 'u32',444    period: 'u32',445    periodCount: 'u32',446    perPeriod: 'Compact<u128>'447  },448  /**449   * Lookup87: cumulus_pallet_xcmp_queue::pallet::Call<T>450   **/451  CumulusPalletXcmpQueueCall: {452    _enum: {453      service_overweight: {454        index: 'u64',455        weightLimit: 'u64',456      },457      suspend_xcm_execution: 'Null',458      resume_xcm_execution: 'Null',459      update_suspend_threshold: {460        _alias: {461          new_: 'new',462        },463        new_: 'u32',464      },465      update_drop_threshold: {466        _alias: {467          new_: 'new',468        },469        new_: 'u32',470      },471      update_resume_threshold: {472        _alias: {473          new_: 'new',474        },475        new_: 'u32',476      },477      update_threshold_weight: {478        _alias: {479          new_: 'new',480        },481        new_: 'u64',482      },483      update_weight_restrict_decay: {484        _alias: {485          new_: 'new',486        },487        new_: 'u64',488      },489      update_xcmp_max_individual_weight: {490        _alias: {491          new_: 'new',492        },493        new_: 'u64'494      }495    }496  },497  /**498   * Lookup88: pallet_xcm::pallet::Call<T>499   **/500  PalletXcmCall: {501    _enum: {502      send: {503        dest: 'XcmVersionedMultiLocation',504        message: 'XcmVersionedXcm',505      },506      teleport_assets: {507        dest: 'XcmVersionedMultiLocation',508        beneficiary: 'XcmVersionedMultiLocation',509        assets: 'XcmVersionedMultiAssets',510        feeAssetItem: 'u32',511      },512      reserve_transfer_assets: {513        dest: 'XcmVersionedMultiLocation',514        beneficiary: 'XcmVersionedMultiLocation',515        assets: 'XcmVersionedMultiAssets',516        feeAssetItem: 'u32',517      },518      execute: {519        message: 'XcmVersionedXcm',520        maxWeight: 'u64',521      },522      force_xcm_version: {523        location: 'XcmV1MultiLocation',524        xcmVersion: 'u32',525      },526      force_default_xcm_version: {527        maybeXcmVersion: 'Option<u32>',528      },529      force_subscribe_version_notify: {530        location: 'XcmVersionedMultiLocation',531      },532      force_unsubscribe_version_notify: {533        location: 'XcmVersionedMultiLocation',534      },535      limited_reserve_transfer_assets: {536        dest: 'XcmVersionedMultiLocation',537        beneficiary: 'XcmVersionedMultiLocation',538        assets: 'XcmVersionedMultiAssets',539        feeAssetItem: 'u32',540        weightLimit: 'XcmV2WeightLimit',541      },542      limited_teleport_assets: {543        dest: 'XcmVersionedMultiLocation',544        beneficiary: 'XcmVersionedMultiLocation',545        assets: 'XcmVersionedMultiAssets',546        feeAssetItem: 'u32',547        weightLimit: 'XcmV2WeightLimit'548      }549    }550  },551  /**552   * Lookup89: xcm::VersionedMultiLocation553   **/554  XcmVersionedMultiLocation: {555    _enum: {556      V0: 'XcmV0MultiLocation',557      V1: 'XcmV1MultiLocation'558    }559  },560  /**561   * Lookup90: xcm::v0::multi_location::MultiLocation562   **/563  XcmV0MultiLocation: {564    _enum: {565      Null: 'Null',566      X1: 'XcmV0Junction',567      X2: '(XcmV0Junction,XcmV0Junction)',568      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',569      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',570      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',571      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',572      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',573      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'574    }575  },576  /**577   * Lookup91: xcm::v0::junction::Junction578   **/579  XcmV0Junction: {580    _enum: {581      Parent: 'Null',582      Parachain: 'Compact<u32>',583      AccountId32: {584        network: 'XcmV0JunctionNetworkId',585        id: '[u8;32]',586      },587      AccountIndex64: {588        network: 'XcmV0JunctionNetworkId',589        index: 'Compact<u64>',590      },591      AccountKey20: {592        network: 'XcmV0JunctionNetworkId',593        key: '[u8;20]',594      },595      PalletInstance: 'u8',596      GeneralIndex: 'Compact<u128>',597      GeneralKey: 'Bytes',598      OnlyChild: 'Null',599      Plurality: {600        id: 'XcmV0JunctionBodyId',601        part: 'XcmV0JunctionBodyPart'602      }603    }604  },605  /**606   * Lookup92: xcm::v0::junction::NetworkId607   **/608  XcmV0JunctionNetworkId: {609    _enum: {610      Any: 'Null',611      Named: 'Bytes',612      Polkadot: 'Null',613      Kusama: 'Null'614    }615  },616  /**617   * Lookup93: xcm::v0::junction::BodyId618   **/619  XcmV0JunctionBodyId: {620    _enum: {621      Unit: 'Null',622      Named: 'Bytes',623      Index: 'Compact<u32>',624      Executive: 'Null',625      Technical: 'Null',626      Legislative: 'Null',627      Judicial: 'Null'628    }629  },630  /**631   * Lookup94: xcm::v0::junction::BodyPart632   **/633  XcmV0JunctionBodyPart: {634    _enum: {635      Voice: 'Null',636      Members: {637        count: 'Compact<u32>',638      },639      Fraction: {640        nom: 'Compact<u32>',641        denom: 'Compact<u32>',642      },643      AtLeastProportion: {644        nom: 'Compact<u32>',645        denom: 'Compact<u32>',646      },647      MoreThanProportion: {648        nom: 'Compact<u32>',649        denom: 'Compact<u32>'650      }651    }652  },653  /**654   * Lookup95: xcm::v1::multilocation::MultiLocation655   **/656  XcmV1MultiLocation: {657    parents: 'u8',658    interior: 'XcmV1MultilocationJunctions'659  },660  /**661   * Lookup96: xcm::v1::multilocation::Junctions662   **/663  XcmV1MultilocationJunctions: {664    _enum: {665      Here: 'Null',666      X1: 'XcmV1Junction',667      X2: '(XcmV1Junction,XcmV1Junction)',668      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',669      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',670      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',671      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',672      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',673      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'674    }675  },676  /**677   * Lookup97: xcm::v1::junction::Junction678   **/679  XcmV1Junction: {680    _enum: {681      Parachain: 'Compact<u32>',682      AccountId32: {683        network: 'XcmV0JunctionNetworkId',684        id: '[u8;32]',685      },686      AccountIndex64: {687        network: 'XcmV0JunctionNetworkId',688        index: 'Compact<u64>',689      },690      AccountKey20: {691        network: 'XcmV0JunctionNetworkId',692        key: '[u8;20]',693      },694      PalletInstance: 'u8',695      GeneralIndex: 'Compact<u128>',696      GeneralKey: 'Bytes',697      OnlyChild: 'Null',698      Plurality: {699        id: 'XcmV0JunctionBodyId',700        part: 'XcmV0JunctionBodyPart'701      }702    }703  },704  /**705   * Lookup98: xcm::VersionedXcm<Call>706   **/707  XcmVersionedXcm: {708    _enum: {709      V0: 'XcmV0Xcm',710      V1: 'XcmV1Xcm',711      V2: 'XcmV2Xcm'712    }713  },714  /**715   * Lookup99: xcm::v0::Xcm<Call>716   **/717  XcmV0Xcm: {718    _enum: {719      WithdrawAsset: {720        assets: 'Vec<XcmV0MultiAsset>',721        effects: 'Vec<XcmV0Order>',722      },723      ReserveAssetDeposit: {724        assets: 'Vec<XcmV0MultiAsset>',725        effects: 'Vec<XcmV0Order>',726      },727      TeleportAsset: {728        assets: 'Vec<XcmV0MultiAsset>',729        effects: 'Vec<XcmV0Order>',730      },731      QueryResponse: {732        queryId: 'Compact<u64>',733        response: 'XcmV0Response',734      },735      TransferAsset: {736        assets: 'Vec<XcmV0MultiAsset>',737        dest: 'XcmV0MultiLocation',738      },739      TransferReserveAsset: {740        assets: 'Vec<XcmV0MultiAsset>',741        dest: 'XcmV0MultiLocation',742        effects: 'Vec<XcmV0Order>',743      },744      Transact: {745        originType: 'XcmV0OriginKind',746        requireWeightAtMost: 'u64',747        call: 'XcmDoubleEncoded',748      },749      HrmpNewChannelOpenRequest: {750        sender: 'Compact<u32>',751        maxMessageSize: 'Compact<u32>',752        maxCapacity: 'Compact<u32>',753      },754      HrmpChannelAccepted: {755        recipient: 'Compact<u32>',756      },757      HrmpChannelClosing: {758        initiator: 'Compact<u32>',759        sender: 'Compact<u32>',760        recipient: 'Compact<u32>',761      },762      RelayedFrom: {763        who: 'XcmV0MultiLocation',764        message: 'XcmV0Xcm'765      }766    }767  },768  /**769   * Lookup101: xcm::v0::multi_asset::MultiAsset770   **/771  XcmV0MultiAsset: {772    _enum: {773      None: 'Null',774      All: 'Null',775      AllFungible: 'Null',776      AllNonFungible: 'Null',777      AllAbstractFungible: {778        id: 'Bytes',779      },780      AllAbstractNonFungible: {781        class: 'Bytes',782      },783      AllConcreteFungible: {784        id: 'XcmV0MultiLocation',785      },786      AllConcreteNonFungible: {787        class: 'XcmV0MultiLocation',788      },789      AbstractFungible: {790        id: 'Bytes',791        amount: 'Compact<u128>',792      },793      AbstractNonFungible: {794        class: 'Bytes',795        instance: 'XcmV1MultiassetAssetInstance',796      },797      ConcreteFungible: {798        id: 'XcmV0MultiLocation',799        amount: 'Compact<u128>',800      },801      ConcreteNonFungible: {802        class: 'XcmV0MultiLocation',803        instance: 'XcmV1MultiassetAssetInstance'804      }805    }806  },807  /**808   * Lookup102: xcm::v1::multiasset::AssetInstance809   **/810  XcmV1MultiassetAssetInstance: {811    _enum: {812      Undefined: 'Null',813      Index: 'Compact<u128>',814      Array4: '[u8;4]',815      Array8: '[u8;8]',816      Array16: '[u8;16]',817      Array32: '[u8;32]',818      Blob: 'Bytes'819    }820  },821  /**822   * Lookup106: xcm::v0::order::Order<Call>823   **/824  XcmV0Order: {825    _enum: {826      Null: 'Null',827      DepositAsset: {828        assets: 'Vec<XcmV0MultiAsset>',829        dest: 'XcmV0MultiLocation',830      },831      DepositReserveAsset: {832        assets: 'Vec<XcmV0MultiAsset>',833        dest: 'XcmV0MultiLocation',834        effects: 'Vec<XcmV0Order>',835      },836      ExchangeAsset: {837        give: 'Vec<XcmV0MultiAsset>',838        receive: 'Vec<XcmV0MultiAsset>',839      },840      InitiateReserveWithdraw: {841        assets: 'Vec<XcmV0MultiAsset>',842        reserve: 'XcmV0MultiLocation',843        effects: 'Vec<XcmV0Order>',844      },845      InitiateTeleport: {846        assets: 'Vec<XcmV0MultiAsset>',847        dest: 'XcmV0MultiLocation',848        effects: 'Vec<XcmV0Order>',849      },850      QueryHolding: {851        queryId: 'Compact<u64>',852        dest: 'XcmV0MultiLocation',853        assets: 'Vec<XcmV0MultiAsset>',854      },855      BuyExecution: {856        fees: 'XcmV0MultiAsset',857        weight: 'u64',858        debt: 'u64',859        haltOnError: 'bool',860        xcm: 'Vec<XcmV0Xcm>'861      }862    }863  },864  /**865   * Lookup108: xcm::v0::Response866   **/867  XcmV0Response: {868    _enum: {869      Assets: 'Vec<XcmV0MultiAsset>'870    }871  },872  /**873   * Lookup109: xcm::v0::OriginKind874   **/875  XcmV0OriginKind: {876    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']877  },878  /**879   * Lookup110: xcm::double_encoded::DoubleEncoded<T>880   **/881  XcmDoubleEncoded: {882    encoded: 'Bytes'883  },884  /**885   * Lookup111: xcm::v1::Xcm<Call>886   **/887  XcmV1Xcm: {888    _enum: {889      WithdrawAsset: {890        assets: 'XcmV1MultiassetMultiAssets',891        effects: 'Vec<XcmV1Order>',892      },893      ReserveAssetDeposited: {894        assets: 'XcmV1MultiassetMultiAssets',895        effects: 'Vec<XcmV1Order>',896      },897      ReceiveTeleportedAsset: {898        assets: 'XcmV1MultiassetMultiAssets',899        effects: 'Vec<XcmV1Order>',900      },901      QueryResponse: {902        queryId: 'Compact<u64>',903        response: 'XcmV1Response',904      },905      TransferAsset: {906        assets: 'XcmV1MultiassetMultiAssets',907        beneficiary: 'XcmV1MultiLocation',908      },909      TransferReserveAsset: {910        assets: 'XcmV1MultiassetMultiAssets',911        dest: 'XcmV1MultiLocation',912        effects: 'Vec<XcmV1Order>',913      },914      Transact: {915        originType: 'XcmV0OriginKind',916        requireWeightAtMost: 'u64',917        call: 'XcmDoubleEncoded',918      },919      HrmpNewChannelOpenRequest: {920        sender: 'Compact<u32>',921        maxMessageSize: 'Compact<u32>',922        maxCapacity: 'Compact<u32>',923      },924      HrmpChannelAccepted: {925        recipient: 'Compact<u32>',926      },927      HrmpChannelClosing: {928        initiator: 'Compact<u32>',929        sender: 'Compact<u32>',930        recipient: 'Compact<u32>',931      },932      RelayedFrom: {933        who: 'XcmV1MultilocationJunctions',934        message: 'XcmV1Xcm',935      },936      SubscribeVersion: {937        queryId: 'Compact<u64>',938        maxResponseWeight: 'Compact<u64>',939      },940      UnsubscribeVersion: 'Null'941    }942  },943  /**944   * Lookup112: xcm::v1::multiasset::MultiAssets945   **/946  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',947  /**948   * Lookup114: xcm::v1::multiasset::MultiAsset949   **/950  XcmV1MultiAsset: {951    id: 'XcmV1MultiassetAssetId',952    fun: 'XcmV1MultiassetFungibility'953  },954  /**955   * Lookup115: xcm::v1::multiasset::AssetId956   **/957  XcmV1MultiassetAssetId: {958    _enum: {959      Concrete: 'XcmV1MultiLocation',960      Abstract: 'Bytes'961    }962  },963  /**964   * Lookup116: xcm::v1::multiasset::Fungibility965   **/966  XcmV1MultiassetFungibility: {967    _enum: {968      Fungible: 'Compact<u128>',969      NonFungible: 'XcmV1MultiassetAssetInstance'970    }971  },972  /**973   * Lookup118: xcm::v1::order::Order<Call>974   **/975  XcmV1Order: {976    _enum: {977      Noop: 'Null',978      DepositAsset: {979        assets: 'XcmV1MultiassetMultiAssetFilter',980        maxAssets: 'u32',981        beneficiary: 'XcmV1MultiLocation',982      },983      DepositReserveAsset: {984        assets: 'XcmV1MultiassetMultiAssetFilter',985        maxAssets: 'u32',986        dest: 'XcmV1MultiLocation',987        effects: 'Vec<XcmV1Order>',988      },989      ExchangeAsset: {990        give: 'XcmV1MultiassetMultiAssetFilter',991        receive: 'XcmV1MultiassetMultiAssets',992      },993      InitiateReserveWithdraw: {994        assets: 'XcmV1MultiassetMultiAssetFilter',995        reserve: 'XcmV1MultiLocation',996        effects: 'Vec<XcmV1Order>',997      },998      InitiateTeleport: {999        assets: 'XcmV1MultiassetMultiAssetFilter',1000        dest: 'XcmV1MultiLocation',1001        effects: 'Vec<XcmV1Order>',1002      },1003      QueryHolding: {1004        queryId: 'Compact<u64>',1005        dest: 'XcmV1MultiLocation',1006        assets: 'XcmV1MultiassetMultiAssetFilter',1007      },1008      BuyExecution: {1009        fees: 'XcmV1MultiAsset',1010        weight: 'u64',1011        debt: 'u64',1012        haltOnError: 'bool',1013        instructions: 'Vec<XcmV1Xcm>'1014      }1015    }1016  },1017  /**1018   * Lookup119: xcm::v1::multiasset::MultiAssetFilter1019   **/1020  XcmV1MultiassetMultiAssetFilter: {1021    _enum: {1022      Definite: 'XcmV1MultiassetMultiAssets',1023      Wild: 'XcmV1MultiassetWildMultiAsset'1024    }1025  },1026  /**1027   * Lookup120: xcm::v1::multiasset::WildMultiAsset1028   **/1029  XcmV1MultiassetWildMultiAsset: {1030    _enum: {1031      All: 'Null',1032      AllOf: {1033        id: 'XcmV1MultiassetAssetId',1034        fun: 'XcmV1MultiassetWildFungibility'1035      }1036    }1037  },1038  /**1039   * Lookup121: xcm::v1::multiasset::WildFungibility1040   **/1041  XcmV1MultiassetWildFungibility: {1042    _enum: ['Fungible', 'NonFungible']1043  },1044  /**1045   * Lookup123: xcm::v1::Response1046   **/1047  XcmV1Response: {1048    _enum: {1049      Assets: 'XcmV1MultiassetMultiAssets',1050      Version: 'u32'1051    }1052  },1053  /**1054   * Lookup124: xcm::v2::Xcm<Call>1055   **/1056  XcmV2Xcm: 'Vec<XcmV2Instruction>',1057  /**1058   * Lookup126: xcm::v2::Instruction<Call>1059   **/1060  XcmV2Instruction: {1061    _enum: {1062      WithdrawAsset: 'XcmV1MultiassetMultiAssets',1063      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',1064      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',1065      QueryResponse: {1066        queryId: 'Compact<u64>',1067        response: 'XcmV2Response',1068        maxWeight: 'Compact<u64>',1069      },1070      TransferAsset: {1071        assets: 'XcmV1MultiassetMultiAssets',1072        beneficiary: 'XcmV1MultiLocation',1073      },1074      TransferReserveAsset: {1075        assets: 'XcmV1MultiassetMultiAssets',1076        dest: 'XcmV1MultiLocation',1077        xcm: 'XcmV2Xcm',1078      },1079      Transact: {1080        originType: 'XcmV0OriginKind',1081        requireWeightAtMost: 'Compact<u64>',1082        call: 'XcmDoubleEncoded',1083      },1084      HrmpNewChannelOpenRequest: {1085        sender: 'Compact<u32>',1086        maxMessageSize: 'Compact<u32>',1087        maxCapacity: 'Compact<u32>',1088      },1089      HrmpChannelAccepted: {1090        recipient: 'Compact<u32>',1091      },1092      HrmpChannelClosing: {1093        initiator: 'Compact<u32>',1094        sender: 'Compact<u32>',1095        recipient: 'Compact<u32>',1096      },1097      ClearOrigin: 'Null',1098      DescendOrigin: 'XcmV1MultilocationJunctions',1099      ReportError: {1100        queryId: 'Compact<u64>',1101        dest: 'XcmV1MultiLocation',1102        maxResponseWeight: 'Compact<u64>',1103      },1104      DepositAsset: {1105        assets: 'XcmV1MultiassetMultiAssetFilter',1106        maxAssets: 'Compact<u32>',1107        beneficiary: 'XcmV1MultiLocation',1108      },1109      DepositReserveAsset: {1110        assets: 'XcmV1MultiassetMultiAssetFilter',1111        maxAssets: 'Compact<u32>',1112        dest: 'XcmV1MultiLocation',1113        xcm: 'XcmV2Xcm',1114      },1115      ExchangeAsset: {1116        give: 'XcmV1MultiassetMultiAssetFilter',1117        receive: 'XcmV1MultiassetMultiAssets',1118      },1119      InitiateReserveWithdraw: {1120        assets: 'XcmV1MultiassetMultiAssetFilter',1121        reserve: 'XcmV1MultiLocation',1122        xcm: 'XcmV2Xcm',1123      },1124      InitiateTeleport: {1125        assets: 'XcmV1MultiassetMultiAssetFilter',1126        dest: 'XcmV1MultiLocation',1127        xcm: 'XcmV2Xcm',1128      },1129      QueryHolding: {1130        queryId: 'Compact<u64>',1131        dest: 'XcmV1MultiLocation',1132        assets: 'XcmV1MultiassetMultiAssetFilter',1133        maxResponseWeight: 'Compact<u64>',1134      },1135      BuyExecution: {1136        fees: 'XcmV1MultiAsset',1137        weightLimit: 'XcmV2WeightLimit',1138      },1139      RefundSurplus: 'Null',1140      SetErrorHandler: 'XcmV2Xcm',1141      SetAppendix: 'XcmV2Xcm',1142      ClearError: 'Null',1143      ClaimAsset: {1144        assets: 'XcmV1MultiassetMultiAssets',1145        ticket: 'XcmV1MultiLocation',1146      },1147      Trap: 'Compact<u64>',1148      SubscribeVersion: {1149        queryId: 'Compact<u64>',1150        maxResponseWeight: 'Compact<u64>',1151      },1152      UnsubscribeVersion: 'Null'1153    }1154  },1155  /**1156   * Lookup127: xcm::v2::Response1157   **/1158  XcmV2Response: {1159    _enum: {1160      Null: 'Null',1161      Assets: 'XcmV1MultiassetMultiAssets',1162      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',1163      Version: 'u32'1164    }1165  },1166  /**1167   * Lookup130: xcm::v2::traits::Error1168   **/1169  XcmV2TraitsError: {1170    _enum: {1171      Overflow: 'Null',1172      Unimplemented: 'Null',1173      UntrustedReserveLocation: 'Null',1174      UntrustedTeleportLocation: 'Null',1175      MultiLocationFull: 'Null',1176      MultiLocationNotInvertible: 'Null',1177      BadOrigin: 'Null',1178      InvalidLocation: 'Null',1179      AssetNotFound: 'Null',1180      FailedToTransactAsset: 'Null',1181      NotWithdrawable: 'Null',1182      LocationCannotHold: 'Null',1183      ExceedsMaxMessageSize: 'Null',1184      DestinationUnsupported: 'Null',1185      Transport: 'Null',1186      Unroutable: 'Null',1187      UnknownClaim: 'Null',1188      FailedToDecode: 'Null',1189      MaxWeightInvalid: 'Null',1190      NotHoldingFees: 'Null',1191      TooExpensive: 'Null',1192      Trap: 'u64',1193      UnhandledXcmVersion: 'Null',1194      WeightLimitReached: 'u64',1195      Barrier: 'Null',1196      WeightNotComputable: 'Null'1197    }1198  },1199  /**1200   * Lookup131: xcm::v2::WeightLimit1201   **/1202  XcmV2WeightLimit: {1203    _enum: {1204      Unlimited: 'Null',1205      Limited: 'Compact<u64>'1206    }1207  },1208  /**1209   * Lookup132: xcm::VersionedMultiAssets1210   **/1211  XcmVersionedMultiAssets: {1212    _enum: {1213      V0: 'Vec<XcmV0MultiAsset>',1214      V1: 'XcmV1MultiassetMultiAssets'1215    }1216  },1217  /**1218   * Lookup147: cumulus_pallet_xcm::pallet::Call<T>1219   **/1220  CumulusPalletXcmCall: 'Null',1221  /**1222   * Lookup148: cumulus_pallet_dmp_queue::pallet::Call<T>1223   **/1224  CumulusPalletDmpQueueCall: {1225    _enum: {1226      service_overweight: {1227        index: 'u64',1228        weightLimit: 'u64'1229      }1230    }1231  },1232  /**1233   * Lookup149: pallet_inflation::pallet::Call<T>1234   **/1235  PalletInflationCall: {1236    _enum: {1237      start_inflation: {1238        inflationStartRelayBlock: 'u32'1239      }1240    }1241  },1242  /**1243   * Lookup150: pallet_unique::Call<T>1244   **/1245  PalletUniqueCall: {1246    _enum: {1247      create_collection: {1248        collectionName: 'Vec<u16>',1249        collectionDescription: 'Vec<u16>',1250        tokenPrefix: 'Bytes',1251        mode: 'UpDataStructsCollectionMode',1252      },1253      create_collection_ex: {1254        data: 'UpDataStructsCreateCollectionData',1255      },1256      destroy_collection: {1257        collectionId: 'u32',1258      },1259      add_to_allow_list: {1260        collectionId: 'u32',1261        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1262      },1263      remove_from_allow_list: {1264        collectionId: 'u32',1265        address: 'PalletEvmAccountBasicCrossAccountIdRepr',1266      },1267      set_public_access_mode: {1268        collectionId: 'u32',1269        mode: 'UpDataStructsAccessMode',1270      },1271      set_mint_permission: {1272        collectionId: 'u32',1273        mintPermission: 'bool',1274      },1275      change_collection_owner: {1276        collectionId: 'u32',1277        newOwner: 'AccountId32',1278      },1279      add_collection_admin: {1280        collectionId: 'u32',1281        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',1282      },1283      remove_collection_admin: {1284        collectionId: 'u32',1285        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',1286      },1287      set_collection_sponsor: {1288        collectionId: 'u32',1289        newSponsor: 'AccountId32',1290      },1291      confirm_sponsorship: {1292        collectionId: 'u32',1293      },1294      remove_collection_sponsor: {1295        collectionId: 'u32',1296      },1297      create_item: {1298        collectionId: 'u32',1299        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1300        data: 'UpDataStructsCreateItemData',1301      },1302      create_multiple_items: {1303        collectionId: 'u32',1304        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',1305        itemsData: 'Vec<UpDataStructsCreateItemData>',1306      },1307      create_multiple_items_ex: {1308        collectionId: 'u32',1309        data: 'UpDataStructsCreateItemExData',1310      },1311      set_transfers_enabled_flag: {1312        collectionId: 'u32',1313        value: 'bool',1314      },1315      burn_item: {1316        collectionId: 'u32',1317        itemId: 'u32',1318        value: 'u128',1319      },1320      burn_from: {1321        collectionId: 'u32',1322        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1323        itemId: 'u32',1324        value: 'u128',1325      },1326      transfer: {1327        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1328        collectionId: 'u32',1329        itemId: 'u32',1330        value: 'u128',1331      },1332      approve: {1333        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',1334        collectionId: 'u32',1335        itemId: 'u32',1336        amount: 'u128',1337      },1338      transfer_from: {1339        from: 'PalletEvmAccountBasicCrossAccountIdRepr',1340        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',1341        collectionId: 'u32',1342        itemId: 'u32',1343        value: 'u128',1344      },1345      set_variable_meta_data: {1346        collectionId: 'u32',1347        itemId: 'u32',1348        data: 'Bytes',1349      },1350      set_meta_update_permission_flag: {1351        collectionId: 'u32',1352        value: 'UpDataStructsMetaUpdatePermission',1353      },1354      set_schema_version: {1355        collectionId: 'u32',1356        version: 'UpDataStructsSchemaVersion',1357      },1358      set_offchain_schema: {1359        collectionId: 'u32',1360        schema: 'Bytes',1361      },1362      set_const_on_chain_schema: {1363        collectionId: 'u32',1364        schema: 'Bytes',1365      },1366      set_variable_on_chain_schema: {1367        collectionId: 'u32',1368        schema: 'Bytes',1369      },1370      set_collection_limits: {1371        collectionId: 'u32',1372        newLimit: 'UpDataStructsCollectionLimits'1373      }1374    }1375  },1376  /**1377   * Lookup156: up_data_structs::CollectionMode1378   **/1379  UpDataStructsCollectionMode: {1380    _enum: {1381      NFT: 'Null',1382      Fungible: 'u8',1383      ReFungible: 'Null'1384    }1385  },1386  /**1387   * Lookup157: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>1388   **/1389  UpDataStructsCreateCollectionData: {1390    mode: 'UpDataStructsCollectionMode',1391    access: 'Option<UpDataStructsAccessMode>',1392    name: 'Vec<u16>',1393    description: 'Vec<u16>',1394    tokenPrefix: 'Bytes',1395    offchainSchema: 'Bytes',1396    schemaVersion: 'Option<UpDataStructsSchemaVersion>',1397    pendingSponsor: 'Option<AccountId32>',1398    limits: 'Option<UpDataStructsCollectionLimits>',1399    variableOnChainSchema: 'Bytes',1400    constOnChainSchema: 'Bytes',1401    metaUpdatePermission: 'Option<UpDataStructsMetaUpdatePermission>'1402  },1403  /**1404   * Lookup159: up_data_structs::AccessMode1405   **/1406  UpDataStructsAccessMode: {1407    _enum: ['Normal', 'AllowList']1408  },1409  /**1410   * Lookup162: up_data_structs::SchemaVersion1411   **/1412  UpDataStructsSchemaVersion: {1413    _enum: ['ImageURL', 'Unique']1414  },1415  /**1416   * Lookup165: up_data_structs::CollectionLimits1417   **/1418  UpDataStructsCollectionLimits: {1419    accountTokenOwnershipLimit: 'Option<u32>',1420    sponsoredDataSize: 'Option<u32>',1421    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',1422    tokenLimit: 'Option<u32>',1423    sponsorTransferTimeout: 'Option<u32>',1424    sponsorApproveTimeout: 'Option<u32>',1425    ownerCanTransfer: 'Option<bool>',1426    ownerCanDestroy: 'Option<bool>',1427    transfersEnabled: 'Option<bool>'1428  },1429  /**1430   * Lookup167: up_data_structs::SponsoringRateLimit1431   **/1432  UpDataStructsSponsoringRateLimit: {1433    _enum: {1434      SponsoringDisabled: 'Null',1435      Blocks: 'u32'1436    }1437  },1438  /**1439   * Lookup171: up_data_structs::MetaUpdatePermission1440   **/1441  UpDataStructsMetaUpdatePermission: {1442    _enum: ['ItemOwner', 'Admin', 'None']1443  },1444  /**1445   * Lookup173: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1446   **/1447  PalletEvmAccountBasicCrossAccountIdRepr: {1448    _enum: {1449      Substrate: 'AccountId32',1450      Ethereum: 'H160'1451    }1452  },1453  /**1454   * Lookup175: up_data_structs::CreateItemData1455   **/1456  UpDataStructsCreateItemData: {1457    _enum: {1458      NFT: 'UpDataStructsCreateNftData',1459      Fungible: 'UpDataStructsCreateFungibleData',1460      ReFungible: 'UpDataStructsCreateReFungibleData'1461    }1462  },1463  /**1464   * Lookup176: up_data_structs::CreateNftData1465   **/1466  UpDataStructsCreateNftData: {1467    constData: 'Bytes',1468    variableData: 'Bytes'1469  },1470  /**1471   * Lookup178: up_data_structs::CreateFungibleData1472   **/1473  UpDataStructsCreateFungibleData: {1474    value: 'u128'1475  },1476  /**1477   * Lookup179: up_data_structs::CreateReFungibleData1478   **/1479  UpDataStructsCreateReFungibleData: {1480    constData: 'Bytes',1481    variableData: 'Bytes',1482    pieces: 'u128'1483  },1484  /**1485   * Lookup181: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1486   **/1487  UpDataStructsCreateItemExData: {1488    _enum: {1489      NFT: 'Vec<UpDataStructsCreateNftExData>',1490      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',1491      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExData>',1492      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExData'1493    }1494  },1495  /**1496   * Lookup183: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1497   **/1498  UpDataStructsCreateNftExData: {1499    constData: 'Bytes',1500    variableData: 'Bytes',1501    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'1502  },1503  /**1504   * Lookup190: up_data_structs::CreateRefungibleExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1505   **/1506  UpDataStructsCreateRefungibleExData: {1507    constData: 'Bytes',1508    variableData: 'Bytes',1509    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>'1510  },1511  /**1512   * Lookup193: pallet_template_transaction_payment::Call<T>1513   **/1514  PalletTemplateTransactionPaymentCall: 'Null',1515  /**1516   * Lookup194: pallet_evm::pallet::Call<T>1517   **/1518  PalletEvmCall: {1519    _enum: {1520      withdraw: {1521        address: 'H160',1522        value: 'u128',1523      },1524      call: {1525        source: 'H160',1526        target: 'H160',1527        input: 'Bytes',1528        value: 'U256',1529        gasLimit: 'u64',1530        maxFeePerGas: 'U256',1531        maxPriorityFeePerGas: 'Option<U256>',1532        nonce: 'Option<U256>',1533        accessList: 'Vec<(H160,Vec<H256>)>',1534      },1535      create: {1536        source: 'H160',1537        init: 'Bytes',1538        value: 'U256',1539        gasLimit: 'u64',1540        maxFeePerGas: 'U256',1541        maxPriorityFeePerGas: 'Option<U256>',1542        nonce: 'Option<U256>',1543        accessList: 'Vec<(H160,Vec<H256>)>',1544      },1545      create2: {1546        source: 'H160',1547        init: 'Bytes',1548        salt: 'H256',1549        value: 'U256',1550        gasLimit: 'u64',1551        maxFeePerGas: 'U256',1552        maxPriorityFeePerGas: 'Option<U256>',1553        nonce: 'Option<U256>',1554        accessList: 'Vec<(H160,Vec<H256>)>'1555      }1556    }1557  },1558  /**1559   * Lookup200: pallet_ethereum::pallet::Call<T>1560   **/1561  PalletEthereumCall: {1562    _enum: {1563      transact: {1564        transaction: 'EthereumTransactionTransactionV2'1565      }1566    }1567  },1568  /**1569   * Lookup201: ethereum::transaction::TransactionV21570   **/1571  EthereumTransactionTransactionV2: {1572    _enum: {1573      Legacy: 'EthereumTransactionLegacyTransaction',1574      EIP2930: 'EthereumTransactionEip2930Transaction',1575      EIP1559: 'EthereumTransactionEip1559Transaction'1576    }1577  },1578  /**1579   * Lookup202: ethereum::transaction::LegacyTransaction1580   **/1581  EthereumTransactionLegacyTransaction: {1582    nonce: 'U256',1583    gasPrice: 'U256',1584    gasLimit: 'U256',1585    action: 'EthereumTransactionTransactionAction',1586    value: 'U256',1587    input: 'Bytes',1588    signature: 'EthereumTransactionTransactionSignature'1589  },1590  /**1591   * Lookup203: ethereum::transaction::TransactionAction1592   **/1593  EthereumTransactionTransactionAction: {1594    _enum: {1595      Call: 'H160',1596      Create: 'Null'1597    }1598  },1599  /**1600   * Lookup204: ethereum::transaction::TransactionSignature1601   **/1602  EthereumTransactionTransactionSignature: {1603    v: 'u64',1604    r: 'H256',1605    s: 'H256'1606  },1607  /**1608   * Lookup206: ethereum::transaction::EIP2930Transaction1609   **/1610  EthereumTransactionEip2930Transaction: {1611    chainId: 'u64',1612    nonce: 'U256',1613    gasPrice: 'U256',1614    gasLimit: 'U256',1615    action: 'EthereumTransactionTransactionAction',1616    value: 'U256',1617    input: 'Bytes',1618    accessList: 'Vec<EthereumTransactionAccessListItem>',1619    oddYParity: 'bool',1620    r: 'H256',1621    s: 'H256'1622  },1623  /**1624   * Lookup208: ethereum::transaction::AccessListItem1625   **/1626  EthereumTransactionAccessListItem: {1627    address: 'H160',1628    storageKeys: 'Vec<H256>'1629  },1630  /**1631   * Lookup209: ethereum::transaction::EIP1559Transaction1632   **/1633  EthereumTransactionEip1559Transaction: {1634    chainId: 'u64',1635    nonce: 'U256',1636    maxPriorityFeePerGas: 'U256',1637    maxFeePerGas: 'U256',1638    gasLimit: 'U256',1639    action: 'EthereumTransactionTransactionAction',1640    value: 'U256',1641    input: 'Bytes',1642    accessList: 'Vec<EthereumTransactionAccessListItem>',1643    oddYParity: 'bool',1644    r: 'H256',1645    s: 'H256'1646  },1647  /**1648   * Lookup210: pallet_evm_migration::pallet::Call<T>1649   **/1650  PalletEvmMigrationCall: {1651    _enum: {1652      begin: {1653        address: 'H160',1654      },1655      set_data: {1656        address: 'H160',1657        data: 'Vec<(H256,H256)>',1658      },1659      finish: {1660        address: 'H160',1661        code: 'Bytes'1662      }1663    }1664  },1665  /**1666   * Lookup213: pallet_sudo::pallet::Event<T>1667   **/1668  PalletSudoEvent: {1669    _enum: {1670      Sudid: {1671        sudoResult: 'Result<Null, SpRuntimeDispatchError>',1672      },1673      KeyChanged: {1674        oldSudoer: 'Option<AccountId32>',1675      },1676      SudoAsDone: {1677        sudoResult: 'Result<Null, SpRuntimeDispatchError>'1678      }1679    }1680  },1681  /**1682   * Lookup215: sp_runtime::DispatchError1683   **/1684  SpRuntimeDispatchError: {1685    _enum: {1686      Other: 'Null',1687      CannotLookup: 'Null',1688      BadOrigin: 'Null',1689      Module: 'SpRuntimeModuleError',1690      ConsumerRemaining: 'Null',1691      NoProviders: 'Null',1692      TooManyConsumers: 'Null',1693      Token: 'SpRuntimeTokenError',1694      Arithmetic: 'SpRuntimeArithmeticError'1695    }1696  },1697  /**1698   * Lookup216: sp_runtime::ModuleError1699   **/1700  SpRuntimeModuleError: {1701    index: 'u8',1702    error: 'u8'1703  },1704  /**1705   * Lookup217: sp_runtime::TokenError1706   **/1707  SpRuntimeTokenError: {1708    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']1709  },1710  /**1711   * Lookup218: sp_runtime::ArithmeticError1712   **/1713  SpRuntimeArithmeticError: {1714    _enum: ['Underflow', 'Overflow', 'DivisionByZero']1715  },1716  /**1717   * Lookup219: pallet_sudo::pallet::Error<T>1718   **/1719  PalletSudoError: {1720    _enum: ['RequireSudo']1721  },1722  /**1723   * Lookup220: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>1724   **/1725  FrameSystemAccountInfo: {1726    nonce: 'u32',1727    consumers: 'u32',1728    providers: 'u32',1729    sufficients: 'u32',1730    data: 'PalletBalancesAccountData'1731  },1732  /**1733   * Lookup221: frame_support::weights::PerDispatchClass<T>1734   **/1735  FrameSupportWeightsPerDispatchClassU64: {1736    normal: 'u64',1737    operational: 'u64',1738    mandatory: 'u64'1739  },1740  /**1741   * Lookup222: sp_runtime::generic::digest::Digest1742   **/1743  SpRuntimeDigest: {1744    logs: 'Vec<SpRuntimeDigestDigestItem>'1745  },1746  /**1747   * Lookup224: sp_runtime::generic::digest::DigestItem1748   **/1749  SpRuntimeDigestDigestItem: {1750    _enum: {1751      Other: 'Bytes',1752      __Unused1: 'Null',1753      __Unused2: 'Null',1754      __Unused3: 'Null',1755      Consensus: '([u8;4],Bytes)',1756      Seal: '([u8;4],Bytes)',1757      PreRuntime: '([u8;4],Bytes)',1758      __Unused7: 'Null',1759      RuntimeEnvironmentUpdated: 'Null'1760    }1761  },1762  /**1763   * Lookup226: frame_system::EventRecord<opal_runtime::Event, primitive_types::H256>1764   **/1765  FrameSystemEventRecord: {1766    phase: 'FrameSystemPhase',1767    event: 'Event',1768    topics: 'Vec<H256>'1769  },1770  /**1771   * Lookup228: frame_system::pallet::Event<T>1772   **/1773  FrameSystemEvent: {1774    _enum: {1775      ExtrinsicSuccess: {1776        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1777      },1778      ExtrinsicFailed: {1779        dispatchError: 'SpRuntimeDispatchError',1780        dispatchInfo: 'FrameSupportWeightsDispatchInfo',1781      },1782      CodeUpdated: 'Null',1783      NewAccount: {1784        account: 'AccountId32',1785      },1786      KilledAccount: {1787        account: 'AccountId32',1788      },1789      Remarked: {1790        _alias: {1791          hash_: 'hash',1792        },1793        sender: 'AccountId32',1794        hash_: 'H256'1795      }1796    }1797  },1798  /**1799   * Lookup229: frame_support::weights::DispatchInfo1800   **/1801  FrameSupportWeightsDispatchInfo: {1802    weight: 'u64',1803    class: 'FrameSupportWeightsDispatchClass',1804    paysFee: 'FrameSupportWeightsPays'1805  },1806  /**1807   * Lookup230: frame_support::weights::DispatchClass1808   **/1809  FrameSupportWeightsDispatchClass: {1810    _enum: ['Normal', 'Operational', 'Mandatory']1811  },1812  /**1813   * Lookup231: frame_support::weights::Pays1814   **/1815  FrameSupportWeightsPays: {1816    _enum: ['Yes', 'No']1817  },1818  /**1819   * Lookup232: orml_vesting::module::Event<T>1820   **/1821  OrmlVestingModuleEvent: {1822    _enum: {1823      VestingScheduleAdded: {1824        from: 'AccountId32',1825        to: 'AccountId32',1826        vestingSchedule: 'OrmlVestingVestingSchedule',1827      },1828      Claimed: {1829        who: 'AccountId32',1830        amount: 'u128',1831      },1832      VestingSchedulesUpdated: {1833        who: 'AccountId32'1834      }1835    }1836  },1837  /**1838   * Lookup233: cumulus_pallet_xcmp_queue::pallet::Event<T>1839   **/1840  CumulusPalletXcmpQueueEvent: {1841    _enum: {1842      Success: 'Option<H256>',1843      Fail: '(Option<H256>,XcmV2TraitsError)',1844      BadVersion: 'Option<H256>',1845      BadFormat: 'Option<H256>',1846      UpwardMessageSent: 'Option<H256>',1847      XcmpMessageSent: 'Option<H256>',1848      OverweightEnqueued: '(u32,u32,u64,u64)',1849      OverweightServiced: '(u64,u64)'1850    }1851  },1852  /**1853   * Lookup234: pallet_xcm::pallet::Event<T>1854   **/1855  PalletXcmEvent: {1856    _enum: {1857      Attempted: 'XcmV2TraitsOutcome',1858      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',1859      UnexpectedResponse: '(XcmV1MultiLocation,u64)',1860      ResponseReady: '(u64,XcmV2Response)',1861      Notified: '(u64,u8,u8)',1862      NotifyOverweight: '(u64,u8,u8,u64,u64)',1863      NotifyDispatchError: '(u64,u8,u8)',1864      NotifyDecodeFailed: '(u64,u8,u8)',1865      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',1866      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',1867      ResponseTaken: 'u64',1868      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',1869      VersionChangeNotified: '(XcmV1MultiLocation,u32)',1870      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',1871      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',1872      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'1873    }1874  },1875  /**1876   * Lookup235: xcm::v2::traits::Outcome1877   **/1878  XcmV2TraitsOutcome: {1879    _enum: {1880      Complete: 'u64',1881      Incomplete: '(u64,XcmV2TraitsError)',1882      Error: 'XcmV2TraitsError'1883    }1884  },1885  /**1886   * Lookup237: cumulus_pallet_xcm::pallet::Event<T>1887   **/1888  CumulusPalletXcmEvent: {1889    _enum: {1890      InvalidFormat: '[u8;8]',1891      UnsupportedVersion: '[u8;8]',1892      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1893    }1894  },1895  /**1896   * Lookup238: cumulus_pallet_dmp_queue::pallet::Event<T>1897   **/1898  CumulusPalletDmpQueueEvent: {1899    _enum: {1900      InvalidFormat: '[u8;32]',1901      UnsupportedVersion: '[u8;32]',1902      ExecutedDownward: '([u8;32],XcmV2TraitsOutcome)',1903      WeightExhausted: '([u8;32],u64,u64)',1904      OverweightEnqueued: '([u8;32],u64,u64)',1905      OverweightServiced: '(u64,u64)'1906    }1907  },1908  /**1909   * Lookup239: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>1910   **/1911  PalletUniqueRawEvent: {1912    _enum: {1913      CollectionSponsorRemoved: 'u32',1914      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1915      CollectionOwnedChanged: '(u32,AccountId32)',1916      CollectionSponsorSet: '(u32,AccountId32)',1917      ConstOnChainSchemaSet: 'u32',1918      SponsorshipConfirmed: '(u32,AccountId32)',1919      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1920      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1921      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1922      CollectionLimitSet: 'u32',1923      MintPermissionSet: 'u32',1924      OffchainSchemaSet: 'u32',1925      PublicAccessModeSet: '(u32,UpDataStructsAccessMode)',1926      SchemaVersionSet: 'u32',1927      VariableOnChainSchemaSet: 'u32'1928    }1929  },1930  /**1931   * Lookup240: pallet_common::pallet::Event<T>1932   **/1933  PalletCommonEvent: {1934    _enum: {1935      CollectionCreated: '(u32,u8,AccountId32)',1936      CollectionDestroyed: 'u32',1937      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1938      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1939      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1940      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)'1941    }1942  },1943  /**1944   * Lookup241: pallet_evm::pallet::Event<T>1945   **/1946  PalletEvmEvent: {1947    _enum: {1948      Log: 'EthereumLog',1949      Created: 'H160',1950      CreatedFailed: 'H160',1951      Executed: 'H160',1952      ExecutedFailed: 'H160',1953      BalanceDeposit: '(AccountId32,H160,U256)',1954      BalanceWithdraw: '(AccountId32,H160,U256)'1955    }1956  },1957  /**1958   * Lookup242: ethereum::log::Log1959   **/1960  EthereumLog: {1961    address: 'H160',1962    topics: 'Vec<H256>',1963    data: 'Bytes'1964  },1965  /**1966   * Lookup243: pallet_ethereum::pallet::Event1967   **/1968  PalletEthereumEvent: {1969    _enum: {1970      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1971    }1972  },1973  /**1974   * Lookup244: evm_core::error::ExitReason1975   **/1976  EvmCoreErrorExitReason: {1977    _enum: {1978      Succeed: 'EvmCoreErrorExitSucceed',1979      Error: 'EvmCoreErrorExitError',1980      Revert: 'EvmCoreErrorExitRevert',1981      Fatal: 'EvmCoreErrorExitFatal'1982    }1983  },1984  /**1985   * Lookup245: evm_core::error::ExitSucceed1986   **/1987  EvmCoreErrorExitSucceed: {1988    _enum: ['Stopped', 'Returned', 'Suicided']1989  },1990  /**1991   * Lookup246: evm_core::error::ExitError1992   **/1993  EvmCoreErrorExitError: {1994    _enum: {1995      StackUnderflow: 'Null',1996      StackOverflow: 'Null',1997      InvalidJump: 'Null',1998      InvalidRange: 'Null',1999      DesignatedInvalid: 'Null',2000      CallTooDeep: 'Null',2001      CreateCollision: 'Null',2002      CreateContractLimit: 'Null',2003      InvalidCode: 'Null',2004      OutOfOffset: 'Null',2005      OutOfGas: 'Null',2006      OutOfFund: 'Null',2007      PCUnderflow: 'Null',2008      CreateEmpty: 'Null',2009      Other: 'Text'2010    }2011  },2012  /**2013   * Lookup249: evm_core::error::ExitRevert2014   **/2015  EvmCoreErrorExitRevert: {2016    _enum: ['Reverted']2017  },2018  /**2019   * Lookup250: evm_core::error::ExitFatal2020   **/2021  EvmCoreErrorExitFatal: {2022    _enum: {2023      NotSupported: 'Null',2024      UnhandledInterrupt: 'Null',2025      CallErrorAsFatal: 'EvmCoreErrorExitError',2026      Other: 'Text'2027    }2028  },2029  /**2030   * Lookup251: frame_system::Phase2031   **/2032  FrameSystemPhase: {2033    _enum: {2034      ApplyExtrinsic: 'u32',2035      Finalization: 'Null',2036      Initialization: 'Null'2037    }2038  },2039  /**2040   * Lookup253: frame_system::LastRuntimeUpgradeInfo2041   **/2042  FrameSystemLastRuntimeUpgradeInfo: {2043    specVersion: 'Compact<u32>',2044    specName: 'Text'2045  },2046  /**2047   * Lookup254: frame_system::limits::BlockWeights2048   **/2049  FrameSystemLimitsBlockWeights: {2050    baseBlock: 'u64',2051    maxBlock: 'u64',2052    perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass'2053  },2054  /**2055   * Lookup255: frame_support::weights::PerDispatchClass<frame_system::limits::WeightsPerClass>2056   **/2057  FrameSupportWeightsPerDispatchClassWeightsPerClass: {2058    normal: 'FrameSystemLimitsWeightsPerClass',2059    operational: 'FrameSystemLimitsWeightsPerClass',2060    mandatory: 'FrameSystemLimitsWeightsPerClass'2061  },2062  /**2063   * Lookup256: frame_system::limits::WeightsPerClass2064   **/2065  FrameSystemLimitsWeightsPerClass: {2066    baseExtrinsic: 'u64',2067    maxExtrinsic: 'Option<u64>',2068    maxTotal: 'Option<u64>',2069    reserved: 'Option<u64>'2070  },2071  /**2072   * Lookup258: frame_system::limits::BlockLength2073   **/2074  FrameSystemLimitsBlockLength: {2075    max: 'FrameSupportWeightsPerDispatchClassU32'2076  },2077  /**2078   * Lookup259: frame_support::weights::PerDispatchClass<T>2079   **/2080  FrameSupportWeightsPerDispatchClassU32: {2081    normal: 'u32',2082    operational: 'u32',2083    mandatory: 'u32'2084  },2085  /**2086   * Lookup260: frame_support::weights::RuntimeDbWeight2087   **/2088  FrameSupportWeightsRuntimeDbWeight: {2089    read: 'u64',2090    write: 'u64'2091  },2092  /**2093   * Lookup261: sp_version::RuntimeVersion2094   **/2095  SpVersionRuntimeVersion: {2096    specName: 'Text',2097    implName: 'Text',2098    authoringVersion: 'u32',2099    specVersion: 'u32',2100    implVersion: 'u32',2101    apis: 'Vec<([u8;8],u32)>',2102    transactionVersion: 'u32',2103    stateVersion: 'u8'2104  },2105  /**2106   * Lookup265: frame_system::pallet::Error<T>2107   **/2108  FrameSystemError: {2109    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']2110  },2111  /**2112   * Lookup267: orml_vesting::module::Error<T>2113   **/2114  OrmlVestingModuleError: {2115    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2116  },2117  /**2118   * Lookup269: cumulus_pallet_xcmp_queue::InboundChannelDetails2119   **/2120  CumulusPalletXcmpQueueInboundChannelDetails: {2121    sender: 'u32',2122    state: 'CumulusPalletXcmpQueueInboundState',2123    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2124  },2125  /**2126   * Lookup270: cumulus_pallet_xcmp_queue::InboundState2127   **/2128  CumulusPalletXcmpQueueInboundState: {2129    _enum: ['Ok', 'Suspended']2130  },2131  /**2132   * Lookup273: polkadot_parachain::primitives::XcmpMessageFormat2133   **/2134  PolkadotParachainPrimitivesXcmpMessageFormat: {2135    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2136  },2137  /**2138   * Lookup276: cumulus_pallet_xcmp_queue::OutboundChannelDetails2139   **/2140  CumulusPalletXcmpQueueOutboundChannelDetails: {2141    recipient: 'u32',2142    state: 'CumulusPalletXcmpQueueOutboundState',2143    signalsExist: 'bool',2144    firstIndex: 'u16',2145    lastIndex: 'u16'2146  },2147  /**2148   * Lookup277: cumulus_pallet_xcmp_queue::OutboundState2149   **/2150  CumulusPalletXcmpQueueOutboundState: {2151    _enum: ['Ok', 'Suspended']2152  },2153  /**2154   * Lookup279: cumulus_pallet_xcmp_queue::QueueConfigData2155   **/2156  CumulusPalletXcmpQueueQueueConfigData: {2157    suspendThreshold: 'u32',2158    dropThreshold: 'u32',2159    resumeThreshold: 'u32',2160    thresholdWeight: 'u64',2161    weightRestrictDecay: 'u64',2162    xcmpMaxIndividualWeight: 'u64'2163  },2164  /**2165   * Lookup281: cumulus_pallet_xcmp_queue::pallet::Error<T>2166   **/2167  CumulusPalletXcmpQueueError: {2168    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2169  },2170  /**2171   * Lookup282: pallet_xcm::pallet::Error<T>2172   **/2173  PalletXcmError: {2174    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2175  },2176  /**2177   * Lookup283: cumulus_pallet_xcm::pallet::Error<T>2178   **/2179  CumulusPalletXcmError: 'Null',2180  /**2181   * Lookup284: cumulus_pallet_dmp_queue::ConfigData2182   **/2183  CumulusPalletDmpQueueConfigData: {2184    maxIndividual: 'u64'2185  },2186  /**2187   * Lookup285: cumulus_pallet_dmp_queue::PageIndexData2188   **/2189  CumulusPalletDmpQueuePageIndexData: {2190    beginUsed: 'u32',2191    endUsed: 'u32',2192    overweightCount: 'u64'2193  },2194  /**2195   * Lookup288: cumulus_pallet_dmp_queue::pallet::Error<T>2196   **/2197  CumulusPalletDmpQueueError: {2198    _enum: ['Unknown', 'OverLimit']2199  },2200  /**2201   * Lookup292: pallet_unique::Error<T>2202   **/2203  PalletUniqueError: {2204    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument']2205  },2206  /**2207   * Lookup293: up_data_structs::Collection<sp_core::crypto::AccountId32>2208   **/2209  UpDataStructsCollection: {2210    owner: 'AccountId32',2211    mode: 'UpDataStructsCollectionMode',2212    access: 'UpDataStructsAccessMode',2213    name: 'Vec<u16>',2214    description: 'Vec<u16>',2215    tokenPrefix: 'Bytes',2216    mintMode: 'bool',2217    offchainSchema: 'Bytes',2218    schemaVersion: 'UpDataStructsSchemaVersion',2219    sponsorship: 'UpDataStructsSponsorshipState',2220    limits: 'UpDataStructsCollectionLimits',2221    variableOnChainSchema: 'Bytes',2222    constOnChainSchema: 'Bytes',2223    metaUpdatePermission: 'UpDataStructsMetaUpdatePermission'2224  },2225  /**2226   * Lookup294: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2227   **/2228  UpDataStructsSponsorshipState: {2229    _enum: {2230      Disabled: 'Null',2231      Unconfirmed: 'AccountId32',2232      Confirmed: 'AccountId32'2233    }2234  },2235  /**2236   * Lookup297: up_data_structs::CollectionStats2237   **/2238  UpDataStructsCollectionStats: {2239    created: 'u32',2240    destroyed: 'u32',2241    alive: 'u32'2242  },2243  /**2244   * Lookup298: pallet_common::pallet::Error<T>2245   **/2246  PalletCommonError: {2247    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'TokenVariableDataLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds']2248  },2249  /**2250   * Lookup300: pallet_fungible::pallet::Error<T>2251   **/2252  PalletFungibleError: {2253    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData']2254  },2255  /**2256   * Lookup301: pallet_refungible::ItemData2257   **/2258  PalletRefungibleItemData: {2259    constData: 'Bytes',2260    variableData: 'Bytes'2261  },2262  /**2263   * Lookup305: pallet_refungible::pallet::Error<T>2264   **/2265  PalletRefungibleError: {2266    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces']2267  },2268  /**2269   * Lookup306: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2270   **/2271  PalletNonfungibleItemData: {2272    constData: 'Bytes',2273    variableData: 'Bytes',2274    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2275  },2276  /**2277   * Lookup307: pallet_nonfungible::pallet::Error<T>2278   **/2279  PalletNonfungibleError: {2280    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount']2281  },2282  /**2283   * Lookup309: pallet_evm::pallet::Error<T>2284   **/2285  PalletEvmError: {2286    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']2287  },2288  /**2289   * Lookup312: fp_rpc::TransactionStatus2290   **/2291  FpRpcTransactionStatus: {2292    transactionHash: 'H256',2293    transactionIndex: 'u32',2294    from: 'H160',2295    to: 'Option<H160>',2296    contractAddress: 'Option<H160>',2297    logs: 'Vec<EthereumLog>',2298    logsBloom: 'EthbloomBloom'2299  },2300  /**2301   * Lookup315: ethbloom::Bloom2302   **/2303  EthbloomBloom: '[u8;256]',2304  /**2305   * Lookup317: ethereum::receipt::ReceiptV32306   **/2307  EthereumReceiptReceiptV3: {2308    _enum: {2309      Legacy: 'EthereumReceiptEip658ReceiptData',2310      EIP2930: 'EthereumReceiptEip658ReceiptData',2311      EIP1559: 'EthereumReceiptEip658ReceiptData'2312    }2313  },2314  /**2315   * Lookup318: ethereum::receipt::EIP658ReceiptData2316   **/2317  EthereumReceiptEip658ReceiptData: {2318    statusCode: 'u8',2319    usedGas: 'U256',2320    logsBloom: 'EthbloomBloom',2321    logs: 'Vec<EthereumLog>'2322  },2323  /**2324   * Lookup319: ethereum::block::Block<ethereum::transaction::TransactionV2>2325   **/2326  EthereumBlock: {2327    header: 'EthereumHeader',2328    transactions: 'Vec<EthereumTransactionTransactionV2>',2329    ommers: 'Vec<EthereumHeader>'2330  },2331  /**2332   * Lookup320: ethereum::header::Header2333   **/2334  EthereumHeader: {2335    parentHash: 'H256',2336    ommersHash: 'H256',2337    beneficiary: 'H160',2338    stateRoot: 'H256',2339    transactionsRoot: 'H256',2340    receiptsRoot: 'H256',2341    logsBloom: 'EthbloomBloom',2342    difficulty: 'U256',2343    number: 'U256',2344    gasLimit: 'U256',2345    gasUsed: 'U256',2346    timestamp: 'u64',2347    extraData: 'Bytes',2348    mixHash: 'H256',2349    nonce: 'EthereumTypesHashH64'2350  },2351  /**2352   * Lookup321: ethereum_types::hash::H642353   **/2354  EthereumTypesHashH64: '[u8;8]',2355  /**2356   * Lookup326: pallet_ethereum::pallet::Error<T>2357   **/2358  PalletEthereumError: {2359    _enum: ['InvalidSignature', 'PreLogExists']2360  },2361  /**2362   * Lookup327: pallet_evm_coder_substrate::pallet::Error<T>2363   **/2364  PalletEvmCoderSubstrateError: {2365    _enum: ['OutOfGas', 'OutOfFund']2366  },2367  /**2368   * Lookup328: pallet_evm_contract_helpers::SponsoringModeT2369   **/2370  PalletEvmContractHelpersSponsoringModeT: {2371    _enum: ['Disabled', 'Allowlisted', 'Generous']2372  },2373  /**2374   * Lookup330: pallet_evm_contract_helpers::pallet::Error<T>2375   **/2376  PalletEvmContractHelpersError: {2377    _enum: ['NoPermission']2378  },2379  /**2380   * Lookup331: pallet_evm_migration::pallet::Error<T>2381   **/2382  PalletEvmMigrationError: {2383    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']2384  },2385  /**2386   * Lookup333: sp_runtime::MultiSignature2387   **/2388  SpRuntimeMultiSignature: {2389    _enum: {2390      Ed25519: 'SpCoreEd25519Signature',2391      Sr25519: 'SpCoreSr25519Signature',2392      Ecdsa: 'SpCoreEcdsaSignature'2393    }2394  },2395  /**2396   * Lookup334: sp_core::ed25519::Signature2397   **/2398  SpCoreEd25519Signature: '[u8;64]',2399  /**2400   * Lookup336: sp_core::sr25519::Signature2401   **/2402  SpCoreSr25519Signature: '[u8;64]',2403  /**2404   * Lookup337: sp_core::ecdsa::Signature2405   **/2406  SpCoreEcdsaSignature: '[u8;65]',2407  /**2408   * Lookup340: frame_system::extensions::check_spec_version::CheckSpecVersion<T>2409   **/2410  FrameSystemExtensionsCheckSpecVersion: 'Null',2411  /**2412   * Lookup341: frame_system::extensions::check_genesis::CheckGenesis<T>2413   **/2414  FrameSystemExtensionsCheckGenesis: 'Null',2415  /**2416   * Lookup344: frame_system::extensions::check_nonce::CheckNonce<T>2417   **/2418  FrameSystemExtensionsCheckNonce: 'Compact<u32>',2419  /**2420   * Lookup345: frame_system::extensions::check_weight::CheckWeight<T>2421   **/2422  FrameSystemExtensionsCheckWeight: 'Null',2423  /**2424   * Lookup346: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>2425   **/2426  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',2427  /**2428   * Lookup347: opal_runtime::Runtime2429   **/2430  OpalRuntimeRuntime: 'Null'2431};
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -2,7 +2,7 @@
 /* eslint-disable */
 
 declare module '@polkadot/types/lookup' {
-  import type { BTreeMap, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+  import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, 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 { Event } from '@polkadot/types/interfaces/system';
@@ -21,7 +21,15 @@
     readonly type: 'Present';
   }
 
-  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (10) */
+  /** @name SpTrieStorageProof (10) */
+  export interface SpTrieStorageProof extends Struct {
+    readonly trieNodes: BTreeSet;
+  }
+
+  /** @name BTreeSet (11) */
+  export interface BTreeSet extends Vec<Bytes> {}
+
+  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (13) */
   export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
     readonly dmqMqcHead: H256;
     readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
@@ -29,7 +37,7 @@
     readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV1AbridgedHrmpChannel]>>;
   }
 
-  /** @name PolkadotPrimitivesV1AbridgedHrmpChannel (15) */
+  /** @name PolkadotPrimitivesV1AbridgedHrmpChannel (18) */
   export interface PolkadotPrimitivesV1AbridgedHrmpChannel extends Struct {
     readonly maxCapacity: u32;
     readonly maxTotalSize: u32;
@@ -39,7 +47,7 @@
     readonly mqcHead: Option<H256>;
   }
 
-  /** @name PolkadotPrimitivesV1AbridgedHostConfiguration (17) */
+  /** @name PolkadotPrimitivesV1AbridgedHostConfiguration (20) */
   export interface PolkadotPrimitivesV1AbridgedHostConfiguration extends Struct {
     readonly maxCodeSize: u32;
     readonly maxHeadDataSize: u32;
@@ -52,13 +60,13 @@
     readonly validationUpgradeDelay: u32;
   }
 
-  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (23) */
+  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (26) */
   export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
     readonly recipient: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemCall (26) */
+  /** @name CumulusPalletParachainSystemCall (28) */
   export interface CumulusPalletParachainSystemCall extends Enum {
     readonly isSetValidationData: boolean;
     readonly asSetValidationData: {
@@ -79,7 +87,7 @@
     readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
   }
 
-  /** @name CumulusPrimitivesParachainInherentParachainInherentData (27) */
+  /** @name CumulusPrimitivesParachainInherentParachainInherentData (29) */
   export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
     readonly validationData: PolkadotPrimitivesV1PersistedValidationData;
     readonly relayChainState: SpTrieStorageProof;
@@ -87,24 +95,19 @@
     readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
   }
 
-  /** @name SpTrieStorageProof (28) */
-  export interface SpTrieStorageProof extends Struct {
-    readonly trieNodes: Vec<Bytes>;
-  }
-
-  /** @name PolkadotCorePrimitivesInboundDownwardMessage (30) */
+  /** @name PolkadotCorePrimitivesInboundDownwardMessage (31) */
   export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
     readonly sentAt: u32;
     readonly msg: Bytes;
   }
 
-  /** @name PolkadotCorePrimitivesInboundHrmpMessage (33) */
+  /** @name PolkadotCorePrimitivesInboundHrmpMessage (34) */
   export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
     readonly sentAt: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemEvent (36) */
+  /** @name CumulusPalletParachainSystemEvent (37) */
   export interface CumulusPalletParachainSystemEvent extends Enum {
     readonly isValidationFunctionStored: boolean;
     readonly isValidationFunctionApplied: boolean;
@@ -119,7 +122,7 @@
     readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
   }
 
-  /** @name CumulusPalletParachainSystemError (37) */
+  /** @name CumulusPalletParachainSystemError (38) */
   export interface CumulusPalletParachainSystemError extends Enum {
     readonly isOverlappingUpgrades: boolean;
     readonly isProhibitedByPolkadot: boolean;
@@ -132,7 +135,7 @@
     readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
   }
 
-  /** @name PalletBalancesAccountData (40) */
+  /** @name PalletBalancesAccountData (41) */
   export interface PalletBalancesAccountData extends Struct {
     readonly free: u128;
     readonly reserved: u128;
@@ -140,14 +143,14 @@
     readonly feeFrozen: u128;
   }
 
-  /** @name PalletBalancesBalanceLock (42) */
+  /** @name PalletBalancesBalanceLock (43) */
   export interface PalletBalancesBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
     readonly reasons: PalletBalancesReasons;
   }
 
-  /** @name PalletBalancesReasons (44) */
+  /** @name PalletBalancesReasons (45) */
   export interface PalletBalancesReasons extends Enum {
     readonly isFee: boolean;
     readonly isMisc: boolean;
@@ -155,20 +158,20 @@
     readonly type: 'Fee' | 'Misc' | 'All';
   }
 
-  /** @name PalletBalancesReserveData (47) */
+  /** @name PalletBalancesReserveData (48) */
   export interface PalletBalancesReserveData extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name PalletBalancesReleases (49) */
+  /** @name PalletBalancesReleases (50) */
   export interface PalletBalancesReleases extends Enum {
     readonly isV100: boolean;
     readonly isV200: boolean;
     readonly type: 'V100' | 'V200';
   }
 
-  /** @name PalletBalancesCall (50) */
+  /** @name PalletBalancesCall (51) */
   export interface PalletBalancesCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -205,7 +208,7 @@
     readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
   }
 
-  /** @name PalletBalancesEvent (56) */
+  /** @name PalletBalancesEvent (57) */
   export interface PalletBalancesEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -264,14 +267,14 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
   }
 
-  /** @name FrameSupportTokensMiscBalanceStatus (57) */
+  /** @name FrameSupportTokensMiscBalanceStatus (58) */
   export interface FrameSupportTokensMiscBalanceStatus extends Enum {
     readonly isFree: boolean;
     readonly isReserved: boolean;
     readonly type: 'Free' | 'Reserved';
   }
 
-  /** @name PalletBalancesError (58) */
+  /** @name PalletBalancesError (59) */
   export interface PalletBalancesError extends Enum {
     readonly isVestingBalance: boolean;
     readonly isLiquidityRestrictions: boolean;
@@ -284,7 +287,7 @@
     readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name PalletTimestampCall (61) */
+  /** @name PalletTimestampCall (62) */
   export interface PalletTimestampCall extends Enum {
     readonly isSet: boolean;
     readonly asSet: {
@@ -293,14 +296,14 @@
     readonly type: 'Set';
   }
 
-  /** @name PalletTransactionPaymentReleases (64) */
+  /** @name PalletTransactionPaymentReleases (65) */
   export interface PalletTransactionPaymentReleases extends Enum {
     readonly isV1Ancient: boolean;
     readonly isV2: boolean;
     readonly type: 'V1Ancient' | 'V2';
   }
 
-  /** @name FrameSupportWeightsWeightToFeeCoefficient (66) */
+  /** @name FrameSupportWeightsWeightToFeeCoefficient (67) */
   export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {
     readonly coeffInteger: u128;
     readonly coeffFrac: Perbill;
@@ -308,7 +311,7 @@
     readonly degree: u8;
   }
 
-  /** @name PalletTreasuryProposal (68) */
+  /** @name PalletTreasuryProposal (69) */
   export interface PalletTreasuryProposal extends Struct {
     readonly proposer: AccountId32;
     readonly value: u128;
@@ -316,7 +319,7 @@
     readonly bond: u128;
   }
 
-  /** @name PalletTreasuryCall (71) */
+  /** @name PalletTreasuryCall (72) */
   export interface PalletTreasuryCall extends Enum {
     readonly isProposeSpend: boolean;
     readonly asProposeSpend: {
@@ -334,7 +337,7 @@
     readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';
   }
 
-  /** @name PalletTreasuryEvent (73) */
+  /** @name PalletTreasuryEvent (74) */
   export interface PalletTreasuryEvent extends Enum {
     readonly isProposed: boolean;
     readonly asProposed: {
@@ -370,10 +373,10 @@
     readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';
   }
 
-  /** @name FrameSupportPalletId (76) */
+  /** @name FrameSupportPalletId (77) */
   export interface FrameSupportPalletId extends U8aFixed {}
 
-  /** @name PalletTreasuryError (77) */
+  /** @name PalletTreasuryError (78) */
   export interface PalletTreasuryError extends Enum {
     readonly isInsufficientProposersBalance: boolean;
     readonly isInvalidIndex: boolean;
@@ -381,7 +384,7 @@
     readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';
   }
 
-  /** @name PalletSudoCall (78) */
+  /** @name PalletSudoCall (79) */
   export interface PalletSudoCall extends Enum {
     readonly isSudo: boolean;
     readonly asSudo: {
@@ -404,7 +407,7 @@
     readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
   }
 
-  /** @name FrameSystemCall (80) */
+  /** @name FrameSystemCall (81) */
   export interface FrameSystemCall extends Enum {
     readonly isFillBlock: boolean;
     readonly asFillBlock: {
@@ -446,7 +449,7 @@
     readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
   }
 
-  /** @name OrmlVestingModuleCall (83) */
+  /** @name OrmlVestingModuleCall (84) */
   export interface OrmlVestingModuleCall extends Enum {
     readonly isClaim: boolean;
     readonly isVestedTransfer: boolean;
@@ -466,7 +469,7 @@
     readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
   }
 
-  /** @name OrmlVestingVestingSchedule (84) */
+  /** @name OrmlVestingVestingSchedule (85) */
   export interface OrmlVestingVestingSchedule extends Struct {
     readonly start: u32;
     readonly period: u32;
@@ -474,7 +477,7 @@
     readonly perPeriod: Compact<u128>;
   }
 
-  /** @name CumulusPalletXcmpQueueCall (86) */
+  /** @name CumulusPalletXcmpQueueCall (87) */
   export interface CumulusPalletXcmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -510,7 +513,7 @@
     readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
   }
 
-  /** @name PalletXcmCall (87) */
+  /** @name PalletXcmCall (88) */
   export interface PalletXcmCall extends Enum {
     readonly isSend: boolean;
     readonly asSend: {
@@ -572,7 +575,7 @@
     readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
   }
 
-  /** @name XcmVersionedMultiLocation (88) */
+  /** @name XcmVersionedMultiLocation (89) */
   export interface XcmVersionedMultiLocation extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiLocation;
@@ -581,7 +584,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name XcmV0MultiLocation (89) */
+  /** @name XcmV0MultiLocation (90) */
   export interface XcmV0MultiLocation extends Enum {
     readonly isNull: boolean;
     readonly isX1: boolean;
@@ -603,7 +606,7 @@
     readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV0Junction (90) */
+  /** @name XcmV0Junction (91) */
   export interface XcmV0Junction extends Enum {
     readonly isParent: boolean;
     readonly isParachain: boolean;
@@ -638,7 +641,7 @@
     readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmV0JunctionNetworkId (91) */
+  /** @name XcmV0JunctionNetworkId (92) */
   export interface XcmV0JunctionNetworkId extends Enum {
     readonly isAny: boolean;
     readonly isNamed: boolean;
@@ -648,7 +651,7 @@
     readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
   }
 
-  /** @name XcmV0JunctionBodyId (92) */
+  /** @name XcmV0JunctionBodyId (93) */
   export interface XcmV0JunctionBodyId extends Enum {
     readonly isUnit: boolean;
     readonly isNamed: boolean;
@@ -662,7 +665,7 @@
     readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
   }
 
-  /** @name XcmV0JunctionBodyPart (93) */
+  /** @name XcmV0JunctionBodyPart (94) */
   export interface XcmV0JunctionBodyPart extends Enum {
     readonly isVoice: boolean;
     readonly isMembers: boolean;
@@ -687,13 +690,13 @@
     readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
   }
 
-  /** @name XcmV1MultiLocation (94) */
+  /** @name XcmV1MultiLocation (95) */
   export interface XcmV1MultiLocation extends Struct {
     readonly parents: u8;
     readonly interior: XcmV1MultilocationJunctions;
   }
 
-  /** @name XcmV1MultilocationJunctions (95) */
+  /** @name XcmV1MultilocationJunctions (96) */
   export interface XcmV1MultilocationJunctions extends Enum {
     readonly isHere: boolean;
     readonly isX1: boolean;
@@ -715,7 +718,7 @@
     readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV1Junction (96) */
+  /** @name XcmV1Junction (97) */
   export interface XcmV1Junction extends Enum {
     readonly isParachain: boolean;
     readonly asParachain: Compact<u32>;
@@ -749,7 +752,7 @@
     readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmVersionedXcm (97) */
+  /** @name XcmVersionedXcm (98) */
   export interface XcmVersionedXcm extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0Xcm;
@@ -760,7 +763,7 @@
     readonly type: 'V0' | 'V1' | 'V2';
   }
 
-  /** @name XcmV0Xcm (98) */
+  /** @name XcmV0Xcm (99) */
   export interface XcmV0Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -823,7 +826,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
   }
 
-  /** @name XcmV0MultiAsset (100) */
+  /** @name XcmV0MultiAsset (101) */
   export interface XcmV0MultiAsset extends Enum {
     readonly isNone: boolean;
     readonly isAll: boolean;
@@ -868,7 +871,7 @@
     readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
   }
 
-  /** @name XcmV1MultiassetAssetInstance (101) */
+  /** @name XcmV1MultiassetAssetInstance (102) */
   export interface XcmV1MultiassetAssetInstance extends Enum {
     readonly isUndefined: boolean;
     readonly isIndex: boolean;
@@ -886,7 +889,7 @@
     readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
   }
 
-  /** @name XcmV0Order (105) */
+  /** @name XcmV0Order (106) */
   export interface XcmV0Order extends Enum {
     readonly isNull: boolean;
     readonly isDepositAsset: boolean;
@@ -934,14 +937,14 @@
     readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV0Response (107) */
+  /** @name XcmV0Response (108) */
   export interface XcmV0Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: Vec<XcmV0MultiAsset>;
     readonly type: 'Assets';
   }
 
-  /** @name XcmV0OriginKind (108) */
+  /** @name XcmV0OriginKind (109) */
   export interface XcmV0OriginKind extends Enum {
     readonly isNative: boolean;
     readonly isSovereignAccount: boolean;
@@ -950,12 +953,12 @@
     readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
   }
 
-  /** @name XcmDoubleEncoded (109) */
+  /** @name XcmDoubleEncoded (110) */
   export interface XcmDoubleEncoded extends Struct {
     readonly encoded: Bytes;
   }
 
-  /** @name XcmV1Xcm (110) */
+  /** @name XcmV1Xcm (111) */
   export interface XcmV1Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -1024,16 +1027,16 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV1MultiassetMultiAssets (111) */
+  /** @name XcmV1MultiassetMultiAssets (112) */
   export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
 
-  /** @name XcmV1MultiAsset (113) */
+  /** @name XcmV1MultiAsset (114) */
   export interface XcmV1MultiAsset extends Struct {
     readonly id: XcmV1MultiassetAssetId;
     readonly fun: XcmV1MultiassetFungibility;
   }
 
-  /** @name XcmV1MultiassetAssetId (114) */
+  /** @name XcmV1MultiassetAssetId (115) */
   export interface XcmV1MultiassetAssetId extends Enum {
     readonly isConcrete: boolean;
     readonly asConcrete: XcmV1MultiLocation;
@@ -1042,7 +1045,7 @@
     readonly type: 'Concrete' | 'Abstract';
   }
 
-  /** @name XcmV1MultiassetFungibility (115) */
+  /** @name XcmV1MultiassetFungibility (116) */
   export interface XcmV1MultiassetFungibility extends Enum {
     readonly isFungible: boolean;
     readonly asFungible: Compact<u128>;
@@ -1051,7 +1054,7 @@
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV1Order (117) */
+  /** @name XcmV1Order (118) */
   export interface XcmV1Order extends Enum {
     readonly isNoop: boolean;
     readonly isDepositAsset: boolean;
@@ -1101,7 +1104,7 @@
     readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV1MultiassetMultiAssetFilter (118) */
+  /** @name XcmV1MultiassetMultiAssetFilter (119) */
   export interface XcmV1MultiassetMultiAssetFilter extends Enum {
     readonly isDefinite: boolean;
     readonly asDefinite: XcmV1MultiassetMultiAssets;
@@ -1110,7 +1113,7 @@
     readonly type: 'Definite' | 'Wild';
   }
 
-  /** @name XcmV1MultiassetWildMultiAsset (119) */
+  /** @name XcmV1MultiassetWildMultiAsset (120) */
   export interface XcmV1MultiassetWildMultiAsset extends Enum {
     readonly isAll: boolean;
     readonly isAllOf: boolean;
@@ -1121,14 +1124,14 @@
     readonly type: 'All' | 'AllOf';
   }
 
-  /** @name XcmV1MultiassetWildFungibility (120) */
+  /** @name XcmV1MultiassetWildFungibility (121) */
   export interface XcmV1MultiassetWildFungibility extends Enum {
     readonly isFungible: boolean;
     readonly isNonFungible: boolean;
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV1Response (122) */
+  /** @name XcmV1Response (123) */
   export interface XcmV1Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -1137,10 +1140,10 @@
     readonly type: 'Assets' | 'Version';
   }
 
-  /** @name XcmV2Xcm (123) */
+  /** @name XcmV2Xcm (124) */
   export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
 
-  /** @name XcmV2Instruction (125) */
+  /** @name XcmV2Instruction (126) */
   export interface XcmV2Instruction extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
@@ -1260,7 +1263,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV2Response (126) */
+  /** @name XcmV2Response (127) */
   export interface XcmV2Response extends Enum {
     readonly isNull: boolean;
     readonly isAssets: boolean;
@@ -1272,7 +1275,7 @@
     readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
   }
 
-  /** @name XcmV2TraitsError (129) */
+  /** @name XcmV2TraitsError (130) */
   export interface XcmV2TraitsError extends Enum {
     readonly isOverflow: boolean;
     readonly isUnimplemented: boolean;
@@ -1305,7 +1308,7 @@
     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 XcmV2WeightLimit (130) */
+  /** @name XcmV2WeightLimit (131) */
   export interface XcmV2WeightLimit extends Enum {
     readonly isUnlimited: boolean;
     readonly isLimited: boolean;
@@ -1313,7 +1316,7 @@
     readonly type: 'Unlimited' | 'Limited';
   }
 
-  /** @name XcmVersionedMultiAssets (131) */
+  /** @name XcmVersionedMultiAssets (132) */
   export interface XcmVersionedMultiAssets extends Enum {
     readonly isV0: boolean;
     readonly asV0: Vec<XcmV0MultiAsset>;
@@ -1322,10 +1325,10 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name CumulusPalletXcmCall (146) */
+  /** @name CumulusPalletXcmCall (147) */
   export type CumulusPalletXcmCall = Null;
 
-  /** @name CumulusPalletDmpQueueCall (147) */
+  /** @name CumulusPalletDmpQueueCall (148) */
   export interface CumulusPalletDmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -1335,7 +1338,7 @@
     readonly type: 'ServiceOverweight';
   }
 
-  /** @name PalletInflationCall (148) */
+  /** @name PalletInflationCall (149) */
   export interface PalletInflationCall extends Enum {
     readonly isStartInflation: boolean;
     readonly asStartInflation: {
@@ -1344,7 +1347,7 @@
     readonly type: 'StartInflation';
   }
 
-  /** @name PalletUniqueCall (149) */
+  /** @name PalletUniqueCall (150) */
   export interface PalletUniqueCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -1364,12 +1367,12 @@
     readonly isAddToAllowList: boolean;
     readonly asAddToAllowList: {
       readonly collectionId: u32;
-      readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
     } & Struct;
     readonly isRemoveFromAllowList: boolean;
     readonly asRemoveFromAllowList: {
       readonly collectionId: u32;
-      readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
     } & Struct;
     readonly isSetPublicAccessMode: boolean;
     readonly asSetPublicAccessMode: {
@@ -1389,12 +1392,12 @@
     readonly isAddCollectionAdmin: boolean;
     readonly asAddCollectionAdmin: {
       readonly collectionId: u32;
-      readonly newAdminId: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
     } & Struct;
     readonly isRemoveCollectionAdmin: boolean;
     readonly asRemoveCollectionAdmin: {
       readonly collectionId: u32;
-      readonly accountId: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;
     } & Struct;
     readonly isSetCollectionSponsor: boolean;
     readonly asSetCollectionSponsor: {
@@ -1412,13 +1415,13 @@
     readonly isCreateItem: boolean;
     readonly asCreateItem: {
       readonly collectionId: u32;
-      readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly data: UpDataStructsCreateItemData;
     } & Struct;
     readonly isCreateMultipleItems: boolean;
     readonly asCreateMultipleItems: {
       readonly collectionId: u32;
-      readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly itemsData: Vec<UpDataStructsCreateItemData>;
     } & Struct;
     readonly isCreateMultipleItemsEx: boolean;
@@ -1440,28 +1443,28 @@
     readonly isBurnFrom: boolean;
     readonly asBurnFrom: {
       readonly collectionId: u32;
-      readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly itemId: u32;
       readonly value: u128;
     } & Struct;
     readonly isTransfer: boolean;
     readonly asTransfer: {
-      readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly collectionId: u32;
       readonly itemId: u32;
       readonly value: u128;
     } & Struct;
     readonly isApprove: boolean;
     readonly asApprove: {
-      readonly spender: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly collectionId: u32;
       readonly itemId: u32;
       readonly amount: u128;
     } & Struct;
     readonly isTransferFrom: boolean;
     readonly asTransferFrom: {
-      readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
-      readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
       readonly collectionId: u32;
       readonly itemId: u32;
       readonly value: u128;
@@ -1505,7 +1508,7 @@
     readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetVariableMetaData' | 'SetMetaUpdatePermissionFlag' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetVariableOnChainSchema' | 'SetCollectionLimits';
   }
 
-  /** @name UpDataStructsCollectionMode (155) */
+  /** @name UpDataStructsCollectionMode (156) */
   export interface UpDataStructsCollectionMode extends Enum {
     readonly isNft: boolean;
     readonly isFungible: boolean;
@@ -1514,7 +1517,7 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateCollectionData (156) */
+  /** @name UpDataStructsCreateCollectionData (157) */
   export interface UpDataStructsCreateCollectionData extends Struct {
     readonly mode: UpDataStructsCollectionMode;
     readonly access: Option<UpDataStructsAccessMode>;
@@ -1530,21 +1533,21 @@
     readonly metaUpdatePermission: Option<UpDataStructsMetaUpdatePermission>;
   }
 
-  /** @name UpDataStructsAccessMode (158) */
+  /** @name UpDataStructsAccessMode (159) */
   export interface UpDataStructsAccessMode extends Enum {
     readonly isNormal: boolean;
     readonly isAllowList: boolean;
     readonly type: 'Normal' | 'AllowList';
   }
 
-  /** @name UpDataStructsSchemaVersion (161) */
+  /** @name UpDataStructsSchemaVersion (162) */
   export interface UpDataStructsSchemaVersion extends Enum {
     readonly isImageURL: boolean;
     readonly isUnique: boolean;
     readonly type: 'ImageURL' | 'Unique';
   }
 
-  /** @name UpDataStructsCollectionLimits (164) */
+  /** @name UpDataStructsCollectionLimits (165) */
   export interface UpDataStructsCollectionLimits extends Struct {
     readonly accountTokenOwnershipLimit: Option<u32>;
     readonly sponsoredDataSize: Option<u32>;
@@ -1557,7 +1560,7 @@
     readonly transfersEnabled: Option<bool>;
   }
 
-  /** @name UpDataStructsSponsoringRateLimit (166) */
+  /** @name UpDataStructsSponsoringRateLimit (167) */
   export interface UpDataStructsSponsoringRateLimit extends Enum {
     readonly isSponsoringDisabled: boolean;
     readonly isBlocks: boolean;
@@ -1565,7 +1568,7 @@
     readonly type: 'SponsoringDisabled' | 'Blocks';
   }
 
-  /** @name UpDataStructsMetaUpdatePermission (170) */
+  /** @name UpDataStructsMetaUpdatePermission (171) */
   export interface UpDataStructsMetaUpdatePermission extends Enum {
     readonly isItemOwner: boolean;
     readonly isAdmin: boolean;
@@ -1573,8 +1576,8 @@
     readonly type: 'ItemOwner' | 'Admin' | 'None';
   }
 
-  /** @name PalletCommonAccountBasicCrossAccountIdRepr (172) */
-  export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
+  /** @name PalletEvmAccountBasicCrossAccountIdRepr (173) */
+  export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
     readonly isSubstrate: boolean;
     readonly asSubstrate: AccountId32;
     readonly isEthereum: boolean;
@@ -1582,7 +1585,7 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name UpDataStructsCreateItemData (174) */
+  /** @name UpDataStructsCreateItemData (175) */
   export interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -1593,30 +1596,30 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (175) */
+  /** @name UpDataStructsCreateNftData (176) */
   export interface UpDataStructsCreateNftData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
   }
 
-  /** @name UpDataStructsCreateFungibleData (177) */
+  /** @name UpDataStructsCreateFungibleData (178) */
   export interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (178) */
+  /** @name UpDataStructsCreateReFungibleData (179) */
   export interface UpDataStructsCreateReFungibleData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsCreateItemExData (180) */
+  /** @name UpDataStructsCreateItemExData (181) */
   export interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
     readonly isFungible: boolean;
-    readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
     readonly isRefungibleMultipleItems: boolean;
     readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
     readonly isRefungibleMultipleOwners: boolean;
@@ -1624,24 +1627,24 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (182) */
+  /** @name UpDataStructsCreateNftExData (183) */
   export interface UpDataStructsCreateNftExData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
-    readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExData (189) */
+  /** @name UpDataStructsCreateRefungibleExData (190) */
   export interface UpDataStructsCreateRefungibleExData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
-    readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (192) */
+  /** @name PalletTemplateTransactionPaymentCall (193) */
   export type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletEvmCall (193) */
+  /** @name PalletEvmCall (194) */
   export interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -1686,7 +1689,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (199) */
+  /** @name PalletEthereumCall (200) */
   export interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -1695,7 +1698,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (200) */
+  /** @name EthereumTransactionTransactionV2 (201) */
   export interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -1706,7 +1709,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (201) */
+  /** @name EthereumTransactionLegacyTransaction (202) */
   export interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -1717,7 +1720,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (202) */
+  /** @name EthereumTransactionTransactionAction (203) */
   export interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -1725,14 +1728,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (203) */
+  /** @name EthereumTransactionTransactionSignature (204) */
   export interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (205) */
+  /** @name EthereumTransactionEip2930Transaction (206) */
   export interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -1747,13 +1750,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (207) */
+  /** @name EthereumTransactionAccessListItem (208) */
   export interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
-    readonly slots: Vec<H256>;
+    readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (208) */
+  /** @name EthereumTransactionEip1559Transaction (209) */
   export interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -1769,7 +1772,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (209) */
+  /** @name PalletEvmMigrationCall (210) */
   export interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -1788,7 +1791,7 @@
     readonly type: 'Begin' | 'SetData' | 'Finish';
   }
 
-  /** @name PalletSudoEvent (212) */
+  /** @name PalletSudoEvent (213) */
   export interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -1805,7 +1808,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name SpRuntimeDispatchError (214) */
+  /** @name SpRuntimeDispatchError (215) */
   export interface SpRuntimeDispatchError extends Enum {
     readonly isOther: boolean;
     readonly isCannotLookup: boolean;
@@ -1822,13 +1825,13 @@
     readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic';
   }
 
-  /** @name SpRuntimeModuleError (215) */
+  /** @name SpRuntimeModuleError (216) */
   export interface SpRuntimeModuleError extends Struct {
     readonly index: u8;
     readonly error: u8;
   }
 
-  /** @name SpRuntimeTokenError (216) */
+  /** @name SpRuntimeTokenError (217) */
   export interface SpRuntimeTokenError extends Enum {
     readonly isNoFunds: boolean;
     readonly isWouldDie: boolean;
@@ -1840,7 +1843,7 @@
     readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
   }
 
-  /** @name SpRuntimeArithmeticError (217) */
+  /** @name SpRuntimeArithmeticError (218) */
   export interface SpRuntimeArithmeticError extends Enum {
     readonly isUnderflow: boolean;
     readonly isOverflow: boolean;
@@ -1848,13 +1851,13 @@
     readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
   }
 
-  /** @name PalletSudoError (218) */
+  /** @name PalletSudoError (219) */
   export interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name FrameSystemAccountInfo (219) */
+  /** @name FrameSystemAccountInfo (220) */
   export interface FrameSystemAccountInfo extends Struct {
     readonly nonce: u32;
     readonly consumers: u32;
@@ -1863,19 +1866,19 @@
     readonly data: PalletBalancesAccountData;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU64 (220) */
+  /** @name FrameSupportWeightsPerDispatchClassU64 (221) */
   export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {
     readonly normal: u64;
     readonly operational: u64;
     readonly mandatory: u64;
   }
 
-  /** @name SpRuntimeDigest (221) */
+  /** @name SpRuntimeDigest (222) */
   export interface SpRuntimeDigest extends Struct {
     readonly logs: Vec<SpRuntimeDigestDigestItem>;
   }
 
-  /** @name SpRuntimeDigestDigestItem (223) */
+  /** @name SpRuntimeDigestDigestItem (224) */
   export interface SpRuntimeDigestDigestItem extends Enum {
     readonly isOther: boolean;
     readonly asOther: Bytes;
@@ -1889,14 +1892,14 @@
     readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';
   }
 
-  /** @name FrameSystemEventRecord (225) */
+  /** @name FrameSystemEventRecord (226) */
   export interface FrameSystemEventRecord extends Struct {
     readonly phase: FrameSystemPhase;
     readonly event: Event;
     readonly topics: Vec<H256>;
   }
 
-  /** @name FrameSystemEvent (227) */
+  /** @name FrameSystemEvent (228) */
   export interface FrameSystemEvent extends Enum {
     readonly isExtrinsicSuccess: boolean;
     readonly asExtrinsicSuccess: {
@@ -1924,14 +1927,14 @@
     readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';
   }
 
-  /** @name FrameSupportWeightsDispatchInfo (228) */
+  /** @name FrameSupportWeightsDispatchInfo (229) */
   export interface FrameSupportWeightsDispatchInfo extends Struct {
     readonly weight: u64;
     readonly class: FrameSupportWeightsDispatchClass;
     readonly paysFee: FrameSupportWeightsPays;
   }
 
-  /** @name FrameSupportWeightsDispatchClass (229) */
+  /** @name FrameSupportWeightsDispatchClass (230) */
   export interface FrameSupportWeightsDispatchClass extends Enum {
     readonly isNormal: boolean;
     readonly isOperational: boolean;
@@ -1939,14 +1942,14 @@
     readonly type: 'Normal' | 'Operational' | 'Mandatory';
   }
 
-  /** @name FrameSupportWeightsPays (230) */
+  /** @name FrameSupportWeightsPays (231) */
   export interface FrameSupportWeightsPays extends Enum {
     readonly isYes: boolean;
     readonly isNo: boolean;
     readonly type: 'Yes' | 'No';
   }
 
-  /** @name OrmlVestingModuleEvent (231) */
+  /** @name OrmlVestingModuleEvent (232) */
   export interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -1966,7 +1969,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (232) */
+  /** @name CumulusPalletXcmpQueueEvent (233) */
   export interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: Option<H256>;
@@ -1987,7 +1990,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletXcmEvent (233) */
+  /** @name PalletXcmEvent (234) */
   export interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -2024,7 +2027,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
   }
 
-  /** @name XcmV2TraitsOutcome (234) */
+  /** @name XcmV2TraitsOutcome (235) */
   export interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -2035,7 +2038,7 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name CumulusPalletXcmEvent (236) */
+  /** @name CumulusPalletXcmEvent (237) */
   export interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2046,7 +2049,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (237) */
+  /** @name CumulusPalletDmpQueueEvent (238) */
   export interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -2063,12 +2066,12 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletUniqueRawEvent (238) */
+  /** @name PalletUniqueRawEvent (239) */
   export interface PalletUniqueRawEvent extends Enum {
     readonly isCollectionSponsorRemoved: boolean;
     readonly asCollectionSponsorRemoved: u32;
     readonly isCollectionAdminAdded: boolean;
-    readonly asCollectionAdminAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
     readonly isCollectionOwnedChanged: boolean;
     readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;
     readonly isCollectionSponsorSet: boolean;
@@ -2078,11 +2081,11 @@
     readonly isSponsorshipConfirmed: boolean;
     readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;
     readonly isCollectionAdminRemoved: boolean;
-    readonly asCollectionAdminRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
     readonly isAllowListAddressRemoved: boolean;
-    readonly asAllowListAddressRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
     readonly isAllowListAddressAdded: boolean;
-    readonly asAllowListAddressAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
     readonly isCollectionLimitSet: boolean;
     readonly asCollectionLimitSet: u32;
     readonly isMintPermissionSet: boolean;
@@ -2098,24 +2101,24 @@
     readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet' | 'VariableOnChainSchemaSet';
   }
 
-  /** @name PalletCommonEvent (239) */
+  /** @name PalletCommonEvent (240) */
   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, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
     readonly isItemDestroyed: boolean;
-    readonly asItemDestroyed: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
     readonly isTransfer: boolean;
-    readonly asTransfer: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
     readonly isApproved: boolean;
-    readonly asApproved: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';
   }
 
-  /** @name PalletEvmEvent (240) */
+  /** @name PalletEvmEvent (241) */
   export interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: EthereumLog;
@@ -2134,21 +2137,21 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
   }
 
-  /** @name EthereumLog (241) */
+  /** @name EthereumLog (242) */
   export interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (242) */
+  /** @name PalletEthereumEvent (243) */
   export interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (243) */
+  /** @name EvmCoreErrorExitReason (244) */
   export interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -2161,7 +2164,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (244) */
+  /** @name EvmCoreErrorExitSucceed (245) */
   export interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -2169,7 +2172,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (245) */
+  /** @name EvmCoreErrorExitError (246) */
   export interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -2190,13 +2193,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'InvalidCode' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other';
   }
 
-  /** @name EvmCoreErrorExitRevert (248) */
+  /** @name EvmCoreErrorExitRevert (249) */
   export interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (249) */
+  /** @name EvmCoreErrorExitFatal (250) */
   export interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -2207,7 +2210,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name FrameSystemPhase (250) */
+  /** @name FrameSystemPhase (251) */
   export interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -2216,27 +2219,27 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (252) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (253) */
   export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemLimitsBlockWeights (253) */
+  /** @name FrameSystemLimitsBlockWeights (254) */
   export interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: u64;
     readonly maxBlock: u64;
     readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (254) */
+  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (255) */
   export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (255) */
+  /** @name FrameSystemLimitsWeightsPerClass (256) */
   export interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: u64;
     readonly maxExtrinsic: Option<u64>;
@@ -2244,25 +2247,25 @@
     readonly reserved: Option<u64>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (257) */
+  /** @name FrameSystemLimitsBlockLength (258) */
   export interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportWeightsPerDispatchClassU32;
   }
 
-  /** @name FrameSupportWeightsPerDispatchClassU32 (258) */
+  /** @name FrameSupportWeightsPerDispatchClassU32 (259) */
   export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name FrameSupportWeightsRuntimeDbWeight (259) */
+  /** @name FrameSupportWeightsRuntimeDbWeight (260) */
   export interface FrameSupportWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (260) */
+  /** @name SpVersionRuntimeVersion (261) */
   export interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -2274,7 +2277,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (264) */
+  /** @name FrameSystemError (265) */
   export interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -2285,7 +2288,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name OrmlVestingModuleError (266) */
+  /** @name OrmlVestingModuleError (267) */
   export interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -2296,21 +2299,21 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (268) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (269) */
   export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (269) */
+  /** @name CumulusPalletXcmpQueueInboundState (270) */
   export interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (272) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (273) */
   export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -2318,7 +2321,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (275) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (276) */
   export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -2327,14 +2330,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (276) */
+  /** @name CumulusPalletXcmpQueueOutboundState (277) */
   export interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (278) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (279) */
   export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -2344,7 +2347,7 @@
     readonly xcmpMaxIndividualWeight: u64;
   }
 
-  /** @name CumulusPalletXcmpQueueError (280) */
+  /** @name CumulusPalletXcmpQueueError (281) */
   export interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -2354,7 +2357,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (281) */
+  /** @name PalletXcmError (282) */
   export interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -2372,29 +2375,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (282) */
+  /** @name CumulusPalletXcmError (283) */
   export type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (283) */
+  /** @name CumulusPalletDmpQueueConfigData (284) */
   export interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: u64;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (284) */
+  /** @name CumulusPalletDmpQueuePageIndexData (285) */
   export interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (287) */
+  /** @name CumulusPalletDmpQueueError (288) */
   export interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (291) */
+  /** @name PalletUniqueError (292) */
   export interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isConfirmUnsetSponsorFail: boolean;
@@ -2402,7 +2405,7 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';
   }
 
-  /** @name UpDataStructsCollection (292) */
+  /** @name UpDataStructsCollection (293) */
   export interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -2420,7 +2423,7 @@
     readonly metaUpdatePermission: UpDataStructsMetaUpdatePermission;
   }
 
-  /** @name UpDataStructsSponsorshipState (293) */
+  /** @name UpDataStructsSponsorshipState (294) */
   export interface UpDataStructsSponsorshipState extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -2430,14 +2433,14 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsCollectionStats (296) */
+  /** @name UpDataStructsCollectionStats (297) */
   export interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name PalletCommonError (297) */
+  /** @name PalletCommonError (298) */
   export interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -2462,10 +2465,11 @@
     readonly isCantApproveMoreThanOwned: boolean;
     readonly isAddressIsZero: boolean;
     readonly isUnsupportedOperation: boolean;
-    readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation';
+    readonly isNotSufficientFounds: boolean;
+    readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';
   }
 
-  /** @name PalletFungibleError (299) */
+  /** @name PalletFungibleError (300) */
   export interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -2473,34 +2477,34 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData';
   }
 
-  /** @name PalletRefungibleItemData (300) */
+  /** @name PalletRefungibleItemData (301) */
   export interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
   }
 
-  /** @name PalletRefungibleError (304) */
+  /** @name PalletRefungibleError (305) */
   export interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces';
   }
 
-  /** @name PalletNonfungibleItemData (305) */
+  /** @name PalletNonfungibleItemData (306) */
   export interface PalletNonfungibleItemData extends Struct {
     readonly constData: Bytes;
     readonly variableData: Bytes;
-    readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name PalletNonfungibleError (306) */
+  /** @name PalletNonfungibleError (307) */
   export interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';
   }
 
-  /** @name PalletEvmError (308) */
+  /** @name PalletEvmError (309) */
   export interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -2511,7 +2515,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
   }
 
-  /** @name FpRpcTransactionStatus (311) */
+  /** @name FpRpcTransactionStatus (312) */
   export interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -2522,10 +2526,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (314) */
+  /** @name EthbloomBloom (315) */
   export interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (316) */
+  /** @name EthereumReceiptReceiptV3 (317) */
   export interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -2536,7 +2540,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (317) */
+  /** @name EthereumReceiptEip658ReceiptData (318) */
   export interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -2544,14 +2548,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (318) */
+  /** @name EthereumBlock (319) */
   export interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (319) */
+  /** @name EthereumHeader (320) */
   export interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -2570,24 +2574,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (320) */
+  /** @name EthereumTypesHashH64 (321) */
   export interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (325) */
+  /** @name PalletEthereumError (326) */
   export interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (326) */
+  /** @name PalletEvmCoderSubstrateError (327) */
   export interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (327) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (328) */
   export interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -2595,20 +2599,20 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (329) */
+  /** @name PalletEvmContractHelpersError (330) */
   export interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly type: 'NoPermission';
   }
 
-  /** @name PalletEvmMigrationError (330) */
+  /** @name PalletEvmMigrationError (331) */
   export interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (332) */
+  /** @name SpRuntimeMultiSignature (333) */
   export interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -2619,31 +2623,31 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (333) */
+  /** @name SpCoreEd25519Signature (334) */
   export interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (335) */
+  /** @name SpCoreSr25519Signature (336) */
   export interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (336) */
+  /** @name SpCoreEcdsaSignature (337) */
   export interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (339) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (340) */
   export type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (340) */
+  /** @name FrameSystemExtensionsCheckGenesis (341) */
   export type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (343) */
+  /** @name FrameSystemExtensionsCheckNonce (344) */
   export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (344) */
+  /** @name FrameSystemExtensionsCheckWeight (345) */
   export type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (345) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (346) */
   export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name UniqueRuntimeRuntime (346) */
-  export type UniqueRuntimeRuntime = Null;
+  /** @name OpalRuntimeRuntime (347) */
+  export type OpalRuntimeRuntime = Null;
 
 } // declare module
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -22,7 +22,7 @@
   isOptional?: true;
 };
 
-const CROSS_ACCOUNT_ID_TYPE = 'PalletCommonAccountBasicCrossAccountIdRepr';
+const CROSS_ACCOUNT_ID_TYPE = 'PalletEvmAccountBasicCrossAccountIdRepr';
 
 const collectionParam = {name: 'collection', type: 'u32'};
 const tokenParam = {name: 'tokenId', type: 'u32'};
@@ -38,8 +38,8 @@
 export default {
   types,
   rpc: {
-    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
-    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletCommonAccountBasicCrossAccountIdRepr>'),
+    adminlist: fun('Get admin list', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
+    allowlist: fun('Get allowlist', [collectionParam], 'Vec<PalletEvmAccountBasicCrossAccountIdRepr>'),
 
     accountTokens: fun('Get tokens owned by account', [collectionParam, crossAccountParam()], 'Vec<u32>'),
     collectionTokens: fun('Get tokens contained in collection', [collectionParam], 'Vec<u32>'),
@@ -55,5 +55,7 @@
     collectionById: fun('Get collection by specified id', [collectionParam], 'Option<UpDataStructsCollection>'),
     collectionStats: fun('Get collection stats', [], 'UpDataStructsCollectionStats'),
     allowed: fun('Check if user is allowed to use collection', [collectionParam, crossAccountParam()], 'bool'),
+    nextSponsored: fun('Get number of blocks when sponsored transaction is available', [collectionParam, crossAccountParam(), tokenParam], 'Option<u64>'),
+    effectiveCollectionLimits: fun('Get effective collection limits', [collectionParam], 'Option<UpDataStructsCollectionLimits>'),
   },
 };
modifiedtests/src/interfaces/unique/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/types.ts
+++ b/tests/src/interfaces/unique/types.ts
@@ -6,6 +6,9 @@
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
 import type { Event } from '@polkadot/types/interfaces/system';
 
+/** @name BTreeSet */
+export interface BTreeSet extends Vec<Bytes> {}
+
 /** @name CumulusPalletDmpQueueCall */
 export interface CumulusPalletDmpQueueCall extends Enum {
   readonly isServiceOverweight: boolean;
@@ -299,7 +302,7 @@
 /** @name EthereumTransactionAccessListItem */
 export interface EthereumTransactionAccessListItem extends Struct {
   readonly address: H160;
-  readonly slots: Vec<H256>;
+  readonly storageKeys: Vec<H256>;
 }
 
 /** @name EthereumTransactionEip1559Transaction */
@@ -654,6 +657,9 @@
   readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
 }
 
+/** @name OpalRuntimeRuntime */
+export interface OpalRuntimeRuntime extends Null {}
+
 /** @name OrmlVestingModuleCall */
 export interface OrmlVestingModuleCall extends Enum {
   readonly isClaim: boolean;
@@ -856,15 +862,6 @@
 export interface PalletBalancesReserveData extends Struct {
   readonly id: U8aFixed;
   readonly amount: u128;
-}
-
-/** @name PalletCommonAccountBasicCrossAccountIdRepr */
-export interface PalletCommonAccountBasicCrossAccountIdRepr extends Enum {
-  readonly isSubstrate: boolean;
-  readonly asSubstrate: AccountId32;
-  readonly isEthereum: boolean;
-  readonly asEthereum: H160;
-  readonly type: 'Substrate' | 'Ethereum';
 }
 
 /** @name PalletCommonError */
@@ -892,7 +889,8 @@
   readonly isCantApproveMoreThanOwned: boolean;
   readonly isAddressIsZero: boolean;
   readonly isUnsupportedOperation: boolean;
-  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation';
+  readonly isNotSufficientFounds: boolean;
+  readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'TokenVariableDataLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds';
 }
 
 /** @name PalletCommonEvent */
@@ -902,13 +900,13 @@
   readonly isCollectionDestroyed: boolean;
   readonly asCollectionDestroyed: u32;
   readonly isItemCreated: boolean;
-  readonly asItemCreated: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
   readonly isItemDestroyed: boolean;
-  readonly asItemDestroyed: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
   readonly isTransfer: boolean;
-  readonly asTransfer: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
   readonly isApproved: boolean;
-  readonly asApproved: ITuple<[u32, u32, PalletCommonAccountBasicCrossAccountIdRepr, PalletCommonAccountBasicCrossAccountIdRepr, u128]>;
+  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
   readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved';
 }
 
@@ -935,6 +933,15 @@
   readonly type: 'Executed';
 }
 
+/** @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;
@@ -1085,7 +1092,7 @@
 export interface PalletNonfungibleItemData extends Struct {
   readonly constData: Bytes;
   readonly variableData: Bytes;
-  readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
 }
 
 /** @name PalletRefungibleError */
@@ -1259,12 +1266,12 @@
   readonly isAddToAllowList: boolean;
   readonly asAddToAllowList: {
     readonly collectionId: u32;
-    readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
   } & Struct;
   readonly isRemoveFromAllowList: boolean;
   readonly asRemoveFromAllowList: {
     readonly collectionId: u32;
-    readonly address: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;
   } & Struct;
   readonly isSetPublicAccessMode: boolean;
   readonly asSetPublicAccessMode: {
@@ -1284,12 +1291,12 @@
   readonly isAddCollectionAdmin: boolean;
   readonly asAddCollectionAdmin: {
     readonly collectionId: u32;
-    readonly newAdminId: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;
   } & Struct;
   readonly isRemoveCollectionAdmin: boolean;
   readonly asRemoveCollectionAdmin: {
     readonly collectionId: u32;
-    readonly accountId: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;
   } & Struct;
   readonly isSetCollectionSponsor: boolean;
   readonly asSetCollectionSponsor: {
@@ -1307,13 +1314,13 @@
   readonly isCreateItem: boolean;
   readonly asCreateItem: {
     readonly collectionId: u32;
-    readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly data: UpDataStructsCreateItemData;
   } & Struct;
   readonly isCreateMultipleItems: boolean;
   readonly asCreateMultipleItems: {
     readonly collectionId: u32;
-    readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly itemsData: Vec<UpDataStructsCreateItemData>;
   } & Struct;
   readonly isCreateMultipleItemsEx: boolean;
@@ -1335,28 +1342,28 @@
   readonly isBurnFrom: boolean;
   readonly asBurnFrom: {
     readonly collectionId: u32;
-    readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly itemId: u32;
     readonly value: u128;
   } & Struct;
   readonly isTransfer: boolean;
   readonly asTransfer: {
-    readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly collectionId: u32;
     readonly itemId: u32;
     readonly value: u128;
   } & Struct;
   readonly isApprove: boolean;
   readonly asApprove: {
-    readonly spender: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly collectionId: u32;
     readonly itemId: u32;
     readonly amount: u128;
   } & Struct;
   readonly isTransferFrom: boolean;
   readonly asTransferFrom: {
-    readonly from: PalletCommonAccountBasicCrossAccountIdRepr;
-    readonly recipient: PalletCommonAccountBasicCrossAccountIdRepr;
+    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly collectionId: u32;
     readonly itemId: u32;
     readonly value: u128;
@@ -1413,7 +1420,7 @@
   readonly isCollectionSponsorRemoved: boolean;
   readonly asCollectionSponsorRemoved: u32;
   readonly isCollectionAdminAdded: boolean;
-  readonly asCollectionAdminAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
   readonly isCollectionOwnedChanged: boolean;
   readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;
   readonly isCollectionSponsorSet: boolean;
@@ -1423,11 +1430,11 @@
   readonly isSponsorshipConfirmed: boolean;
   readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;
   readonly isCollectionAdminRemoved: boolean;
-  readonly asCollectionAdminRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
   readonly isAllowListAddressRemoved: boolean;
-  readonly asAllowListAddressRemoved: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
   readonly isAllowListAddressAdded: boolean;
-  readonly asAllowListAddressAdded: ITuple<[u32, PalletCommonAccountBasicCrossAccountIdRepr]>;
+  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
   readonly isCollectionLimitSet: boolean;
   readonly asCollectionLimitSet: u32;
   readonly isMintPermissionSet: boolean;
@@ -1707,7 +1714,7 @@
 
 /** @name SpTrieStorageProof */
 export interface SpTrieStorageProof extends Struct {
-  readonly trieNodes: Vec<Bytes>;
+  readonly trieNodes: BTreeSet;
 }
 
 /** @name SpVersionRuntimeVersion */
@@ -1722,9 +1729,6 @@
   readonly stateVersion: u8;
 }
 
-/** @name UniqueRuntimeRuntime */
-export interface UniqueRuntimeRuntime extends Null {}
-
 /** @name UpDataStructsAccessMode */
 export interface UpDataStructsAccessMode extends Enum {
   readonly isNormal: boolean;
@@ -1816,7 +1820,7 @@
   readonly isNft: boolean;
   readonly asNft: Vec<UpDataStructsCreateNftExData>;
   readonly isFungible: boolean;
-  readonly asFungible: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr,u128>;
+  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;
   readonly isRefungibleMultipleItems: boolean;
   readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;
   readonly isRefungibleMultipleOwners: boolean;
@@ -1834,7 +1838,7 @@
 export interface UpDataStructsCreateNftExData extends Struct {
   readonly constData: Bytes;
   readonly variableData: Bytes;
-  readonly owner: PalletCommonAccountBasicCrossAccountIdRepr;
+  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
 }
 
 /** @name UpDataStructsCreateReFungibleData */
@@ -1848,7 +1852,7 @@
 export interface UpDataStructsCreateRefungibleExData extends Struct {
   readonly constData: Bytes;
   readonly variableData: Bytes;
-  readonly users: BTreeMap<PalletCommonAccountBasicCrossAccountIdRepr, u128>;
+  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
 }
 
 /** @name UpDataStructsMetaUpdatePermission */
modifiedtests/src/limits.test.tsdiffbeforeafterboth
--- a/tests/src/limits.test.ts
+++ b/tests/src/limits.test.ts
@@ -395,4 +395,73 @@
     expect(aliceBalanceAfterSponsoredTransaction1 < aliceBalanceBefore).to.be.true;
     //expect(aliceBalanceAfterSponsoredTransaction1).to.be.lessThan(aliceBalanceBefore);
   });
+  
+  it('Effective collection limits', async () => {
+    await usingApi(async (api) => {
+      const collectionId = await createCollectionExpectSuccess({mode: {type: 'NFT'}});
+      
+      { // Check that limits is undefined
+        const collection = await api.rpc.unique.collectionById(collectionId);
+        expect(collection.isSome).to.be.true;
+        const limits = collection.unwrap().limits;
+        expect(limits).to.be.any;
+        
+        expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.null;
+        expect(limits.sponsoredDataSize.toHuman()).to.be.null;
+        expect(limits.sponsoredDataRateLimit.toHuman()).to.be.null;
+        expect(limits.tokenLimit.toHuman()).to.be.null;
+        expect(limits.sponsorTransferTimeout.toHuman()).to.be.null;
+        expect(limits.sponsorApproveTimeout.toHuman()).to.be.null;
+        expect(limits.ownerCanTransfer.toHuman()).to.be.null;
+        expect(limits.ownerCanDestroy.toHuman()).to.be.null;
+        expect(limits.transfersEnabled.toHuman()).to.be.null;
+      }
+  
+      { // Check that limits is undefined for non-existent collection
+        const limits = await api.rpc.unique.effectiveCollectionLimits(11111);
+        expect(limits.toHuman()).to.be.null;
+      }
+  
+      { // Check that default values defined for collection limits
+        const limitsOpt = await api.rpc.unique.effectiveCollectionLimits(collectionId);
+        expect(limitsOpt.isNone).to.be.false;
+        const limits = limitsOpt.unwrap();
+  
+        expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.eq('100,000');
+        expect(limits.sponsoredDataSize.toHuman()).to.be.eq('2,048');
+        expect(limits.sponsoredDataRateLimit.toHuman()).to.be.eq('SponsoringDisabled');
+        expect(limits.tokenLimit.toHuman()).to.be.eq('4,294,967,295');
+        expect(limits.sponsorTransferTimeout.toHuman()).to.be.eq('5');
+        expect(limits.sponsorApproveTimeout.toHuman()).to.be.eq('5');
+        expect(limits.ownerCanTransfer.toHuman()).to.be.true;
+        expect(limits.ownerCanDestroy.toHuman()).to.be.true;
+        expect(limits.transfersEnabled.toHuman()).to.be.true;
+      }
+
+      { //Check the values for collection limits
+        await setCollectionLimitsExpectSuccess(alice, collectionId, {
+          accountTokenOwnershipLimit: 99_999,
+          sponsoredDataSize: 1024,
+          tokenLimit: 123,
+          transfersEnabled: false,
+        });
+
+        const limitsOpt = await api.rpc.unique.effectiveCollectionLimits(collectionId);
+        expect(limitsOpt.isNone).to.be.false;
+        const limits = limitsOpt.unwrap();
+  
+        expect(limits.accountTokenOwnershipLimit.toHuman()).to.be.eq('99,999');
+        expect(limits.sponsoredDataSize.toHuman()).to.be.eq('1,024');
+        expect(limits.sponsoredDataRateLimit.toHuman()).to.be.eq('SponsoringDisabled');
+        expect(limits.tokenLimit.toHuman()).to.be.eq('123');
+        expect(limits.sponsorTransferTimeout.toHuman()).to.be.eq('5');
+        expect(limits.sponsorApproveTimeout.toHuman()).to.be.eq('5');
+        expect(limits.ownerCanTransfer.toHuman()).to.be.true;
+        expect(limits.ownerCanDestroy.toHuman()).to.be.true;
+        expect(limits.transfersEnabled.toHuman()).to.be.false;
+      }
+    });
+  });
 });
+
+
addedtests/src/nextSponsoring.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/nextSponsoring.test.ts
@@ -0,0 +1,110 @@
+// 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 {ApiPromise} from '@polkadot/api';
+import {IKeyringPair} from '@polkadot/types/types';
+import chai from 'chai';
+import chaiAsPromised from 'chai-as-promised';
+import privateKey from './substrate/privateKey';
+import {default as usingApi} from './substrate/substrate-api';
+import {
+  createCollectionExpectSuccess,
+  setCollectionSponsorExpectSuccess,
+  confirmSponsorshipExpectSuccess,
+  createItemExpectSuccess,
+  transferExpectSuccess,
+  normalizeAccountId,
+  getNextSponsored,
+} from './util/helpers';
+
+chai.use(chaiAsPromised);
+const expect = chai.expect;
+
+
+
+describe('Integration Test getNextSponsored(collection_id, owner, item_id):', () => {
+  let alice: IKeyringPair;
+  let bob: IKeyringPair;
+
+  before(async () => {
+    await usingApi(async () => {
+      alice = privateKey('//Alice');
+      bob = privateKey('//Bob');
+    });
+  });
+
+  it('NFT', async () => {
+    await usingApi(async (api: ApiPromise) => {
+
+      // Not existing collection 
+      expect(await getNextSponsored(api, 0, normalizeAccountId(alice), 0)).to.be.equal(-1);
+
+      const collectionId = await createCollectionExpectSuccess();
+      const itemId = await createItemExpectSuccess(alice, collectionId, 'NFT', alice.address);
+
+      // Check with Disabled sponsoring state
+      expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(-1);
+      await setCollectionSponsorExpectSuccess(collectionId, bob.address);
+
+      // Check with Unconfirmed sponsoring state
+      expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(-1);
+      await confirmSponsorshipExpectSuccess(collectionId, '//Bob');
+
+      // Check with Confirmed sponsoring state
+      expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(0);
+
+      // After transfer
+      await transferExpectSuccess(collectionId, itemId, alice, bob, 1);
+      expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId)).to.be.equal(5);
+
+      // Not existing token 
+      expect(await getNextSponsored(api, collectionId, normalizeAccountId(alice), itemId+1)).to.be.equal(-1);
+    });
+  });
+
+  it('Fungible', async () => {
+    await usingApi(async (api: ApiPromise) => {
+
+      const createMode = 'Fungible';
+      const funCollectionId = await createCollectionExpectSuccess({mode: {type: createMode, decimalPoints: 0}});
+      await createItemExpectSuccess(alice, funCollectionId, createMode);
+      await setCollectionSponsorExpectSuccess(funCollectionId, bob.address);
+      await confirmSponsorshipExpectSuccess(funCollectionId, '//Bob');
+      expect(await getNextSponsored(api, funCollectionId, normalizeAccountId(alice), 0)).to.be.equal(0);
+
+      await transferExpectSuccess(funCollectionId, 0, alice, bob, 10, 'Fungible');
+      expect(await getNextSponsored(api, funCollectionId, normalizeAccountId(alice), 0)).to.be.equal(5);
+    });
+  });
+
+  it('ReFungible', async () => {
+    await usingApi(async (api: ApiPromise) => {
+
+      const createMode = 'ReFungible';
+      const refunCollectionId = await createCollectionExpectSuccess({mode: {type: createMode}});
+      const refunItemId = await createItemExpectSuccess(alice, refunCollectionId, createMode);
+      await setCollectionSponsorExpectSuccess(refunCollectionId, bob.address);
+      await confirmSponsorshipExpectSuccess(refunCollectionId, '//Bob');
+      expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId)).to.be.equal(0);
+
+      await transferExpectSuccess(refunCollectionId, refunItemId, alice, bob, 10, 'ReFungible');
+      expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId)).to.be.equal(5);
+
+      // Not existing token 
+      expect(await getNextSponsored(api, refunCollectionId, normalizeAccountId(alice), refunItemId+1)).to.be.equal(-1);
+    });
+  });
+});
modifiedtests/src/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/util/helpers.ts
+++ b/tests/src/util/helpers.ts
@@ -352,15 +352,12 @@
     // Run the CreateCollection transaction
     const alicePrivateKey = privateKey('//Alice');
     const tx = api.tx.unique.createCollectionEx({name: strToUTF16(name), description: strToUTF16(description), tokenPrefix: strToUTF16(tokenPrefix), mode: modeprm as any});
-    const events = await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
-    const result = getCreateCollectionResult(events);
+    await expect(submitTransactionExpectFailAsync(alicePrivateKey, tx)).to.be.rejected;
 
     // Get number of collections after the transaction
     const collectionCountAfter = await getCreatedCollectionCount(api);
 
     // What to expect
-    // tslint:disable-next-line:no-unused-expression
-    expect(result.success).to.be.false;
     expect(collectionCountAfter).to.be.equal(collectionCountBefore, 'Error: Collection with incorrect data created.');
   });
 }
@@ -619,6 +616,15 @@
   });
 }
 
+export async function getNextSponsored(
+  api: ApiPromise,
+  collectionId: number,
+  account: string | CrossAccountId,
+  tokenId: number,
+): Promise<number> {
+  return Number((await api.rpc.unique.nextSponsored(collectionId, account, tokenId)).unwrapOr(-1));
+}
+
 export async function toggleContractAllowlistExpectSuccess(sender: IKeyringPair, contractAddress: AccountId | string, value = true) {
   await usingApi(async (api) => {
     const tx = api.tx.unique.toggleContractAllowList(contractAddress, value);
@@ -847,6 +853,13 @@
   return balance;
 }
 
+export async function transferBalanceTo(api: ApiPromise, source: IKeyringPair, target: string, amount = 1000n * UNIQUE) {
+  const tx = api.tx.balances.transfer(target, amount);
+  const events = await submitTransactionAsync(source, tx);
+  const result = getGenericResult(events);
+  expect(result.success).to.be.true;
+}
+
 export async function
 scheduleTransferExpectSuccess(
   collectionId: number,