git.delta.rocks / unique-network / refs/commits / 7a315e30a826

difftreelog

merge develop into test/playground-migration

rkv2022-10-04parents: #4b0f7ea #e9e910f.patch.diff
in: master

114 files changed

modified.maintain/frame-weight-template.hbsdiffbeforeafterboth
--- a/.maintain/frame-weight-template.hbs
+++ b/.maintain/frame-weight-template.hbs
@@ -47,22 +47,22 @@
 		{{~#each benchmark.components as |c| ~}}
 		{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
 	) -> Weight {
-		({{underscore benchmark.base_weight}} as Weight)
+		Weight::from_ref_time({{underscore benchmark.base_weight}} as u64)
 			{{#each benchmark.component_weight as |cw|}}
 			// Standard Error: {{underscore cw.error}}
-			.saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
+			.saturating_add(Weight::from_ref_time({{underscore cw.slope}} as u64).saturating_mul({{cw.name}} as u64))
 			{{/each}}
 			{{#if (ne benchmark.base_reads "0")}}
-			.saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as Weight))
+			.saturating_add(T::DbWeight::get().reads({{benchmark.base_reads}} as u64))
 			{{/if}}
 			{{#each benchmark.component_reads as |cr|}}
-			.saturating_add(T::DbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
+			.saturating_add(T::DbWeight::get().reads(({{cr.slope}} as u64).saturating_mul({{cr.name}} as u64)))
 			{{/each}}
 			{{#if (ne benchmark.base_writes "0")}}
-			.saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as Weight))
+			.saturating_add(T::DbWeight::get().writes({{benchmark.base_writes}} as u64))
 			{{/if}}
 			{{#each benchmark.component_writes as |cw|}}
-			.saturating_add(T::DbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
+			.saturating_add(T::DbWeight::get().writes(({{cw.slope}} as u64).saturating_mul({{cw.name}} as u64)))
 			{{/each}}
 	}
 	{{/each}}
@@ -79,22 +79,22 @@
 		{{~#each benchmark.components as |c| ~}}
 		{{~#if (not c.is_used)}}_{{/if}}{{c.name}}: u32, {{/each~}}
 	) -> Weight {
-		({{underscore benchmark.base_weight}} as Weight)
+		Weight::from_ref_time({{underscore benchmark.base_weight}} as u64)
 			{{#each benchmark.component_weight as |cw|}}
 			// Standard Error: {{underscore cw.error}}
-			.saturating_add(({{underscore cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight))
+			.saturating_add(Weight::from_ref_time({{underscore cw.slope}} as u64).saturating_mul({{cw.name}} as u64))
 			{{/each}}
 			{{#if (ne benchmark.base_reads "0")}}
-			.saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as Weight))
+			.saturating_add(RocksDbWeight::get().reads({{benchmark.base_reads}} as u64))
 			{{/if}}
 			{{#each benchmark.component_reads as |cr|}}
-			.saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as Weight).saturating_mul({{cr.name}} as Weight)))
+			.saturating_add(RocksDbWeight::get().reads(({{cr.slope}} as u64).saturating_mul({{cr.name}} as u64)))
 			{{/each}}
 			{{#if (ne benchmark.base_writes "0")}}
-			.saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as Weight))
+			.saturating_add(RocksDbWeight::get().writes({{benchmark.base_writes}} as u64))
 			{{/if}}
 			{{#each benchmark.component_writes as |cw|}}
-			.saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as Weight).saturating_mul({{cw.name}} as Weight)))
+			.saturating_add(RocksDbWeight::get().writes(({{cw.slope}} as u64).saturating_mul({{cw.name}} as u64)))
 			{{/each}}
 	}
 	{{/each}}
modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -75,9 +75,9 @@
 
 [[package]]
 name = "aho-corasick"
-version = "0.7.18"
+version = "0.7.19"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
+checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
 dependencies = [
  "memchr",
 ]
@@ -90,9 +90,9 @@
 
 [[package]]
 name = "android_system_properties"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7ed72e1635e121ca3e79420540282af22da58be50de153d36f81ddc6b83aa9e"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
 dependencies = [
  "libc",
 ]
@@ -108,9 +108,9 @@
 
 [[package]]
 name = "anyhow"
-version = "1.0.61"
+version = "1.0.65"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "508b352bb5c066aac251f6daf6b36eccd03e8a88e8081cd44959ea277a3af9a8"
+checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
 
 [[package]]
 name = "app-promotion-rpc"
@@ -118,7 +118,7 @@
 dependencies = [
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-core",
  "sp-runtime",
@@ -211,9 +211,9 @@
 
 [[package]]
 name = "async-global-executor"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5262ed948da60dd8956c6c5aca4d4163593dddb7b32d73267c93dab7b2e98940"
+checksum = "0da5b41ee986eed3f524c380e6d64965aea573882a8907682ad100f7859305ca"
 dependencies = [
  "async-channel",
  "async-executor",
@@ -221,16 +221,16 @@
  "async-lock",
  "blocking",
  "futures-lite",
- "num_cpus",
  "once_cell",
 ]
 
 [[package]]
 name = "async-io"
-version = "1.7.0"
+version = "1.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e5e18f61464ae81cde0a23e713ae8fd299580c54d697a35820cfd0625b8b0e07"
+checksum = "83e21f3a490c72b3b0cf44962180e60045de2925d8dff97918f7ee43c8f637c7"
 dependencies = [
+ "autocfg",
  "concurrent-queue",
  "futures-lite",
  "libc",
@@ -255,11 +255,12 @@
 
 [[package]]
 name = "async-process"
-version = "1.4.0"
+version = "1.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf2c06e30a24e8c78a3987d07f0930edf76ef35e027e7bdb063fccafdad1f60c"
+checksum = "02111fd8655a613c25069ea89fc8d9bb89331fa77486eb3bc059ee757cfa481c"
 dependencies = [
  "async-io",
+ "autocfg",
  "blocking",
  "cfg-if 1.0.0",
  "event-listener",
@@ -443,18 +444,20 @@
 [[package]]
 name = "beefy-gadget"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
+ "async-trait",
  "beefy-primitives",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "hex",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-chain-spec",
  "sc-client-api",
+ "sc-consensus",
  "sc-finality-grandpa",
  "sc-keystore",
  "sc-network",
@@ -477,14 +480,14 @@
 [[package]]
 name = "beefy-gadget-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "beefy-gadget",
  "beefy-primitives",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-rpc",
  "sc-utils",
@@ -497,7 +500,7 @@
 [[package]]
 name = "beefy-merkle-tree"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "beefy-primitives",
  "sp-api",
@@ -506,9 +509,9 @@
 [[package]]
 name = "beefy-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -587,7 +590,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "b9cf849ee05b2ee5fba5e36f97ff8ec2533916700fc0758d40d92136a42f3388"
 dependencies = [
- "digest 0.10.3",
+ "digest 0.10.5",
 ]
 
 [[package]]
@@ -633,7 +636,7 @@
  "cc",
  "cfg-if 1.0.0",
  "constant_time_eq",
- "digest 0.10.3",
+ "digest 0.10.5",
 ]
 
 [[package]]
@@ -660,9 +663,9 @@
 
 [[package]]
 name = "block-buffer"
-version = "0.10.2"
+version = "0.10.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324"
+checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e"
 dependencies = [
  "generic-array 0.14.6",
 ]
@@ -751,9 +754,9 @@
 
 [[package]]
 name = "bumpalo"
-version = "3.10.0"
+version = "3.11.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37ccbd214614c6783386c1af30caf03192f17891059cecc394b4fb119e363de3"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
 
 [[package]]
 name = "byte-slice-cast"
@@ -822,7 +825,7 @@
 dependencies = [
  "camino",
  "cargo-platform",
- "semver 1.0.13",
+ "semver 1.0.14",
  "serde",
  "serde_json",
 ]
@@ -846,6 +849,15 @@
 ]
 
 [[package]]
+name = "cfg-expr"
+version = "0.10.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db"
+dependencies = [
+ "smallvec",
+]
+
+[[package]]
 name = "cfg-if"
 version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -936,9 +948,9 @@
 
 [[package]]
 name = "clang-sys"
-version = "1.3.3"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5a050e2153c5be08febd6734e29298e844fdb0fa21aeddd63b4eb7baa106c69b"
+checksum = "fa2e27ae6ab525c3d369ded447057bca5438d86dc3a68f6faafb8269ba82ebf3"
 dependencies = [
  "glob",
  "libc",
@@ -947,9 +959,9 @@
 
 [[package]]
 name = "clap"
-version = "3.2.17"
+version = "3.2.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29e724a68d9319343bb3328c9cc2dfde263f4b3142ee1059a9980580171c954b"
+checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750"
 dependencies = [
  "atty",
  "bitflags",
@@ -964,9 +976,9 @@
 
 [[package]]
 name = "clap_derive"
-version = "3.2.17"
+version = "3.2.18"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13547f7012c01ab4a0e8f8967730ada8f9fdf419e8b6c792788f39cf4e46eefa"
+checksum = "ea0c8bce528c4be4da13ea6fead8965e95b6073585a2f05204bd8f4119f82a65"
 dependencies = [
  "heck",
  "proc-macro-error",
@@ -1007,9 +1019,9 @@
 
 [[package]]
 name = "comfy-table"
-version = "6.0.0"
+version = "6.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "121d8a5b0346092c18a4b2fd6f620d7a06f0eb7ac0a45860939a0884bc579c56"
+checksum = "85914173c2f558d61613bfbbf1911f14e630895087a7ed2fafc0f5319e1536e7"
 dependencies = [
  "strum",
  "strum_macros",
@@ -1079,9 +1091,9 @@
 
 [[package]]
 name = "cpufeatures"
-version = "0.2.2"
+version = "0.2.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
 dependencies = [
  "libc",
 ]
@@ -1214,15 +1226,14 @@
 
 [[package]]
 name = "crossbeam-epoch"
-version = "0.9.10"
+version = "0.9.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
+checksum = "f916dfc5d356b0ed9dae65f1db9fc9770aa2851d2662b988ccf4fe3516e86348"
 dependencies = [
  "autocfg",
  "cfg-if 1.0.0",
  "crossbeam-utils",
  "memoffset",
- "once_cell",
  "scopeguard",
 ]
 
@@ -1238,12 +1249,11 @@
 
 [[package]]
 name = "crossbeam-utils"
-version = "0.8.11"
+version = "0.8.12"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
+checksum = "edbafec5fa1f196ca66527c1b12c2ec4745ca14b50f1ad8f9f6f720b55d11fac"
 dependencies = [
  "cfg-if 1.0.0",
- "once_cell",
 ]
 
 [[package]]
@@ -1259,7 +1269,7 @@
 checksum = "03c6a1d5fa1de37e071642dfa44ec552ca5b299adb128fab16138e24b548fd21"
 dependencies = [
  "generic-array 0.14.6",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "subtle",
  "zeroize",
 ]
@@ -1327,10 +1337,10 @@
 [[package]]
 name = "cumulus-client-cli"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "clap",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-chain-spec",
  "sc-cli",
  "sc-service",
@@ -1342,14 +1352,14 @@
 [[package]]
 name = "cumulus-client-collator"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-client-consensus-common",
  "cumulus-client-network",
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -1366,13 +1376,13 @@
 [[package]]
 name = "cumulus-client-consensus-aura"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-client-consensus-common",
  "cumulus-primitives-core",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-aura",
@@ -1395,13 +1405,13 @@
 [[package]]
 name = "cumulus-client-consensus-common"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-relay-chain-interface",
  "dyn-clone",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "sc-client-api",
  "sc-consensus",
@@ -1416,14 +1426,14 @@
 [[package]]
 name = "cumulus-client-network"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-relay-chain-interface",
  "derive_more",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-node-primitives",
  "polkadot-parachain",
@@ -1441,13 +1451,13 @@
 [[package]]
 name = "cumulus-client-pov-recovery"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-overseer",
@@ -1465,7 +1475,7 @@
 [[package]]
 name = "cumulus-client-service"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-client-cli",
  "cumulus-client-collator",
@@ -1493,13 +1503,13 @@
 [[package]]
 name = "cumulus-pallet-aura-ext"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "frame-executive",
  "frame-support",
  "frame-system",
  "pallet-aura",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-application-crypto",
@@ -1511,13 +1521,13 @@
 [[package]]
 name = "cumulus-pallet-dmp-queue"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -1529,8 +1539,9 @@
 [[package]]
 name = "cumulus-pallet-parachain-system"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
+ "bytes",
  "cumulus-pallet-parachain-system-proc-macro",
  "cumulus-primitives-core",
  "cumulus-primitives-parachain-inherent",
@@ -1540,7 +1551,7 @@
  "impl-trait-for-tuples",
  "log",
  "pallet-balances",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "scale-info",
  "serde",
@@ -1559,7 +1570,7 @@
 [[package]]
 name = "cumulus-pallet-parachain-system-proc-macro"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -1570,12 +1581,12 @@
 [[package]]
 name = "cumulus-pallet-xcm"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -1587,13 +1598,13 @@
 [[package]]
 name = "cumulus-pallet-xcmp-queue"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand_chacha 0.3.1",
  "scale-info",
  "sp-runtime",
@@ -1605,10 +1616,10 @@
 [[package]]
 name = "cumulus-primitives-core"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "frame-support",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1621,13 +1632,13 @@
 [[package]]
 name = "cumulus-primitives-parachain-inherent"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
  "cumulus-test-relay-sproof-builder",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "scale-info",
  "sp-api",
@@ -1644,11 +1655,11 @@
 [[package]]
 name = "cumulus-primitives-timestamp"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "sp-inherents",
  "sp-std",
  "sp-timestamp",
@@ -1657,11 +1668,12 @@
 [[package]]
 name = "cumulus-primitives-utility"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
- "parity-scale-codec 3.1.5",
+ "log",
+ "parity-scale-codec 3.2.1",
  "polkadot-core-primitives",
  "polkadot-parachain",
  "polkadot-primitives",
@@ -1676,14 +1688,13 @@
 [[package]]
 name = "cumulus-relay-chain-inprocess-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
- "parking_lot 0.12.1",
  "polkadot-cli",
  "polkadot-client",
  "polkadot-service",
@@ -1706,14 +1717,14 @@
 [[package]]
 name = "cumulus-relay-chain-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "cumulus-primitives-core",
  "derive_more",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee-core",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-overseer",
  "polkadot-service",
@@ -1729,16 +1740,16 @@
 [[package]]
 name = "cumulus-relay-chain-rpc-interface"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "async-trait",
  "backoff",
  "cumulus-primitives-core",
  "cumulus-relay-chain-interface",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "jsonrpsee",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-service",
  "sc-client-api",
@@ -1756,10 +1767,10 @@
 [[package]]
 name = "cumulus-test-relay-sproof-builder"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "sp-runtime",
  "sp-state-machine",
@@ -1800,7 +1811,7 @@
 dependencies = [
  "byteorder",
  "digest 0.9.0",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "subtle",
  "zeroize",
 ]
@@ -1884,11 +1895,11 @@
 
 [[package]]
 name = "digest"
-version = "0.10.3"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506"
+checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c"
 dependencies = [
- "block-buffer 0.10.2",
+ "block-buffer 0.10.3",
  "crypto-common",
  "subtle",
 ]
@@ -2019,10 +2030,24 @@
 ]
 
 [[package]]
+name = "ed25519-zebra"
+version = "3.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "403ef3e961ab98f0ba902771d29f842058578bb1ce7e3c59dad5a6a93e784c69"
+dependencies = [
+ "curve25519-dalek 3.2.0",
+ "hex",
+ "rand_core 0.6.4",
+ "sha2 0.9.9",
+ "thiserror",
+ "zeroize",
+]
+
+[[package]]
 name = "either"
-version = "1.7.0"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f107b87b6afc2a64fd13cac55fe06d6c8859f12d4b14cbcdd2c67d0976781be"
+checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
 
 [[package]]
 name = "elliptic-curve"
@@ -2036,7 +2061,7 @@
  "ff",
  "generic-array 0.14.6",
  "group",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "sec1",
  "subtle",
  "zeroize",
@@ -2087,9 +2112,9 @@
 
 [[package]]
 name = "env_logger"
-version = "0.9.0"
+version = "0.9.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
+checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272"
 dependencies = [
  "atty",
  "humantime",
@@ -2150,12 +2175,12 @@
  "ethereum-types",
  "hash-db",
  "hash256-std-hasher",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rlp",
  "rlp-derive",
  "scale-info",
  "serde",
- "sha3 0.10.2",
+ "sha3 0.10.5",
  "triehash",
 ]
 
@@ -2184,7 +2209,7 @@
 [[package]]
 name = "evm"
 version = "0.35.0"
-source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.27#e9252ed42dc26fc85b6703b1ba50660a08209e55"
+source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.29#e9252ed42dc26fc85b6703b1ba50660a08209e55"
 dependencies = [
  "auto_impl",
  "environmental",
@@ -2193,12 +2218,12 @@
  "evm-gasometer",
  "evm-runtime",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "primitive-types",
  "rlp",
  "scale-info",
  "serde",
- "sha3 0.10.2",
+ "sha3 0.10.5",
 ]
 
 [[package]]
@@ -2208,6 +2233,7 @@
  "ethereum",
  "evm-coder-procedural",
  "evm-core",
+ "frame-support",
  "hex",
  "hex-literal",
  "impl-trait-for-tuples",
@@ -2223,16 +2249,16 @@
  "hex",
  "proc-macro2",
  "quote",
- "sha3 0.10.2",
+ "sha3 0.10.5",
  "syn",
 ]
 
 [[package]]
 name = "evm-core"
 version = "0.35.0"
-source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.27#e9252ed42dc26fc85b6703b1ba50660a08209e55"
+source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.29#e9252ed42dc26fc85b6703b1ba50660a08209e55"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "primitive-types",
  "scale-info",
  "serde",
@@ -2241,7 +2267,7 @@
 [[package]]
 name = "evm-gasometer"
 version = "0.35.0"
-source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.27#e9252ed42dc26fc85b6703b1ba50660a08209e55"
+source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.29#e9252ed42dc26fc85b6703b1ba50660a08209e55"
 dependencies = [
  "environmental",
  "evm-core",
@@ -2252,13 +2278,13 @@
 [[package]]
 name = "evm-runtime"
 version = "0.35.0"
-source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.27#e9252ed42dc26fc85b6703b1ba50660a08209e55"
+source = "git+https://github.com/uniquenetwork/evm?branch=unique-polkadot-v0.9.29#e9252ed42dc26fc85b6703b1ba50660a08209e55"
 dependencies = [
  "auto_impl",
  "environmental",
  "evm-core",
  "primitive-types",
- "sha3 0.10.2",
+ "sha3 0.10.5",
 ]
 
 [[package]]
@@ -2267,7 +2293,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e43f2f1833d64e33f15592464d6fdd70f349dda7b1a53088eb83cd94014008c5"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
 ]
 
 [[package]]
@@ -2344,7 +2370,7 @@
 [[package]]
 name = "fc-consensus"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "async-trait",
  "fc-db",
@@ -2363,12 +2389,12 @@
 [[package]]
 name = "fc-db"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "fp-storage",
  "kvdb-rocksdb",
  "parity-db",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-client-db",
  "sp-core",
@@ -2379,12 +2405,12 @@
 [[package]]
 name = "fc-mapping-sync"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "fc-db",
  "fp-consensus",
  "fp-rpc",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
  "sc-client-api",
@@ -2396,7 +2422,7 @@
 [[package]]
 name = "fc-rpc"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -2405,19 +2431,20 @@
  "fc-rpc-core",
  "fp-rpc",
  "fp-storage",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex",
  "jsonrpsee",
  "libsecp256k1",
  "log",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "prometheus",
  "rand 0.8.5",
  "rlp",
  "rustc-hex",
  "sc-client-api",
  "sc-network",
+ "sc-network-common",
  "sc-rpc",
  "sc-service",
  "sc-transaction-pool",
@@ -2425,6 +2452,7 @@
  "sp-api",
  "sp-block-builder",
  "sp-blockchain",
+ "sp-consensus",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -2436,7 +2464,7 @@
 [[package]]
 name = "fc-rpc-core"
 version = "1.1.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -2462,7 +2490,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "131655483be284720a17d74ff97592b8e76576dc25563148601df2d7c9080924"
 dependencies = [
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "subtle",
 ]
 
@@ -2495,11 +2523,11 @@
 checksum = "b22349c6a11563a202d95772a68e0fcf56119e74ea8a2a19cf2301460fcd0df5"
 dependencies = [
  "either",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
  "num-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "scale-info",
 ]
@@ -2559,28 +2587,27 @@
 [[package]]
 name = "fork-tree"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
 ]
 
 [[package]]
 name = "form_urlencoded"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
 dependencies = [
- "matches",
  "percent-encoding",
 ]
 
 [[package]]
 name = "fp-consensus"
 version = "2.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -2589,12 +2616,12 @@
 [[package]]
 name = "fp-evm"
 version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "evm",
  "frame-support",
  "impl-trait-for-tuples",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "serde",
  "sp-core",
  "sp-std",
@@ -2603,7 +2630,7 @@
 [[package]]
 name = "fp-evm-mapping"
 version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "frame-support",
  "sp-core",
@@ -2612,12 +2639,12 @@
 [[package]]
 name = "fp-rpc"
 version = "3.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
  "ethereum-types",
  "fp-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -2629,11 +2656,11 @@
 [[package]]
 name = "fp-self-contained"
 version = "1.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
  "frame-support",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "scale-info",
  "serde",
@@ -2645,26 +2672,27 @@
 [[package]]
 name = "fp-storage"
 version = "2.0.0"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
 ]
 
 [[package]]
 name = "frame-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "linregress",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "paste",
  "scale-info",
  "serde",
  "sp-api",
  "sp-application-crypto",
+ "sp-core",
  "sp-io",
  "sp-runtime",
  "sp-runtime-interface",
@@ -2675,7 +2703,7 @@
 [[package]]
 name = "frame-benchmarking-cli"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "Inflector",
  "chrono",
@@ -2694,7 +2722,7 @@
  "linked-hash-map",
  "log",
  "memory-db",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand 0.8.5",
  "rand_pcg 0.3.1",
  "sc-block-builder",
@@ -2726,7 +2754,7 @@
 [[package]]
 name = "frame-election-provider-solution-type"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -2737,12 +2765,12 @@
 [[package]]
 name = "frame-election-provider-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-election-provider-solution-type",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-arithmetic",
  "sp-npos-elections",
@@ -2753,11 +2781,12 @@
 [[package]]
 name = "frame-executive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "frame-try-runtime",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -2773,7 +2802,7 @@
 checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d"
 dependencies = [
  "cfg-if 1.0.0",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
 ]
@@ -2781,7 +2810,7 @@
 [[package]]
 name = "frame-support"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "bitflags",
  "frame-metadata",
@@ -2790,11 +2819,12 @@
  "k256",
  "log",
  "once_cell",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "paste",
  "scale-info",
  "serde",
  "smallvec",
+ "sp-api",
  "sp-arithmetic",
  "sp-core",
  "sp-core-hashing-proc-macro",
@@ -2811,10 +2841,12 @@
 [[package]]
 name = "frame-support-procedural"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "Inflector",
+ "cfg-expr",
  "frame-support-procedural-tools",
+ "itertools",
  "proc-macro2",
  "quote",
  "syn",
@@ -2823,7 +2855,7 @@
 [[package]]
 name = "frame-support-procedural-tools"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support-procedural-tools-derive",
  "proc-macro-crate",
@@ -2835,7 +2867,7 @@
 [[package]]
 name = "frame-support-procedural-tools-derive"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -2845,11 +2877,11 @@
 [[package]]
 name = "frame-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -2862,12 +2894,12 @@
 [[package]]
 name = "frame-system-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -2877,18 +2909,19 @@
 [[package]]
 name = "frame-system-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
 ]
 
 [[package]]
 name = "frame-try-runtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-runtime",
  "sp-std",
@@ -2896,9 +2929,9 @@
 
 [[package]]
 name = "fs-err"
-version = "2.7.0"
+version = "2.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5bd79fa345a495d3ae89fb7165fec01c0e72f41821d642dda363a1e97975652e"
+checksum = "64db3e262960f0662f43a6366788d5f10f7f244b8f7d7d987f560baf5ded5c50"
 
 [[package]]
 name = "fs-swap"
@@ -2948,9 +2981,9 @@
 
 [[package]]
 name = "futures"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ab30e97ab6aacfe635fad58f22c2bb06c8b685f7421eb1e064a729e2a5f481fa"
+checksum = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c"
 dependencies = [
  "futures-channel",
  "futures-core",
@@ -2963,9 +2996,9 @@
 
 [[package]]
 name = "futures-channel"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bfc52cbddcfd745bf1740338492bb0bd83d76c67b445f91c5fb29fae29ecaa1"
+checksum = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050"
 dependencies = [
  "futures-core",
  "futures-sink",
@@ -2973,15 +3006,15 @@
 
 [[package]]
 name = "futures-core"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2acedae88d38235936c3922476b10fced7b2b68136f5e3c03c2d5be348a1115"
+checksum = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf"
 
 [[package]]
 name = "futures-executor"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d11aa21b5b587a64682c0094c2bdd4df0076c5324961a40cc3abd7f37930528"
+checksum = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab"
 dependencies = [
  "futures-core",
  "futures-task",
@@ -2991,9 +3024,9 @@
 
 [[package]]
 name = "futures-io"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93a66fc6d035a26a3ae255a6d2bca35eda63ae4c5512bef54449113f7a1228e5"
+checksum = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68"
 
 [[package]]
 name = "futures-lite"
@@ -3012,9 +3045,9 @@
 
 [[package]]
 name = "futures-macro"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0db9cce532b0eae2ccf2766ab246f114b56b9cf6d445e00c2549fbc100ca045d"
+checksum = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -3034,15 +3067,15 @@
 
 [[package]]
 name = "futures-sink"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca0bae1fe9752cf7fd9b0064c674ae63f97b37bc714d745cbde0afb7ec4e6765"
+checksum = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56"
 
 [[package]]
 name = "futures-task"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "842fc63b931f4056a24d59de13fb1272134ce261816e063e634ad0c15cdc5306"
+checksum = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1"
 
 [[package]]
 name = "futures-timer"
@@ -3052,9 +3085,9 @@
 
 [[package]]
 name = "futures-util"
-version = "0.3.23"
+version = "0.3.24"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f0828a5471e340229c11c77ca80017937ce3c58cb788a17e5f1c2d5c485a9577"
+checksum = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90"
 dependencies = [
  "futures 0.1.31",
  "futures-channel",
@@ -3190,15 +3223,15 @@
 checksum = "bc5ac374b108929de78460075f3dc439fa66df9d8fc77e8f12caa5165fcf0c89"
 dependencies = [
  "ff",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "subtle",
 ]
 
 [[package]]
 name = "h2"
-version = "0.3.13"
+version = "0.3.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
+checksum = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be"
 dependencies = [
  "bytes",
  "fnv",
@@ -3215,9 +3248,9 @@
 
 [[package]]
 name = "handlebars"
-version = "4.3.3"
+version = "4.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "360d9740069b2f6cbb63ce2dbaa71a20d3185350cbb990d7bebeb9318415eb17"
+checksum = "56b224eaa4987c03c30b251de7ef0c15a6a59f34222905850dbc3026dfb24d5f"
 dependencies = [
  "log",
  "pest",
@@ -3359,9 +3392,9 @@
 
 [[package]]
 name = "httparse"
-version = "1.7.1"
+version = "1.8.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c"
+checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
 
 [[package]]
 name = "httpdate"
@@ -3416,9 +3449,9 @@
 
 [[package]]
 name = "iana-time-zone"
-version = "0.1.45"
+version = "0.1.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef5528d9c2817db4e10cc78f8d4c8228906e5854f389ff6b076cee3572a09d35"
+checksum = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0"
 dependencies = [
  "android_system_properties",
  "core-foundation-sys",
@@ -3439,6 +3472,16 @@
 ]
 
 [[package]]
+name = "idna"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+dependencies = [
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
 name = "if-addrs"
 version = "0.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -3457,7 +3500,7 @@
  "async-io",
  "core-foundation",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "if-addrs",
  "ipnet",
  "log",
@@ -3472,7 +3515,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ba6a270039626615617f3f36d15fc827041df3b78c439da2cadfa47455a77f2f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
 ]
 
 [[package]]
@@ -3547,9 +3590,9 @@
 
 [[package]]
 name = "io-lifetimes"
-version = "0.7.2"
+version = "0.7.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24c3f4eff5495aee4c0399d7b6a0dc2b6e81be84242ffbfcf253ebacccc1d0cb"
+checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06"
 
 [[package]]
 name = "ip_network"
@@ -3577,9 +3620,9 @@
 
 [[package]]
 name = "itertools"
-version = "0.10.3"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3"
+checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
 dependencies = [
  "either",
 ]
@@ -3598,26 +3641,27 @@
 
 [[package]]
 name = "jobserver"
-version = "0.1.24"
+version = "0.1.25"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa"
+checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b"
 dependencies = [
  "libc",
 ]
 
 [[package]]
 name = "js-sys"
-version = "0.3.59"
+version = "0.3.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
 dependencies = [
  "wasm-bindgen",
 ]
 
 [[package]]
 name = "jsonrpsee"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8bd0d559d5e679b1ab2f869b486a11182923863b1b3ee8b421763cdd707b783a"
 dependencies = [
  "jsonrpsee-core",
  "jsonrpsee-http-server",
@@ -3630,8 +3674,9 @@
 
 [[package]]
 name = "jsonrpsee-client-transport"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8752740ecd374bcbf8b69f3e80b0327942df76f793f8d4e60d3355650c31fb74"
 dependencies = [
  "futures-util",
  "http",
@@ -3650,8 +3695,9 @@
 
 [[package]]
 name = "jsonrpsee-core"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f3dc3e9cf2ba50b7b1d7d76a667619f82846caa39e8e8daa8a4962d74acaddca"
 dependencies = [
  "anyhow",
  "arrayvec 0.7.2",
@@ -3662,6 +3708,7 @@
  "futures-timer",
  "futures-util",
  "globset",
+ "http",
  "hyper",
  "jsonrpsee-types",
  "lazy_static",
@@ -3674,13 +3721,15 @@
  "thiserror",
  "tokio",
  "tracing",
+ "tracing-futures",
  "unicase",
 ]
 
 [[package]]
 name = "jsonrpsee-http-server"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "03802f0373a38c2420c70b5144742d800b509e2937edc4afb116434f07120117"
 dependencies = [
  "futures-channel",
  "futures-util",
@@ -3691,12 +3740,14 @@
  "serde_json",
  "tokio",
  "tracing",
+ "tracing-futures",
 ]
 
 [[package]]
 name = "jsonrpsee-proc-macros"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd67957d4280217247588ac86614ead007b301ca2fa9f19c19f880a536f029e3"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -3706,8 +3757,9 @@
 
 [[package]]
 name = "jsonrpsee-types"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e290bba767401b646812f608c099b922d8142603c9e73a50fb192d3ac86f4a0d"
 dependencies = [
  "anyhow",
  "beef",
@@ -3719,9 +3771,11 @@
 
 [[package]]
 name = "jsonrpsee-ws-client"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ee5feddd5188e62ac08fcf0e56478138e581509d4730f3f7be9b57dd402a4ff"
 dependencies = [
+ "http",
  "jsonrpsee-client-transport",
  "jsonrpsee-core",
  "jsonrpsee-types",
@@ -3729,11 +3783,13 @@
 
 [[package]]
 name = "jsonrpsee-ws-server"
-version = "0.14.0"
-source = "git+https://github.com/uniquenetwork/jsonrpsee?branch=unique-v0.14.0-fix-unknown-fields#01bb8a7ec51880c79206bdcac4f09d54e58b2da8"
+version = "0.15.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d488ba74fb369e5ab68926feb75a483458b88e768d44319f37e4ecad283c7325"
 dependencies = [
  "futures-channel",
  "futures-util",
+ "http",
  "jsonrpsee-core",
  "jsonrpsee-types",
  "serde_json",
@@ -3742,6 +3798,7 @@
  "tokio-stream",
  "tokio-util",
  "tracing",
+ "tracing-futures",
 ]
 
 [[package]]
@@ -3764,8 +3821,8 @@
 
 [[package]]
 name = "kusama-runtime"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "bitvec 1.0.1",
@@ -3822,7 +3879,7 @@
  "pallet-vesting",
  "pallet-xcm",
  "pallet-xcm-benchmarks",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "polkadot-runtime-parachains",
@@ -3857,8 +3914,8 @@
 
 [[package]]
 name = "kusama-runtime-constants"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -3929,9 +3986,9 @@
 
 [[package]]
 name = "libc"
-version = "0.2.131"
+version = "0.2.134"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04c3b4822ccebfa39c02fc03d1534441b22ead323fa0f48bb7ddd8e6ba076a40"
+checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
 
 [[package]]
 name = "libloading"
@@ -3966,7 +4023,7 @@
 checksum = "81327106887e42d004fbdab1fef93675be2e2e07c1b95fce45e2cc813485611d"
 dependencies = [
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "getrandom 0.2.7",
  "instant",
@@ -4010,7 +4067,7 @@
 checksum = "4decc51f3573653a9f4ecacb31b1b922dd20c25a6322bb15318ec04287ec46f9"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4033,7 +4090,7 @@
  "ed25519-dalek",
  "either",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "lazy_static",
@@ -4049,7 +4106,7 @@
  "rand 0.8.5",
  "ring",
  "rw-stream-sink",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "smallvec",
  "thiserror",
  "unsigned-varint",
@@ -4064,7 +4121,7 @@
 checksum = "d0183dc2a3da1fbbf85e5b6cf51217f55b14f5daea0c455a9536eef646bfec71"
 dependencies = [
  "flate2",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
 ]
 
@@ -4075,7 +4132,7 @@
 checksum = "6cbf54723250fa5d521383be789bf60efdabe6bacfb443f87da261019a49b4b5"
 dependencies = [
  "async-std-resolver",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "log",
  "parking_lot 0.12.1",
@@ -4091,7 +4148,7 @@
 dependencies = [
  "cuckoofilter",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "libp2p-swarm",
  "log",
@@ -4112,7 +4169,7 @@
  "byteorder",
  "bytes",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex_fmt",
  "instant",
  "libp2p-core",
@@ -4123,7 +4180,7 @@
  "prost-build",
  "rand 0.7.3",
  "regex",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "smallvec",
  "unsigned-varint",
  "wasm-timer",
@@ -4136,7 +4193,7 @@
 checksum = "c50b585518f8efd06f93ac2f976bd672e17cdac794644b3117edd078e96bda06"
 dependencies = [
  "asynchronous-codec",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "libp2p-core",
  "libp2p-swarm",
@@ -4161,7 +4218,7 @@
  "bytes",
  "either",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4170,7 +4227,7 @@
  "prost",
  "prost-build",
  "rand 0.7.3",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "smallvec",
  "thiserror",
  "uint",
@@ -4187,7 +4244,7 @@
  "async-io",
  "data-encoding",
  "dns-parser",
- "futures 0.3.23",
+ "futures 0.3.24",
  "if-watch",
  "lazy_static",
  "libp2p-core",
@@ -4223,7 +4280,7 @@
 dependencies = [
  "asynchronous-codec",
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "log",
  "nohash-hasher",
@@ -4241,14 +4298,14 @@
 dependencies = [
  "bytes",
  "curve25519-dalek 3.2.0",
- "futures 0.3.23",
+ "futures 0.3.24",
  "lazy_static",
  "libp2p-core",
  "log",
  "prost",
  "prost-build",
  "rand 0.8.5",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "snow",
  "static_assertions",
  "x25519-dalek",
@@ -4261,7 +4318,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "100a6934ae1dbf8a693a4e7dd1d730fd60b774dafc45688ed63b554497c6c925"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4279,7 +4336,7 @@
 dependencies = [
  "asynchronous-codec",
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "log",
  "prost",
@@ -4294,7 +4351,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "0f1a458bbda880107b5b36fcb9b5a1ef0c329685da0e203ed692a8ebe64cc92c"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "pin-project",
  "rand 0.7.3",
@@ -4311,7 +4368,7 @@
  "asynchronous-codec",
  "bytes",
  "either",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4336,7 +4393,7 @@
 dependencies = [
  "asynchronous-codec",
  "bimap",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4345,7 +4402,7 @@
  "prost",
  "prost-build",
  "rand 0.8.5",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "thiserror",
  "unsigned-varint",
  "void",
@@ -4359,7 +4416,7 @@
 dependencies = [
  "async-trait",
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "instant",
  "libp2p-core",
  "libp2p-swarm",
@@ -4377,7 +4434,7 @@
 dependencies = [
  "either",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "instant",
  "libp2p-core",
@@ -4406,7 +4463,7 @@
 checksum = "8a6771dc19aa3c65d6af9a8c65222bfc8fcd446630ddca487acd161fa6096f3b"
 dependencies = [
  "async-io",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "if-watch",
  "ipnet",
@@ -4423,7 +4480,7 @@
 checksum = "d125e3e5f0d58f3c6ac21815b20cf4b6a88b8db9dc26368ea821838f4161fd4d"
 dependencies = [
  "async-std",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "log",
 ]
@@ -4434,7 +4491,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "ec894790eec3c1608f8d1a8a0bdf0dbeb79ed4de2dce964222011c2896dfa05a"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "js-sys",
  "libp2p-core",
  "parity-send-wrapper",
@@ -4449,7 +4506,7 @@
 checksum = "9808e57e81be76ff841c106b4c5974fb4d41a233a7bdd2afbf1687ac6def3818"
 dependencies = [
  "either",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-rustls",
  "libp2p-core",
  "log",
@@ -4467,7 +4524,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "c6dea686217a06072033dc025631932810e2f6ad784e4fafa42e27d311c7a81c"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p-core",
  "parking_lot 0.12.1",
  "thiserror",
@@ -4587,9 +4644,9 @@
 
 [[package]]
 name = "lock_api"
-version = "0.4.7"
+version = "0.4.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "327fa5b6a6940e4699ec49a9beae1ea4845c6bab9314e4f84ac68742139d8c53"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
 dependencies = [
  "autocfg",
  "scopeguard",
@@ -4617,18 +4674,18 @@
 
 [[package]]
 name = "lru"
-version = "0.6.6"
+version = "0.7.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7ea2d928b485416e8908cff2d97d621db22b27f7b3b6729e438bcf42c671ba91"
+checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a"
 dependencies = [
- "hashbrown 0.11.2",
+ "hashbrown 0.12.3",
 ]
 
 [[package]]
 name = "lru"
-version = "0.7.8"
+version = "0.8.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999beba7b6e8345721bd280141ed958096a2e4abdf74f67ff4ce49b4b54e47a"
+checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909"
 dependencies = [
  "hashbrown 0.12.3",
 ]
@@ -4644,9 +4701,9 @@
 
 [[package]]
 name = "lz4"
-version = "1.23.3"
+version = "1.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4edcb94251b1c375c459e5abe9fb0168c1c826c3370172684844f8f3f8d1a885"
+checksum = "7e9e2dd86df36ce760a60f6ff6ad526f7ba1f14ba0356f8254fb6905e6494df1"
 dependencies = [
  "libc",
  "lz4-sys",
@@ -4654,9 +4711,9 @@
 
 [[package]]
 name = "lz4-sys"
-version = "1.9.3"
+version = "1.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d7be8908e2ed6f31c02db8a9fa962f03e36c53fbfde437363eae3306b85d7e17"
+checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900"
 dependencies = [
  "cc",
  "libc",
@@ -4718,15 +4775,6 @@
 
 [[package]]
 name = "memmap2"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "723e3ebdcdc5c023db1df315364573789f8857c11b631a2fdfad7c00f5c046b4"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "memmap2"
 version = "0.5.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95af15f345b17af2efc8ead6080fb8bc376f8cec1b35277b935637595fe77498"
@@ -4756,11 +4804,11 @@
 
 [[package]]
 name = "memory-lru"
-version = "0.1.0"
+version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "beeb98b3d1ed2c0054bd81b5ba949a0243c3ccad751d45ea898fa8059fa2860a"
+checksum = "ce95ae042940bad7e312857b929ee3d11b8f799a80cb7b9c7ec5125516906395"
 dependencies = [
- "lru 0.6.6",
+ "lru 0.8.1",
 ]
 
 [[package]]
@@ -4787,7 +4835,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "69672161530e8aeca1d1400fbf3f1a1747ff60ea604265a4e906c2442df20532"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "rand 0.8.5",
  "thrift",
 ]
@@ -4800,9 +4848,9 @@
 
 [[package]]
 name = "miniz_oxide"
-version = "0.5.3"
+version = "0.5.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
+checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
 dependencies = [
  "adler",
 ]
@@ -4864,10 +4912,10 @@
  "blake2s_simd",
  "blake3",
  "core2",
- "digest 0.10.3",
+ "digest 0.10.5",
  "multihash-derive",
- "sha2 0.10.2",
- "sha3 0.10.2",
+ "sha2 0.10.6",
+ "sha3 0.10.5",
  "unsigned-varint",
 ]
 
@@ -4898,7 +4946,7 @@
 checksum = "363a84be6453a70e63513660f4894ef815daf88e3356bffcda9ca27d810ce83b"
 dependencies = [
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "pin-project",
  "smallvec",
@@ -4994,7 +5042,7 @@
 checksum = "65b4b14489ab424703c092062176d52ba55485a89c076b4f9db05092b7223aa6"
 dependencies = [
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "netlink-packet-core",
  "netlink-sys",
@@ -5010,7 +5058,7 @@
 dependencies = [
  "async-io",
  "bytes",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libc",
  "log",
 ]
@@ -5163,13 +5211,13 @@
 
 [[package]]
 name = "once_cell"
-version = "1.13.0"
+version = "1.15.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
 
 [[package]]
 name = "opal-runtime"
-version = "0.9.27"
+version = "0.9.29"
 dependencies = [
  "app-promotion-rpc",
  "cumulus-pallet-aura-ext",
@@ -5231,7 +5279,7 @@
  "pallet-unique-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "rmrk-rpc",
  "scale-info",
@@ -5281,11 +5329,11 @@
 [[package]]
 name = "orchestra"
 version = "0.0.1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
  "dyn-clonable",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "orchestra-proc-macro",
  "pin-project",
@@ -5297,7 +5345,7 @@
 [[package]]
 name = "orchestra-proc-macro"
 version = "0.0.1"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "expander 0.0.6",
  "itertools",
@@ -5320,12 +5368,12 @@
 [[package]]
 name = "orml-tokens"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "frame-support",
  "frame-system",
  "orml-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -5335,13 +5383,13 @@
 [[package]]
 name = "orml-traits"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "frame-support",
  "impl-trait-for-tuples",
  "num-traits",
  "orml-utilities",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -5353,10 +5401,10 @@
 [[package]]
 name = "orml-utilities"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "frame-support",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -5367,11 +5415,11 @@
 [[package]]
 name = "orml-vesting"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -5382,11 +5430,11 @@
 [[package]]
 name = "orml-xcm-support"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "frame-support",
  "orml-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-runtime",
  "sp-std",
  "xcm",
@@ -5396,7 +5444,7 @@
 [[package]]
 name = "orml-xtokens"
 version = "0.4.1-dev"
-source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+source = "git+https://github.com/UniqueNetwork/open-runtime-module-library?branch=polkadot-v0.9.29#2caeb6621a59cbf37829d6a80bc2b89195959d45"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
@@ -5404,7 +5452,7 @@
  "orml-traits",
  "orml-xcm-support",
  "pallet-xcm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -5444,7 +5492,7 @@
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
  "pallet-unique",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -5457,12 +5505,12 @@
 [[package]]
 name = "pallet-aura"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-application-crypto",
  "sp-consensus-aura",
@@ -5473,12 +5521,12 @@
 [[package]]
 name = "pallet-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-application-crypto",
  "sp-authority-discovery",
@@ -5489,12 +5537,12 @@
 [[package]]
 name = "pallet-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-authorship",
  "sp-runtime",
@@ -5504,7 +5552,7 @@
 [[package]]
 name = "pallet-babe"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5513,7 +5561,7 @@
  "pallet-authorship",
  "pallet-session",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-application-crypto",
  "sp-consensus-babe",
@@ -5528,7 +5576,7 @@
 [[package]]
 name = "pallet-bags-list"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -5536,7 +5584,7 @@
  "frame-system",
  "log",
  "pallet-balances",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5548,13 +5596,13 @@
 [[package]]
 name = "pallet-balances"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -5563,12 +5611,12 @@
 [[package]]
 name = "pallet-base-fee"
 version = "1.0.0"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "fp-evm",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -5578,13 +5626,13 @@
 [[package]]
 name = "pallet-beefy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "beefy-primitives",
  "frame-support",
  "frame-system",
  "pallet-session",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -5594,7 +5642,7 @@
 [[package]]
 name = "pallet-beefy-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "beefy-merkle-tree",
  "beefy-primitives",
@@ -5605,7 +5653,7 @@
  "pallet-beefy",
  "pallet-mmr",
  "pallet-session",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -5617,14 +5665,14 @@
 [[package]]
 name = "pallet-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "pallet-treasury",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5635,7 +5683,7 @@
 [[package]]
 name = "pallet-child-bounties"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5643,7 +5691,7 @@
  "log",
  "pallet-bounties",
  "pallet-treasury",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5654,13 +5702,13 @@
 [[package]]
 name = "pallet-collective"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5680,7 +5728,7 @@
  "frame-system",
  "pallet-evm",
  "pallet-evm-coder-substrate",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -5696,7 +5744,7 @@
  "fp-evm",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "smallvec",
  "sp-arithmetic",
@@ -5708,12 +5756,12 @@
 [[package]]
 name = "pallet-democracy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-io",
@@ -5724,14 +5772,14 @@
 [[package]]
 name = "pallet-election-provider-multi-phase"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand 0.7.3",
  "scale-info",
  "sp-arithmetic",
@@ -5747,12 +5795,12 @@
 [[package]]
 name = "pallet-election-provider-support-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-npos-elections",
  "sp-runtime",
 ]
@@ -5760,13 +5808,13 @@
 [[package]]
 name = "pallet-elections-phragmen"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5778,7 +5826,7 @@
 [[package]]
 name = "pallet-ethereum"
 version = "4.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "ethereum",
  "ethereum-types",
@@ -5794,11 +5842,11 @@
  "log",
  "pallet-evm",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rlp",
  "scale-info",
  "serde",
- "sha3 0.10.2",
+ "sha3 0.10.5",
  "sp-io",
  "sp-runtime",
  "sp-std",
@@ -5807,7 +5855,7 @@
 [[package]]
 name = "pallet-evm"
 version = "6.0.0-dev"
-source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.27-fee-limit#0ae36821312f4a26e7f96225f1b2cb16216cddf5"
+source = "git+https://github.com/uniquenetwork/frontier?branch=unique-polkadot-v0.9.29#30b8f3330d1e9a0b3fc812d60642f6f67b93c059"
 dependencies = [
  "evm",
  "fp-evm",
@@ -5819,12 +5867,12 @@
  "impl-trait-for-tuples",
  "log",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "primitive-types",
  "rlp",
  "scale-info",
  "serde",
- "sha3 0.10.2",
+ "sha3 0.10.5",
  "sp-core",
  "sp-io",
  "sp-runtime",
@@ -5842,7 +5890,7 @@
  "frame-system",
  "pallet-ethereum",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-std",
@@ -5863,7 +5911,7 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-evm-transaction-payment",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -5881,7 +5929,7 @@
  "frame-support",
  "frame-system",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5899,7 +5947,7 @@
  "frame-system",
  "pallet-ethereum",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -5922,7 +5970,7 @@
  "pallet-common",
  "pallet-fungible",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "serde_json",
@@ -5949,7 +5997,7 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-structure",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -5960,12 +6008,12 @@
 [[package]]
 name = "pallet-gilt"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-arithmetic",
  "sp-runtime",
@@ -5975,7 +6023,7 @@
 [[package]]
 name = "pallet-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -5983,7 +6031,7 @@
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-application-crypto",
  "sp-core",
@@ -5998,13 +6046,13 @@
 [[package]]
 name = "pallet-identity"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "enumflags2",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6014,14 +6062,14 @@
 [[package]]
 name = "pallet-im-online"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "pallet-authorship",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-application-crypto",
  "sp-core",
@@ -6034,12 +6082,12 @@
 [[package]]
 name = "pallet-indices"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6058,7 +6106,7 @@
  "pallet-balances",
  "pallet-randomness-collective-flip",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6070,13 +6118,13 @@
 [[package]]
 name = "pallet-membership"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6087,13 +6135,13 @@
 [[package]]
 name = "pallet-mmr"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ckb-merkle-mountain-range",
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6105,10 +6153,10 @@
 [[package]]
 name = "pallet-mmr-rpc"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "jsonrpsee",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "serde",
  "sp-api",
  "sp-blockchain",
@@ -6120,12 +6168,12 @@
 [[package]]
 name = "pallet-multisig"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6135,12 +6183,12 @@
 [[package]]
 name = "pallet-nomination-pools"
 version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6152,7 +6200,7 @@
 [[package]]
 name = "pallet-nomination-pools-benchmarking"
 version = "1.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6161,7 +6209,7 @@
  "pallet-bags-list",
  "pallet-nomination-pools",
  "pallet-staking",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-staking",
@@ -6171,9 +6219,9 @@
 [[package]]
 name = "pallet-nomination-pools-runtime-api"
 version = "1.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-std",
 ]
@@ -6191,7 +6239,7 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-structure",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -6203,13 +6251,13 @@
 [[package]]
 name = "pallet-offences"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "log",
  "pallet-balances",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -6220,7 +6268,7 @@
 [[package]]
 name = "pallet-offences-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6233,7 +6281,7 @@
  "pallet-offences",
  "pallet-session",
  "pallet-staking",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-staking",
@@ -6243,12 +6291,12 @@
 [[package]]
 name = "pallet-preimage"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6259,12 +6307,12 @@
 [[package]]
 name = "pallet-proxy"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6274,11 +6322,11 @@
 [[package]]
 name = "pallet-randomness-collective-flip"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "safe-mix",
  "scale-info",
  "sp-runtime",
@@ -6288,12 +6336,12 @@
 [[package]]
 name = "pallet-recovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6314,7 +6362,7 @@
  "pallet-evm",
  "pallet-evm-coder-substrate",
  "pallet-structure",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-runtime",
@@ -6335,7 +6383,7 @@
  "pallet-evm",
  "pallet-nonfungible",
  "pallet-structure",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rmrk-traits",
  "scale-info",
  "sp-core",
@@ -6355,7 +6403,7 @@
  "pallet-evm",
  "pallet-nonfungible",
  "pallet-rmrk-core",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rmrk-traits",
  "scale-info",
  "sp-core",
@@ -6367,13 +6415,13 @@
 [[package]]
 name = "pallet-scheduler"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6383,14 +6431,14 @@
 [[package]]
 name = "pallet-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
  "log",
  "pallet-timestamp",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6404,7 +6452,7 @@
 [[package]]
 name = "pallet-session-benchmarking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
@@ -6420,11 +6468,11 @@
 [[package]]
 name = "pallet-society"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand_chacha 0.2.2",
  "scale-info",
  "sp-runtime",
@@ -6434,7 +6482,7 @@
 [[package]]
 name = "pallet-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-election-provider-support",
@@ -6443,7 +6491,7 @@
  "log",
  "pallet-authorship",
  "pallet-session",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand_chacha 0.2.2",
  "scale-info",
  "serde",
@@ -6457,7 +6505,7 @@
 [[package]]
 name = "pallet-staking-reward-curve"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -6468,7 +6516,7 @@
 [[package]]
 name = "pallet-staking-reward-fn"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
  "sp-arithmetic",
@@ -6483,7 +6531,7 @@
  "frame-system",
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-std",
  "up-data-structs",
@@ -6492,11 +6540,11 @@
 [[package]]
 name = "pallet-sudo"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-io",
  "sp-runtime",
@@ -6506,14 +6554,14 @@
 [[package]]
 name = "pallet-template-transaction-payment"
 version = "3.0.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.27#853766d6033ceb68a2bef196790b962dd0663a04"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.29#3f663c3ee19933cd5545e0420ce2562fa8301235"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "pallet-balances",
  "pallet-transaction-payment",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6526,13 +6574,13 @@
 [[package]]
 name = "pallet-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-inherents",
  "sp-io",
@@ -6544,14 +6592,14 @@
 [[package]]
 name = "pallet-tips"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
  "pallet-treasury",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6563,11 +6611,11 @@
 [[package]]
 name = "pallet-transaction-payment"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6579,11 +6627,11 @@
 [[package]]
 name = "pallet-transaction-payment-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "jsonrpsee",
  "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-blockchain",
  "sp-core",
@@ -6594,10 +6642,10 @@
 [[package]]
 name = "pallet-transaction-payment-rpc-runtime-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "pallet-transaction-payment",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-runtime",
 ]
@@ -6605,14 +6653,14 @@
 [[package]]
 name = "pallet-treasury"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "impl-trait-for-tuples",
  "pallet-balances",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-runtime",
@@ -6633,7 +6681,7 @@
  "pallet-evm-coder-substrate",
  "pallet-nonfungible",
  "pallet-refungible",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6651,7 +6699,7 @@
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6665,12 +6713,12 @@
 [[package]]
 name = "pallet-utility"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -6681,13 +6729,13 @@
 [[package]]
 name = "pallet-vesting"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -6695,13 +6743,13 @@
 
 [[package]]
 name = "pallet-xcm"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -6713,14 +6761,14 @@
 
 [[package]]
 name = "pallet-xcm-benchmarks"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "frame-system",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -6731,21 +6779,21 @@
 [[package]]
 name = "parachain-info"
 version = "0.1.0"
-source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.27#66b684f88eba6c755651b8c47dccad2c2d9ac3db"
+source = "git+https://github.com/paritytech/cumulus?branch=polkadot-v0.9.29#2fa95572487cfcf8dbe6941bf93545c39d47f784"
 dependencies = [
  "cumulus-primitives-core",
  "frame-support",
  "frame-system",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
 ]
 
 [[package]]
 name = "parity-db"
-version = "0.3.16"
+version = "0.3.17"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bb474d0ed0836e185cb998a6b140ed1073d1fbf27d690ecf9ede8030289382c"
+checksum = "2c8fdb726a43661fa54b43e7114e6b88b2289cae388eb3ad766d9d1754d83fce"
 dependencies = [
  "blake2-rfc",
  "crc32fast",
@@ -6754,8 +6802,8 @@
  "libc",
  "log",
  "lz4",
- "memmap2 0.2.3",
- "parking_lot 0.11.2",
+ "memmap2",
+ "parking_lot 0.12.1",
  "rand 0.8.5",
  "snap",
 ]
@@ -6776,13 +6824,14 @@
 
 [[package]]
 name = "parity-scale-codec"
-version = "3.1.5"
+version = "3.2.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9182e4a71cae089267ab03e67c99368db7cd877baf50f931e5d6d4b71e195ac0"
+checksum = "366e44391a8af4cfd6002ef6ba072bae071a96aafca98d7d448a34c5dca38b6a"
 dependencies = [
  "arrayvec 0.7.2",
  "bitvec 1.0.1",
  "byte-slice-cast",
+ "bytes",
  "impl-trait-for-tuples",
  "parity-scale-codec-derive 3.1.3",
  "serde",
@@ -6918,9 +6967,9 @@
 
 [[package]]
 name = "paste"
-version = "1.0.8"
+version = "1.0.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9423e2b32f7a043629287a536f21951e8c6a82482d0acb1eeebfc90bc2225b22"
+checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1"
 
 [[package]]
 name = "pbkdf2"
@@ -6948,15 +6997,15 @@
 
 [[package]]
 name = "percent-encoding"
-version = "2.1.0"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
 
 [[package]]
 name = "pest"
-version = "2.2.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "69486e2b8c2d2aeb9762db7b4e00b0331156393555cff467f4163ff06821eef8"
+checksum = "dbc7bc69c062e492337d74d59b120c274fd3d261b6bf6d3207d499b4b379c41a"
 dependencies = [
  "thiserror",
  "ucd-trie",
@@ -6964,9 +7013,9 @@
 
 [[package]]
 name = "pest_derive"
-version = "2.2.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b13570633aff33c6d22ce47dd566b10a3b9122c2fe9d8e7501895905be532b91"
+checksum = "60b75706b9642ebcb34dab3bc7750f811609a0eb1dd8b88c2d15bf628c1c65b2"
 dependencies = [
  "pest",
  "pest_generator",
@@ -6974,9 +7023,9 @@
 
 [[package]]
 name = "pest_generator"
-version = "2.2.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3c567e5702efdc79fb18859ea74c3eb36e14c43da7b8c1f098a4ed6514ec7a0"
+checksum = "f4f9272122f5979a6511a749af9db9bfc810393f63119970d7085fed1c4ea0db"
 dependencies = [
  "pest",
  "pest_meta",
@@ -6987,13 +7036,13 @@
 
 [[package]]
 name = "pest_meta"
-version = "2.2.1"
+version = "2.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5eb32be5ee3bbdafa8c7a18b0a8a8d962b66cfa2ceee4037f49267a50ee821fe"
+checksum = "4c8717927f9b79515e565a64fe46c38b8cd0427e64c40680b14a7365ab09ac8d"
 dependencies = [
  "once_cell",
  "pest",
- "sha-1 0.10.0",
+ "sha1",
 ]
 
 [[package]]
@@ -7058,10 +7107,10 @@
 
 [[package]]
 name = "polkadot-approval-distribution"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7073,10 +7122,10 @@
 
 [[package]]
 name = "polkadot-availability-bitfield-distribution"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7087,14 +7136,14 @@
 
 [[package]]
 name = "polkadot-availability-distribution"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "derive_more",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7110,13 +7159,13 @@
 
 [[package]]
 name = "polkadot-availability-recovery"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7131,12 +7180,12 @@
 
 [[package]]
 name = "polkadot-cli"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "clap",
  "frame-benchmarking-cli",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "polkadot-client",
  "polkadot-node-core-pvf",
@@ -7157,8 +7206,8 @@
 
 [[package]]
 name = "polkadot-client"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "frame-benchmarking",
@@ -7197,12 +7246,12 @@
 
 [[package]]
 name = "polkadot-collator-protocol"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "always-assert",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7218,10 +7267,10 @@
 
 [[package]]
 name = "polkadot-core-primitives"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "scale-info",
  "sp-core",
@@ -7231,14 +7280,14 @@
 
 [[package]]
 name = "polkadot-dispute-distribution"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "derive_more",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-erasure-coding",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
@@ -7254,10 +7303,10 @@
 
 [[package]]
 name = "polkadot-erasure-coding"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-primitives",
  "polkadot-primitives",
  "reed-solomon-novelpoly",
@@ -7268,10 +7317,10 @@
 
 [[package]]
 name = "polkadot-gossip-support"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
@@ -7288,15 +7337,15 @@
 
 [[package]]
 name = "polkadot-network-bridge"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "always-assert",
  "async-trait",
  "bytes",
  "fatality",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-node-network-protocol",
  "polkadot-node-subsystem",
@@ -7304,6 +7353,7 @@
  "polkadot-overseer",
  "polkadot-primitives",
  "sc-network",
+ "sc-network-common",
  "sp-consensus",
  "thiserror",
  "tracing-gum",
@@ -7311,11 +7361,11 @@
 
 [[package]]
 name = "polkadot-node-collation-generation"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7329,17 +7379,17 @@
 
 [[package]]
 name = "polkadot-node-core-approval-voting"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitvec 1.0.1",
  "derive_more",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "kvdb",
  "lru 0.7.8",
  "merlin",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7358,14 +7408,14 @@
 
 [[package]]
 name = "polkadot-node-core-av-store"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitvec 1.0.1",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "kvdb",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7378,12 +7428,12 @@
 
 [[package]]
 name = "polkadot-node-core-backing"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitvec 1.0.1",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-erasure-coding",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7397,10 +7447,10 @@
 
 [[package]]
 name = "polkadot-node-core-bitfield-signing"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
@@ -7412,12 +7462,12 @@
 
 [[package]]
 name = "polkadot-node-core-candidate-validation"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-core-pvf",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7430,10 +7480,10 @@
 
 [[package]]
 name = "polkadot-node-core-chain-api"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
  "polkadot-primitives",
@@ -7445,13 +7495,13 @@
 
 [[package]]
 name = "polkadot-node-core-chain-selection"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "kvdb",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7462,14 +7512,14 @@
 
 [[package]]
 name = "polkadot-node-core-dispute-coordinator"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "kvdb",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7481,11 +7531,11 @@
 
 [[package]]
 name = "polkadot-node-core-parachains-inherent"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "polkadot-node-subsystem",
  "polkadot-primitives",
@@ -7498,12 +7548,12 @@
 
 [[package]]
 name = "polkadot-node-core-provisioner"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitvec 1.0.1",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -7516,16 +7566,16 @@
 
 [[package]]
 name = "polkadot-node-core-pvf"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "always-assert",
  "assert_matches",
  "async-process",
  "async-std",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "pin-project",
  "polkadot-core-primitives",
  "polkadot-node-subsystem-util",
@@ -7548,10 +7598,10 @@
 
 [[package]]
 name = "polkadot-node-core-pvf-checker"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
  "polkadot-node-subsystem-util",
@@ -7564,10 +7614,10 @@
 
 [[package]]
 name = "polkadot-node-core-runtime-api"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "memory-lru",
  "parity-util-mem",
  "polkadot-node-subsystem",
@@ -7580,14 +7630,14 @@
 
 [[package]]
 name = "polkadot-node-jaeger"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-std",
  "lazy_static",
  "log",
  "mick-jaeger",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7598,14 +7648,14 @@
 
 [[package]]
 name = "polkadot-node-metrics"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bs58",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "prioritized-metered-channel",
  "sc-cli",
@@ -7617,14 +7667,15 @@
 
 [[package]]
 name = "polkadot-node-network-protocol"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
  "derive_more",
  "fatality",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "hex",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-jaeger",
  "polkadot-node-primitives",
  "polkadot-primitives",
@@ -7638,12 +7689,12 @@
 
 [[package]]
 name = "polkadot-node-primitives"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bounded-vec",
- "futures 0.3.23",
- "parity-scale-codec 3.1.5",
+ "futures 0.3.24",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "polkadot-primitives",
  "schnorrkel",
@@ -7660,8 +7711,8 @@
 
 [[package]]
 name = "polkadot-node-subsystem"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "polkadot-node-jaeger",
  "polkadot-node-subsystem-types",
@@ -7670,12 +7721,12 @@
 
 [[package]]
 name = "polkadot-node-subsystem-types"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
  "derive_more",
- "futures 0.3.23",
+ "futures 0.3.24",
  "orchestra",
  "polkadot-node-jaeger",
  "polkadot-node-network-protocol",
@@ -7693,18 +7744,18 @@
 
 [[package]]
 name = "polkadot-node-subsystem-util"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
  "derive_more",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "itertools",
  "kvdb",
  "lru 0.7.8",
  "parity-db",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "parking_lot 0.11.2",
  "pin-project",
@@ -7726,11 +7777,11 @@
 
 [[package]]
 name = "polkadot-overseer"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "lru 0.7.8",
  "orchestra",
@@ -7749,12 +7800,12 @@
 
 [[package]]
 name = "polkadot-parachain"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "derive_more",
  "frame-support",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "polkadot-core-primitives",
  "scale-info",
@@ -7766,8 +7817,8 @@
 
 [[package]]
 name = "polkadot-performance-test"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "env_logger",
  "kusama-runtime",
@@ -7781,13 +7832,13 @@
 
 [[package]]
 name = "polkadot-primitives"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitvec 1.0.1",
  "frame-system",
  "hex-literal",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "polkadot-core-primitives",
  "polkadot-parachain",
@@ -7811,8 +7862,8 @@
 
 [[package]]
 name = "polkadot-rpc"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-gadget",
  "beefy-gadget-rpc",
@@ -7843,8 +7894,8 @@
 
 [[package]]
 name = "polkadot-runtime"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "bitvec 1.0.1",
@@ -7876,6 +7927,9 @@
  "pallet-indices",
  "pallet-membership",
  "pallet-multisig",
+ "pallet-nomination-pools",
+ "pallet-nomination-pools-benchmarking",
+ "pallet-nomination-pools-runtime-api",
  "pallet-offences",
  "pallet-offences-benchmarking",
  "pallet-preimage",
@@ -7893,7 +7947,7 @@
  "pallet-utility",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "polkadot-runtime-common",
  "polkadot-runtime-constants",
@@ -7928,8 +7982,8 @@
 
 [[package]]
 name = "polkadot-runtime-common"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "bitvec 1.0.1",
@@ -7952,7 +8006,7 @@
  "pallet-transaction-payment",
  "pallet-treasury",
  "pallet-vesting",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "polkadot-runtime-parachains",
  "rustc-hex",
@@ -7975,8 +8029,8 @@
 
 [[package]]
 name = "polkadot-runtime-constants"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -7987,11 +8041,11 @@
 
 [[package]]
 name = "polkadot-runtime-metrics"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bs58",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "sp-std",
  "sp-tracing",
@@ -7999,8 +8053,8 @@
 
 [[package]]
 name = "polkadot-runtime-parachains"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "bitflags",
  "bitvec 1.0.1",
@@ -8017,7 +8071,7 @@
  "pallet-staking",
  "pallet-timestamp",
  "pallet-vesting",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "polkadot-runtime-metrics",
  "rand 0.8.5",
@@ -8042,14 +8096,15 @@
 
 [[package]]
 name = "polkadot-service"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "async-trait",
  "beefy-gadget",
  "beefy-primitives",
+ "frame-support",
  "frame-system-rpc-runtime-api",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex-literal",
  "kusama-runtime",
  "kvdb",
@@ -8105,11 +8160,11 @@
  "sc-consensus",
  "sc-consensus-babe",
  "sc-consensus-slots",
- "sc-consensus-uncles",
  "sc-executor",
  "sc-finality-grandpa",
  "sc-keystore",
  "sc-network",
+ "sc-network-common",
  "sc-offchain",
  "sc-service",
  "sc-sync-state-rpc",
@@ -8145,14 +8200,14 @@
 
 [[package]]
 name = "polkadot-statement-distribution"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "arrayvec 0.5.2",
  "fatality",
- "futures 0.3.23",
+ "futures 0.3.24",
  "indexmap",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-node-network-protocol",
  "polkadot-node-primitives",
  "polkadot-node-subsystem",
@@ -8166,18 +8221,18 @@
 
 [[package]]
 name = "polkadot-statement-table"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-primitives",
  "sp-core",
 ]
 
 [[package]]
 name = "polkadot-test-runtime"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "bitvec 1.0.1",
@@ -8203,7 +8258,7 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-vesting",
  "pallet-xcm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -8237,12 +8292,12 @@
 
 [[package]]
 name = "polkadot-test-service"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-benchmarking",
  "frame-system",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex",
  "pallet-balances",
  "pallet-staking",
@@ -8267,6 +8322,7 @@
  "sc-executor",
  "sc-finality-grandpa",
  "sc-network",
+ "sc-network-common",
  "sc-service",
  "sc-tracing",
  "sc-transaction-pool",
@@ -8290,10 +8346,11 @@
 
 [[package]]
 name = "polling"
-version = "2.2.0"
+version = "2.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
+checksum = "899b00b9c8ab553c743b3e11e87c5c7d423b2a2de229ba95b24a756344748011"
 dependencies = [
+ "autocfg",
  "cfg-if 1.0.0",
  "libc",
  "log",
@@ -8347,12 +8404,12 @@
 [[package]]
 name = "prioritized-metered-channel"
 version = "0.2.0"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "coarsetime",
  "crossbeam-queue",
  "derive_more",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "nanorand",
  "thiserror",
@@ -8396,18 +8453,18 @@
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.43"
+version = "1.0.46"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
+checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "prometheus"
-version = "0.13.1"
+version = "0.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cface98dfa6d645ea4c789839f176e4b072265d085bfcc48eaa8d137f58d3c39"
+checksum = "45c8babc29389186697fe5a2a4859d697825496b83db5d0b65271cdc0488e88c"
 dependencies = [
  "cfg-if 1.0.0",
  "fnv",
@@ -8510,9 +8567,9 @@
 
 [[package]]
 name = "psm"
-version = "0.1.20"
+version = "0.1.21"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f446d0a6efba22928558c4fb4ce0b3fd6c89b0061343e390bf01a703742b8125"
+checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874"
 dependencies = [
  "cc",
 ]
@@ -8581,7 +8638,7 @@
  "pallet-unique-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "rmrk-rpc",
  "scale-info",
@@ -8670,7 +8727,7 @@
 dependencies = [
  "libc",
  "rand_chacha 0.3.1",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -8690,7 +8747,7 @@
 checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
 dependencies = [
  "ppv-lite86",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -8704,9 +8761,9 @@
 
 [[package]]
 name = "rand_core"
-version = "0.6.3"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
  "getrandom 0.2.7",
 ]
@@ -8745,7 +8802,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "59cad018caf63deb318e5a4586d99a24424a364f40f1e5778c29aca23f4fc73e"
 dependencies = [
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -8884,12 +8941,12 @@
 [[package]]
 name = "remote-externalities"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "env_logger",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "serde",
  "serde_json",
  "sp-core",
@@ -8918,12 +8975,6 @@
 ]
 
 [[package]]
-name = "retain_mut"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4389f1d5789befaf6029ebd9f7dac4af7f7e3d61b69d4f30e2ac02b57e7712b0"
-
-[[package]]
 name = "rfc6979"
 version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -8987,7 +9038,7 @@
 name = "rmrk-traits"
 version = "0.1.0"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
 ]
@@ -9004,8 +9055,8 @@
 
 [[package]]
 name = "rococo-runtime"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-merkle-tree",
  "beefy-primitives",
@@ -9040,7 +9091,7 @@
  "pallet-transaction-payment-rpc-runtime-api",
  "pallet-utility",
  "pallet-xcm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -9073,8 +9124,8 @@
 
 [[package]]
 name = "rococo-runtime-constants"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -9085,9 +9136,9 @@
 
 [[package]]
 name = "rpassword"
-version = "5.0.1"
+version = "7.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb"
+checksum = "26b763cb66df1c928432cc35053f8bd4cec3335d8559fc16010017d16b3c1680"
 dependencies = [
  "libc",
  "winapi",
@@ -9100,7 +9151,7 @@
 checksum = "322c53fd76a18698f1c27381d58091de3a043d356aa5bd0d510608b565f469a0"
 dependencies = [
  "async-global-executor",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "netlink-packet-route",
  "netlink-proto",
@@ -9141,7 +9192,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
 dependencies = [
- "semver 1.0.13",
+ "semver 1.0.14",
 ]
 
 [[package]]
@@ -9160,13 +9211,13 @@
 
 [[package]]
 name = "rustix"
-version = "0.35.7"
+version = "0.35.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d51cc38aa10f6bbb377ed28197aa052aa4e2b762c22be9d3153d01822587e787"
+checksum = "fbb2fda4666def1433b1b05431ab402e42a1084285477222b72d6c564c417cef"
 dependencies = [
  "bitflags",
  "errno",
- "io-lifetimes 0.7.2",
+ "io-lifetimes 0.7.3",
  "libc",
  "linux-raw-sys 0.0.46",
  "windows-sys",
@@ -9217,7 +9268,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "26338f5e09bb721b85b135ea05af7767c90b52f6de4f087d4f4a3a9d64e7dc04"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "pin-project",
  "static_assertions",
 ]
@@ -9258,7 +9309,7 @@
 [[package]]
 name = "sc-allocator"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
  "sp-core",
@@ -9269,20 +9320,20 @@
 [[package]]
 name = "sc-authority-discovery"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "ip_network",
  "libp2p",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "prost",
  "prost-build",
  "rand 0.7.3",
  "sc-client-api",
- "sc-network",
+ "sc-network-common",
  "sp-api",
  "sp-authority-discovery",
  "sp-blockchain",
@@ -9296,12 +9347,12 @@
 [[package]]
 name = "sc-basic-authorship"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-block-builder",
  "sc-client-api",
  "sc-proposer-metrics",
@@ -9319,9 +9370,9 @@
 [[package]]
 name = "sc-block-builder"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sp-api",
  "sp-block-builder",
@@ -9335,13 +9386,13 @@
 [[package]]
 name = "sc-chain-spec"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "impl-trait-for-tuples",
- "memmap2 0.5.7",
- "parity-scale-codec 3.1.5",
+ "memmap2",
+ "parity-scale-codec 3.2.1",
  "sc-chain-spec-derive",
- "sc-network",
+ "sc-network-common",
  "sc-telemetry",
  "serde",
  "serde_json",
@@ -9352,7 +9403,7 @@
 [[package]]
 name = "sc-chain-spec-derive"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -9363,17 +9414,17 @@
 [[package]]
 name = "sc-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "chrono",
  "clap",
  "fdlimit",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex",
  "libp2p",
  "log",
  "names",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rand 0.7.3",
  "regex",
  "rpassword",
@@ -9402,13 +9453,13 @@
 [[package]]
 name = "sc-client-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hash-db",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-executor",
  "sc-transaction-pool-api",
@@ -9430,7 +9481,7 @@
 [[package]]
 name = "sc-client-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "hash-db",
  "kvdb",
@@ -9439,7 +9490,7 @@
  "linked-hash-map",
  "log",
  "parity-db",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-client-api",
  "sc-state-db",
@@ -9455,10 +9506,10 @@
 [[package]]
 name = "sc-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "libp2p",
  "log",
@@ -9479,12 +9530,12 @@
 [[package]]
 name = "sc-consensus-aura"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-block-builder",
  "sc-client-api",
  "sc-consensus",
@@ -9508,20 +9559,19 @@
 [[package]]
 name = "sc-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "fork-tree",
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "merlin",
  "num-bigint",
  "num-rational 0.2.4",
  "num-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "rand 0.7.3",
- "retain_mut",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-epochs",
@@ -9551,9 +9601,9 @@
 [[package]]
 name = "sc-consensus-babe-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "sc-consensus-babe",
  "sc-consensus-epochs",
@@ -9573,10 +9623,10 @@
 [[package]]
 name = "sc-consensus-epochs"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "fork-tree",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-consensus",
  "sp-blockchain",
@@ -9586,14 +9636,14 @@
 [[package]]
 name = "sc-consensus-manual-seal"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "assert_matches",
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-consensus",
  "sc-consensus-aura",
@@ -9620,13 +9670,13 @@
 [[package]]
 name = "sc-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-consensus",
  "sc-telemetry",
@@ -9643,24 +9693,13 @@
 ]
 
 [[package]]
-name = "sc-consensus-uncles"
-version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
-dependencies = [
- "sc-client-api",
- "sp-authorship",
- "sp-runtime",
- "thiserror",
-]
-
-[[package]]
 name = "sc-executor"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "lazy_static",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-executor-common",
  "sc-executor-wasmi",
@@ -9683,14 +9722,13 @@
 [[package]]
 name = "sc-executor-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "environmental",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-allocator",
  "sp-maybe-compressed-blob",
  "sp-sandbox",
- "sp-serializer",
  "sp-wasm-interface",
  "thiserror",
  "wasm-instrument",
@@ -9700,10 +9738,10 @@
 [[package]]
 name = "sc-executor-wasmi"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-allocator",
  "sc-executor-common",
  "sp-runtime-interface",
@@ -9715,15 +9753,16 @@
 [[package]]
 name = "sc-executor-wasmtime"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "cfg-if 1.0.0",
  "libc",
  "log",
  "once_cell",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-wasm 0.42.2",
- "rustix 0.35.7",
+ "rustix 0.33.7",
+ "rustix 0.35.11",
  "sc-allocator",
  "sc-executor-common",
  "sp-runtime-interface",
@@ -9735,18 +9774,18 @@
 [[package]]
 name = "sc-finality-grandpa"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ahash",
  "async-trait",
  "dyn-clone",
  "finality-grandpa",
  "fork-tree",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "hex",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "rand 0.8.5",
  "sc-block-builder",
@@ -9776,13 +9815,13 @@
 [[package]]
 name = "sc-finality-grandpa-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "finality-grandpa",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-finality-grandpa",
  "sc-rpc",
@@ -9797,15 +9836,15 @@
 [[package]]
 name = "sc-informant"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ansi_term",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
  "parity-util-mem",
  "sc-client-api",
- "sc-network",
+ "sc-network-common",
  "sc-transaction-pool-api",
  "sp-blockchain",
  "sp-runtime",
@@ -9814,7 +9853,7 @@
 [[package]]
 name = "sc-keystore"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "hex",
@@ -9829,7 +9868,7 @@
 [[package]]
 name = "sc-network"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "asynchronous-codec",
@@ -9839,7 +9878,7 @@
  "either",
  "fnv",
  "fork-tree",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "hex",
  "ip_network",
@@ -9848,7 +9887,7 @@
  "linked_hash_set",
  "log",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "pin-project",
  "prost",
@@ -9878,33 +9917,39 @@
 [[package]]
 name = "sc-network-common"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
+ "async-trait",
  "bitflags",
- "futures 0.3.23",
+ "bytes",
+ "futures 0.3.24",
  "libp2p",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "prost-build",
  "sc-consensus",
  "sc-peerset",
+ "serde",
  "smallvec",
+ "sp-blockchain",
  "sp-consensus",
  "sp-finality-grandpa",
  "sp-runtime",
+ "thiserror",
 ]
 
 [[package]]
 name = "sc-network-gossip"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ahash",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "libp2p",
  "log",
  "lru 0.7.8",
- "sc-network",
+ "sc-network-common",
+ "sc-peerset",
  "sp-runtime",
  "substrate-prometheus-endpoint",
  "tracing",
@@ -9913,12 +9958,13 @@
 [[package]]
 name = "sc-network-light"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
+ "hex",
  "libp2p",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "prost",
  "prost-build",
  "sc-client-api",
@@ -9933,14 +9979,15 @@
 [[package]]
 name = "sc-network-sync"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "fork-tree",
- "futures 0.3.23",
+ "futures 0.3.24",
+ "hex",
  "libp2p",
  "log",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "prost",
  "prost-build",
  "sc-client-api",
@@ -9960,22 +10007,24 @@
 [[package]]
 name = "sc-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "bytes",
  "fnv",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "hex",
  "hyper",
  "hyper-rustls",
+ "libp2p",
  "num_cpus",
  "once_cell",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "rand 0.7.3",
  "sc-client-api",
- "sc-network",
+ "sc-network-common",
+ "sc-peerset",
  "sc-utils",
  "sp-api",
  "sp-core",
@@ -9988,9 +10037,9 @@
 [[package]]
 name = "sc-peerset"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p",
  "log",
  "sc-utils",
@@ -10001,7 +10050,7 @@
 [[package]]
 name = "sc-proposer-metrics"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
  "substrate-prometheus-endpoint",
@@ -10010,13 +10059,13 @@
 [[package]]
 name = "sc-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "hash-db",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-block-builder",
  "sc-chain-spec",
@@ -10040,12 +10089,12 @@
 [[package]]
 name = "sc-rpc-api"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sc-chain-spec",
  "sc-transaction-pool-api",
@@ -10063,9 +10112,9 @@
 [[package]]
 name = "sc-rpc-server"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
  "serde_json",
@@ -10076,17 +10125,17 @@
 [[package]]
 name = "sc-service"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "directories",
  "exit-future",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "hash-db",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "parking_lot 0.12.1",
  "pin-project",
@@ -10143,10 +10192,10 @@
 [[package]]
 name = "sc-state-db"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "parity-util-mem-derive",
  "parking_lot 0.12.1",
@@ -10157,10 +10206,10 @@
 [[package]]
 name = "sc-sync-state-rpc"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "jsonrpsee",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-chain-spec",
  "sc-client-api",
  "sc-consensus-babe",
@@ -10176,9 +10225,9 @@
 [[package]]
 name = "sc-sysinfo"
 version = "6.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "libc",
  "log",
  "rand 0.7.3",
@@ -10195,10 +10244,10 @@
 [[package]]
 name = "sc-telemetry"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "chrono",
- "futures 0.3.23",
+ "futures 0.3.24",
  "libp2p",
  "log",
  "parking_lot 0.12.1",
@@ -10213,7 +10262,7 @@
 [[package]]
 name = "sc-tracing"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ansi_term",
  "atty",
@@ -10244,7 +10293,7 @@
 [[package]]
 name = "sc-tracing-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -10255,16 +10304,15 @@
 [[package]]
 name = "sc-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "linked-hash-map",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "parking_lot 0.12.1",
- "retain_mut",
  "sc-client-api",
  "sc-transaction-pool-api",
  "sc-utils",
@@ -10282,9 +10330,9 @@
 [[package]]
 name = "sc-transaction-pool-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "serde",
  "sp-blockchain",
@@ -10295,9 +10343,9 @@
 [[package]]
 name = "sc-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "lazy_static",
  "log",
@@ -10307,23 +10355,23 @@
 
 [[package]]
 name = "scale-info"
-version = "2.1.2"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c46be926081c9f4dd5dd9b6f1d3e3229f2360bc6502dd8836f84a93b7c75e99a"
+checksum = "333af15b02563b8182cd863f925bd31ef8fa86a0e095d30c091956057d436153"
 dependencies = [
  "bitvec 1.0.1",
  "cfg-if 1.0.0",
  "derive_more",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info-derive",
  "serde",
 ]
 
 [[package]]
 name = "scale-info-derive"
-version = "2.1.2"
+version = "2.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50e334bb10a245e28e5fd755cabcafd96cfcd167c99ae63a46924ca8d8703a3c"
+checksum = "53f56acbd0743d29ffa08f911ab5397def774ad01bab3786804cf6ee057fb5e1"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -10416,9 +10464,9 @@
 
 [[package]]
 name = "security-framework"
-version = "2.6.1"
+version = "2.7.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2dc14f172faf8a0194a3aded622712b0de276821addc574fa54fc0a1167e10dc"
+checksum = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c"
 dependencies = [
  "bitflags",
  "core-foundation",
@@ -10457,9 +10505,9 @@
 
 [[package]]
 name = "semver"
-version = "1.0.13"
+version = "1.0.14"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "93f6841e709003d68bb2deee8c343572bf446003ec20a583e76f7b15cebf3711"
+checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4"
 dependencies = [
  "serde",
 ]
@@ -10472,18 +10520,18 @@
 
 [[package]]
 name = "serde"
-version = "1.0.143"
+version = "1.0.145"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53e8e5d5b70924f74ff5c6d64d9a5acd91422117c60f48c4e07855238a254553"
+checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.143"
+version = "1.0.145"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3d8e8de557aee63c26b85b947f5e59b690d0454c753f3adeb5cd7835ab88391"
+checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -10492,9 +10540,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.83"
+version = "1.0.85"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38dd04e3c8279e75b31ef29dbdceebfe5ad89f4d0937213c53f7d49d01b3d5a7"
+checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44"
 dependencies = [
  "itoa 1.0.3",
  "ryu",
@@ -10524,14 +10572,14 @@
 ]
 
 [[package]]
-name = "sha-1"
-version = "0.10.0"
+name = "sha1"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f"
+checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
- "digest 0.10.3",
+ "digest 0.10.5",
 ]
 
 [[package]]
@@ -10561,13 +10609,13 @@
 
 [[package]]
 name = "sha2"
-version = "0.10.2"
+version = "0.10.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676"
+checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0"
 dependencies = [
  "cfg-if 1.0.0",
  "cpufeatures",
- "digest 0.10.3",
+ "digest 0.10.5",
 ]
 
 [[package]]
@@ -10584,11 +10632,11 @@
 
 [[package]]
 name = "sha3"
-version = "0.10.2"
+version = "0.10.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0a31480366ec990f395a61b7c08122d99bd40544fdb5abcfc1b06bb29994312c"
+checksum = "e2904bea16a1ae962b483322a1c7b81d976029203aea1f461e51cd7705db7ba9"
 dependencies = [
- "digest 0.10.3",
+ "digest 0.10.5",
  "keccak",
 ]
 
@@ -10633,7 +10681,7 @@
 checksum = "02658e48d89f2bec991f9a78e69cfa4c316f8d6a6c4ec12fae1aeb263d486788"
 dependencies = [
  "digest 0.9.0",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
 ]
 
 [[package]]
@@ -10665,11 +10713,11 @@
 
 [[package]]
 name = "slot-range-helper"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "enumn",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "paste",
  "sp-runtime",
  "sp-std",
@@ -10686,9 +10734,9 @@
 
 [[package]]
 name = "smallvec"
-version = "1.9.0"
+version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
 name = "snap"
@@ -10706,18 +10754,18 @@
  "blake2",
  "chacha20poly1305",
  "curve25519-dalek 4.0.0-pre.1",
- "rand_core 0.6.3",
+ "rand_core 0.6.4",
  "ring",
  "rustc_version 0.4.0",
- "sha2 0.10.2",
+ "sha2 0.10.6",
  "subtle",
 ]
 
 [[package]]
 name = "socket2"
-version = "0.4.4"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
 dependencies = [
  "libc",
  "winapi",
@@ -10732,26 +10780,27 @@
  "base64",
  "bytes",
  "flate2",
- "futures 0.3.23",
+ "futures 0.3.24",
  "httparse",
  "log",
  "rand 0.8.5",
- "sha-1 0.9.8",
+ "sha-1",
 ]
 
 [[package]]
 name = "sp-api"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "hash-db",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api-proc-macro",
  "sp-core",
  "sp-runtime",
  "sp-state-machine",
  "sp-std",
+ "sp-trie",
  "sp-version",
  "thiserror",
 ]
@@ -10759,7 +10808,7 @@
 [[package]]
 name = "sp-api-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "blake2",
  "proc-macro-crate",
@@ -10771,9 +10820,9 @@
 [[package]]
 name = "sp-application-crypto"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-core",
@@ -10784,11 +10833,11 @@
 [[package]]
 name = "sp-arithmetic"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "integer-sqrt",
  "num-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-debug-derive",
@@ -10799,9 +10848,9 @@
 [[package]]
 name = "sp-authority-discovery"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -10812,10 +10861,10 @@
 [[package]]
 name = "sp-authorship"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-inherents",
  "sp-runtime",
  "sp-std",
@@ -10824,9 +10873,9 @@
 [[package]]
 name = "sp-block-builder"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -10836,12 +10885,12 @@
 [[package]]
 name = "sp-blockchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "lru 0.7.8",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "sp-api",
  "sp-consensus",
@@ -10854,13 +10903,13 @@
 [[package]]
 name = "sp-consensus"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "futures-timer",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-core",
  "sp-inherents",
  "sp-runtime",
@@ -10873,10 +10922,10 @@
 [[package]]
 name = "sp-consensus-aura"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-api",
  "sp-application-crypto",
@@ -10891,11 +10940,11 @@
 [[package]]
 name = "sp-consensus-babe"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "merlin",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-api",
@@ -10914,9 +10963,9 @@
 [[package]]
 name = "sp-consensus-slots"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-arithmetic",
@@ -10928,9 +10977,9 @@
 [[package]]
 name = "sp-consensus-vrf"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "schnorrkel",
  "sp-core",
@@ -10941,15 +10990,15 @@
 [[package]]
 name = "sp-core"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "base58",
  "bitflags",
  "blake2-rfc",
  "byteorder",
  "dyn-clonable",
- "ed25519-dalek",
- "futures 0.3.23",
+ "ed25519-zebra",
+ "futures 0.3.24",
  "hash-db",
  "hash256-std-hasher",
  "hex",
@@ -10959,7 +11008,7 @@
  "log",
  "merlin",
  "num-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "parking_lot 0.12.1",
  "primitive-types",
@@ -10987,13 +11036,13 @@
 [[package]]
 name = "sp-core-hashing"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "blake2",
  "byteorder",
- "digest 0.10.3",
- "sha2 0.10.2",
- "sha3 0.10.2",
+ "digest 0.10.5",
+ "sha2 0.10.6",
+ "sha3 0.10.5",
  "sp-std",
  "twox-hash",
 ]
@@ -11001,7 +11050,7 @@
 [[package]]
 name = "sp-core-hashing-proc-macro"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11012,7 +11061,7 @@
 [[package]]
 name = "sp-database"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "kvdb",
  "parking_lot 0.12.1",
@@ -11021,7 +11070,7 @@
 [[package]]
 name = "sp-debug-derive"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11031,10 +11080,10 @@
 [[package]]
 name = "sp-externalities"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "environmental",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-std",
  "sp-storage",
 ]
@@ -11042,11 +11091,11 @@
 [[package]]
 name = "sp-finality-grandpa"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "finality-grandpa",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-api",
@@ -11060,11 +11109,11 @@
 [[package]]
 name = "sp-inherents"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "impl-trait-for-tuples",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-core",
  "sp-runtime",
  "sp-std",
@@ -11074,13 +11123,14 @@
 [[package]]
 name = "sp-io"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "bytes",
+ "futures 0.3.24",
  "hash-db",
  "libsecp256k1",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "secp256k1",
  "sp-core",
@@ -11099,7 +11149,7 @@
 [[package]]
 name = "sp-keyring"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "lazy_static",
  "sp-core",
@@ -11110,12 +11160,12 @@
 [[package]]
 name = "sp-keystore"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "merlin",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "schnorrkel",
  "serde",
@@ -11127,7 +11177,7 @@
 [[package]]
 name = "sp-maybe-compressed-blob"
 version = "4.1.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "thiserror",
  "zstd",
@@ -11136,10 +11186,10 @@
 [[package]]
 name = "sp-mmr-primitives"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "serde",
  "sp-api",
  "sp-core",
@@ -11151,9 +11201,9 @@
 [[package]]
 name = "sp-npos-elections"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "serde",
  "sp-arithmetic",
@@ -11165,7 +11215,7 @@
 [[package]]
 name = "sp-offchain"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "sp-api",
  "sp-core",
@@ -11175,7 +11225,7 @@
 [[package]]
 name = "sp-panic-handler"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "backtrace",
  "lazy_static",
@@ -11185,7 +11235,7 @@
 [[package]]
 name = "sp-rpc"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "rustc-hash",
  "serde",
@@ -11195,13 +11245,13 @@
 [[package]]
 name = "sp-runtime"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "either",
  "hash256-std-hasher",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-util-mem",
  "paste",
  "rand 0.7.3",
@@ -11217,10 +11267,11 @@
 [[package]]
 name = "sp-runtime-interface"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
+ "bytes",
  "impl-trait-for-tuples",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "primitive-types",
  "sp-externalities",
  "sp-runtime-interface-proc-macro",
@@ -11234,7 +11285,7 @@
 [[package]]
 name = "sp-runtime-interface-proc-macro"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "Inflector",
  "proc-macro-crate",
@@ -11246,32 +11297,23 @@
 [[package]]
 name = "sp-sandbox"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-core",
  "sp-io",
  "sp-std",
  "sp-wasm-interface",
  "wasmi",
-]
-
-[[package]]
-name = "sp-serializer"
-version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
-dependencies = [
- "serde",
- "serde_json",
 ]
 
 [[package]]
 name = "sp-session"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-api",
  "sp-core",
@@ -11283,9 +11325,9 @@
 [[package]]
 name = "sp-staking"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "sp-std",
@@ -11294,12 +11336,12 @@
 [[package]]
 name = "sp-state-machine"
 version = "0.12.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "hash-db",
  "log",
  "num-traits",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "rand 0.7.3",
  "smallvec",
@@ -11316,15 +11358,15 @@
 [[package]]
 name = "sp-std"
 version = "4.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 
 [[package]]
 name = "sp-storage"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "impl-serde",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "ref-cast",
  "serde",
  "sp-debug-derive",
@@ -11334,7 +11376,7 @@
 [[package]]
 name = "sp-tasks"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "log",
  "sp-core",
@@ -11347,12 +11389,12 @@
 [[package]]
 name = "sp-timestamp"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "futures-timer",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-inherents",
  "sp-runtime",
@@ -11363,9 +11405,9 @@
 [[package]]
 name = "sp-tracing"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-std",
  "tracing",
  "tracing-core",
@@ -11375,7 +11417,7 @@
 [[package]]
 name = "sp-transaction-pool"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "sp-api",
  "sp-runtime",
@@ -11384,11 +11426,11 @@
 [[package]]
 name = "sp-transaction-storage-proof"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-inherents",
@@ -11400,15 +11442,22 @@
 [[package]]
 name = "sp-trie"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
+ "ahash",
  "hash-db",
+ "hashbrown 0.12.3",
+ "lazy_static",
+ "lru 0.7.8",
  "memory-db",
- "parity-scale-codec 3.1.5",
+ "nohash-hasher",
+ "parity-scale-codec 3.2.1",
+ "parking_lot 0.12.1",
  "scale-info",
  "sp-core",
  "sp-std",
  "thiserror",
+ "tracing",
  "trie-db",
  "trie-root",
 ]
@@ -11416,10 +11465,10 @@
 [[package]]
 name = "sp-version"
 version = "5.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "impl-serde",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parity-wasm 0.42.2",
  "scale-info",
  "serde",
@@ -11433,9 +11482,9 @@
 [[package]]
 name = "sp-version-proc-macro"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "proc-macro2",
  "quote",
  "syn",
@@ -11444,11 +11493,11 @@
 [[package]]
 name = "sp-wasm-interface"
 version = "6.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-std",
  "wasmi",
  "wasmtime",
@@ -11462,9 +11511,9 @@
 
 [[package]]
 name = "ss58-registry"
-version = "1.25.0"
+version = "1.30.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a039906277e0d8db996cd9d1ef19278c10209d994ecfc1025ced16342873a17c"
+checksum = "c2486f3d026e958566c6079caef44108cddf0ae6f8a411ef74fb08cdb56e614a"
 dependencies = [
  "Inflector",
  "num-format",
@@ -11577,7 +11626,7 @@
 [[package]]
 name = "substrate-build-script-utils"
 version = "3.0.0"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "platforms",
 ]
@@ -11585,13 +11634,13 @@
 [[package]]
 name = "substrate-frame-rpc-system"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "frame-system-rpc-runtime-api",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-rpc-api",
  "sc-transaction-pool-api",
@@ -11606,7 +11655,7 @@
 [[package]]
 name = "substrate-prometheus-endpoint"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "futures-util",
  "hyper",
@@ -11619,11 +11668,11 @@
 [[package]]
 name = "substrate-state-trie-migration-rpc"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-rpc-api",
  "scale-info",
@@ -11640,12 +11689,12 @@
 [[package]]
 name = "substrate-test-client"
 version = "2.0.1"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "async-trait",
- "futures 0.3.23",
+ "futures 0.3.24",
  "hex",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sc-client-api",
  "sc-client-db",
  "sc-consensus",
@@ -11666,9 +11715,9 @@
 [[package]]
 name = "substrate-test-utils"
 version = "4.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "substrate-test-utils-derive",
  "tokio",
 ]
@@ -11676,7 +11725,7 @@
 [[package]]
 name = "substrate-test-utils-derive"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "proc-macro-crate",
  "proc-macro2",
@@ -11687,7 +11736,7 @@
 [[package]]
 name = "substrate-wasm-builder"
 version = "5.0.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "ansi_term",
  "build-helper",
@@ -11709,9 +11758,9 @@
 
 [[package]]
 name = "syn"
-version = "1.0.99"
+version = "1.0.101"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
+checksum = "e90cde112c4b9690b8cbe810cba9ddd8bc1d7472e2cae317b69e9438c1cba7d2"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11788,8 +11837,8 @@
 
 [[package]]
 name = "test-runtime-constants"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -11818,7 +11867,7 @@
  "pallet-timestamp",
  "pallet-transaction-payment",
  "pallet-unique",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-core",
  "sp-io",
@@ -11830,24 +11879,24 @@
 
 [[package]]
 name = "textwrap"
-version = "0.15.0"
+version = "0.15.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb"
+checksum = "949517c0cf1bf4ee812e2e07e08ab448e3ae0d23472aee8a06c985f0c8815b16"
 
 [[package]]
 name = "thiserror"
-version = "1.0.32"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f5f6586b7f764adc0231f4c79be7b920e766bb2f3e51b3661cdb263828f19994"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.32"
+version = "1.0.37"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12bafc5b54507e0149cdf1b145a5d80ab80a90bcd9275df43d4fff68460f6c21"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -11976,9 +12025,9 @@
 
 [[package]]
 name = "tokio"
-version = "1.20.1"
+version = "1.21.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
+checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
 dependencies = [
  "autocfg",
  "bytes",
@@ -11986,7 +12035,6 @@
  "memchr",
  "mio",
  "num_cpus",
- "once_cell",
  "parking_lot 0.12.1",
  "pin-project-lite 0.2.9",
  "signal-hook-registry",
@@ -12019,9 +12067,9 @@
 
 [[package]]
 name = "tokio-stream"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9"
+checksum = "f6edf2d6bc038a43d31353570e27270603f4648d18f5ed10c0e179abe43255af"
 dependencies = [
  "futures-core",
  "pin-project-lite 0.2.9",
@@ -12030,9 +12078,9 @@
 
 [[package]]
 name = "tokio-util"
-version = "0.7.3"
+version = "0.7.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
+checksum = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740"
 dependencies = [
  "bytes",
  "futures-core",
@@ -12103,8 +12151,8 @@
 
 [[package]]
 name = "tracing-gum"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "polkadot-node-jaeger",
  "polkadot-primitives",
@@ -12114,8 +12162,8 @@
 
 [[package]]
 name = "tracing-gum-proc-macro"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "expander 0.0.6",
  "proc-macro-crate",
@@ -12170,9 +12218,9 @@
 
 [[package]]
 name = "trie-db"
-version = "0.23.1"
+version = "0.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32d034c0d3db64b43c31de38e945f15b40cd4ca6d2dcfc26d4798ce8de4ab83"
+checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908"
 dependencies = [
  "hash-db",
  "hashbrown 0.12.3",
@@ -12213,7 +12261,7 @@
  "futures-channel",
  "futures-io",
  "futures-util",
- "idna",
+ "idna 0.2.3",
  "ipnet",
  "lazy_static",
  "log",
@@ -12252,12 +12300,13 @@
 [[package]]
 name = "try-runtime-cli"
 version = "0.10.0-dev"
-source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.27#8eff668a42325aeb4433eace1604f4d286a6ec05"
+source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.29#c6ebc1e73f85deba349db0ea785ad53addb6f69f"
 dependencies = [
  "clap",
+ "frame-try-runtime",
  "jsonrpsee",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "remote-externalities",
  "sc-chain-spec",
  "sc-cli",
@@ -12287,7 +12336,7 @@
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
  "cfg-if 1.0.0",
- "digest 0.10.3",
+ "digest 0.10.5",
  "rand 0.8.5",
  "static_assertions",
 ]
@@ -12307,7 +12356,7 @@
  "jsonrpsee",
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rmrk-rpc",
  "sp-api",
  "sp-blockchain",
@@ -12320,15 +12369,15 @@
 
 [[package]]
 name = "ucd-trie"
-version = "0.1.4"
+version = "0.1.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "89570599c4fe5585de2b388aab47e99f7fa4e9238a1399f707a02e356058141c"
+checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81"
 
 [[package]]
 name = "uint"
-version = "0.9.3"
+version = "0.9.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "12f03af7ccf01dd611cc450a0d10dbc9b745770d096473e2faf0ca6e2d66d1e0"
+checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601"
 dependencies = [
  "byteorder",
  "crunchy",
@@ -12353,34 +12402,34 @@
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.3"
+version = "1.0.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
+checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
 
 [[package]]
 name = "unicode-normalization"
-version = "0.1.21"
+version = "0.1.22"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6"
+checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
 dependencies = [
  "tinyvec",
 ]
 
 [[package]]
 name = "unicode-width"
-version = "0.1.9"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "unicode-xid"
-version = "0.2.3"
+version = "0.2.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
+checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "unique-node"
-version = "0.9.27"
+version = "0.9.29"
 dependencies = [
  "app-promotion-rpc",
  "clap",
@@ -12404,14 +12453,14 @@
  "fp-rpc",
  "frame-benchmarking",
  "frame-benchmarking-cli",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "log",
  "opal-runtime",
  "pallet-ethereum",
  "pallet-transaction-payment-rpc",
  "pallet-transaction-payment-rpc-runtime-api",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "parking_lot 0.12.1",
  "polkadot-cli",
  "polkadot-parachain",
@@ -12478,7 +12527,7 @@
  "fc-rpc-core",
  "fp-rpc",
  "fp-storage",
- "futures 0.3.23",
+ "futures 0.3.24",
  "jsonrpsee",
  "pallet-common",
  "pallet-ethereum",
@@ -12581,7 +12630,7 @@
  "pallet-unique-scheduler",
  "pallet-xcm",
  "parachain-info",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "rmrk-rpc",
  "scale-info",
@@ -12640,7 +12689,7 @@
 
 [[package]]
 name = "up-common"
-version = "0.9.27"
+version = "0.9.29"
 dependencies = [
  "fp-rpc",
  "frame-support",
@@ -12660,7 +12709,7 @@
  "frame-support",
  "frame-system",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "rmrk-traits",
  "scale-info",
  "serde",
@@ -12676,7 +12725,7 @@
 dependencies = [
  "pallet-common",
  "pallet-evm",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-api",
  "sp-core",
  "sp-runtime",
@@ -12687,20 +12736,19 @@
 [[package]]
 name = "up-sponsorship"
 version = "0.1.0"
-source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.27#853766d6033ceb68a2bef196790b962dd0663a04"
+source = "git+https://github.com/uniquenetwork/pallet-sponsoring?branch=polkadot-v0.9.29#3f663c3ee19933cd5545e0420ce2562fa8301235"
 dependencies = [
  "impl-trait-for-tuples",
 ]
 
 [[package]]
 name = "url"
-version = "2.2.2"
+version = "2.3.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
 dependencies = [
  "form_urlencoded",
- "idna",
- "matches",
+ "idna 0.3.0",
  "percent-encoding",
 ]
 
@@ -12785,9 +12833,9 @@
 
 [[package]]
 name = "wasm-bindgen"
-version = "0.2.82"
+version = "0.2.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
 dependencies = [
  "cfg-if 1.0.0",
  "wasm-bindgen-macro",
@@ -12795,9 +12843,9 @@
 
 [[package]]
 name = "wasm-bindgen-backend"
-version = "0.2.82"
+version = "0.2.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
 dependencies = [
  "bumpalo",
  "log",
@@ -12810,9 +12858,9 @@
 
 [[package]]
 name = "wasm-bindgen-futures"
-version = "0.4.32"
+version = "0.4.33"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad"
+checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
 dependencies = [
  "cfg-if 1.0.0",
  "js-sys",
@@ -12822,9 +12870,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro"
-version = "0.2.82"
+version = "0.2.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
 dependencies = [
  "quote",
  "wasm-bindgen-macro-support",
@@ -12832,9 +12880,9 @@
 
 [[package]]
 name = "wasm-bindgen-macro-support"
-version = "0.2.82"
+version = "0.2.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -12845,9 +12893,9 @@
 
 [[package]]
 name = "wasm-bindgen-shared"
-version = "0.2.82"
+version = "0.2.83"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
 
 [[package]]
 name = "wasm-gc-api"
@@ -12875,7 +12923,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "be0ecb0db480561e9a7642b5d3e4187c128914e58aa84330b9493e3eb68c5e7f"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "js-sys",
  "parking_lot 0.11.2",
  "pin-utils",
@@ -13088,9 +13136,9 @@
 
 [[package]]
 name = "web-sys"
-version = "0.3.59"
+version = "0.3.60"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1"
+checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
 dependencies = [
  "js-sys",
  "wasm-bindgen",
@@ -13108,9 +13156,9 @@
 
 [[package]]
 name = "webpki-roots"
-version = "0.22.4"
+version = "0.22.5"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1c760f0d366a6c24a02ed7816e23e691f5d92291f94d15e836006fd11b04daf"
+checksum = "368bfe657969fb01238bb756d351dcade285e0f6fcbd36dcb23359a5169975be"
 dependencies = [
  "webpki",
 ]
@@ -13126,8 +13174,8 @@
 
 [[package]]
 name = "westend-runtime"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "beefy-primitives",
  "bitvec 1.0.1",
@@ -13180,7 +13228,7 @@
  "pallet-vesting",
  "pallet-xcm",
  "pallet-xcm-benchmarks",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "polkadot-primitives",
  "polkadot-runtime-common",
@@ -13215,8 +13263,8 @@
 
 [[package]]
 name = "westend-runtime-constants"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "polkadot-primitives",
@@ -13227,13 +13275,13 @@
 
 [[package]]
 name = "which"
-version = "4.2.5"
+version = "4.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c4fb54e6113b6a8772ee41c3404fb0301ac79604489467e0a9ce1f3e97c24ae"
+checksum = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b"
 dependencies = [
  "either",
- "lazy_static",
  "libc",
+ "once_cell",
 ]
 
 [[package]]
@@ -13396,13 +13444,13 @@
 
 [[package]]
 name = "xcm"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "derivative",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "scale-info",
  "sp-runtime",
  "xcm-procedural",
@@ -13410,14 +13458,14 @@
 
 [[package]]
 name = "xcm-builder"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-support",
  "frame-system",
  "log",
  "pallet-transaction-payment",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "polkadot-parachain",
  "scale-info",
  "sp-arithmetic",
@@ -13430,14 +13478,14 @@
 
 [[package]]
 name = "xcm-executor"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "frame-benchmarking",
  "frame-support",
  "impl-trait-for-tuples",
  "log",
- "parity-scale-codec 3.1.5",
+ "parity-scale-codec 3.2.1",
  "sp-arithmetic",
  "sp-core",
  "sp-io",
@@ -13448,8 +13496,8 @@
 
 [[package]]
 name = "xcm-procedural"
-version = "0.9.27"
-source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.27#b017bad50d360a1c6e3cdf9652bdb85e5f479fea"
+version = "0.9.29"
+source = "git+https://github.com/paritytech/polkadot?branch=release-v0.9.29#94078b44fb6c9767bf60ffcaaa3be40681be5a76"
 dependencies = [
  "Inflector",
  "proc-macro2",
@@ -13463,7 +13511,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "e5d9ba232399af1783a58d8eb26f6b5006fbefe2dc9ef36bd283324792d03ea5"
 dependencies = [
- "futures 0.3.23",
+ "futures 0.3.24",
  "log",
  "nohash-hasher",
  "parking_lot 0.12.1",
modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,8 +14,3 @@
 default-members = ['node/*', 'runtime/opal']
 [profile.release]
 panic = 'unwind'
-
-[patch.crates-io]
-jsonrpsee = { git = "https://github.com/uniquenetwork/jsonrpsee", branch = "unique-v0.14.0-fix-unknown-fields" }
-jsonrpsee-types = { git = "https://github.com/uniquenetwork/jsonrpsee", branch = "unique-v0.14.0-fix-unknown-fields" }
-jsonrpsee-core = { git = "https://github.com/uniquenetwork/jsonrpsee", branch = "unique-v0.14.0-fix-unknown-fields" }
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -11,12 +11,12 @@
 app-promotion-rpc = { path = "../../primitives/app_promotion_rpc"}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc" }
 codec = { package = "parity-scale-codec", version = "3.1.2" }
-jsonrpsee = { version = "0.14.0", features = ["server", "macros"] }
+jsonrpsee = { version = "0.15.1", features = ["server", "macros"] }
 anyhow = "1.0.57"
 
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-blockchain = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-rpc = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
modifiedcrates/evm-coder/Cargo.tomldiffbeforeafterboth
--- a/crates/evm-coder/Cargo.toml
+++ b/crates/evm-coder/Cargo.toml
@@ -11,9 +11,10 @@
 primitive-types = { version = "0.11.1", default-features = false }
 # Evm doesn't have reexports for log and others
 ethereum = { version = "0.12.0", default-features = false }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 # Error types for execution
-evm-core = { default-features = false , git = "https://github.com/uniquenetwork/evm", branch = "unique-polkadot-v0.9.27" }
+evm-core = { default-features = false , git = "https://github.com/uniquenetwork/evm", branch = "unique-polkadot-v0.9.29" }
 # We have tuple-heavy code in solidity.rs
 impl-trait-for-tuples = "0.2.2"
 
@@ -24,4 +25,4 @@
 
 [features]
 default = ["std"]
-std = ["ethereum/std", "primitive-types/std", "evm-core/std"]
+std = ["ethereum/std", "primitive-types/std", "evm-core/std", "frame-support/std"]
modifiedcrates/evm-coder/procedural/src/solidity_interface.rsdiffbeforeafterboth
--- a/crates/evm-coder/procedural/src/solidity_interface.rs
+++ b/crates/evm-coder/procedural/src/solidity_interface.rs
@@ -560,6 +560,7 @@
 	selector: u32,
 	args: Vec<MethodArg>,
 	has_normal_args: bool,
+	has_value_args: bool,
 	mutability: Mutability,
 	result: Type,
 	weight: Option<Expr>,
@@ -655,6 +656,7 @@
 			write!(selector_str, "{}", arg.selector_ty()).unwrap();
 			has_normal_args = true;
 		}
+		let has_value_args = args.iter().any(|a| a.is_value());
 		selector_str.push(')');
 		let selector = fn_selector_str(&selector_str);
 
@@ -667,6 +669,7 @@
 			selector,
 			args,
 			has_normal_args,
+			has_value_args,
 			mutability,
 			result: result.clone(),
 			weight,
@@ -823,7 +826,7 @@
 		let docs = &self.docs;
 		let selector_str = &self.selector_str;
 		let selector = self.selector;
-
+		let is_payable = self.has_value_args;
 		quote! {
 			SolidityFunction {
 				docs: &[#(#docs),*],
@@ -831,6 +834,7 @@
 				selector: #selector,
 				name: #camel_name,
 				mutability: #mutability,
+				is_payable: #is_payable,
 				args: (
 					#(
 						#args,
@@ -1122,7 +1126,7 @@
 							#weight_variants,
 						)*
 						// TODO: It should be very cheap, but not free
-						Self::ERC165Call(::evm_coder::ERC165Call::SupportsInterface {..}, _) => 100u64.into(),
+						Self::ERC165Call(::evm_coder::ERC165Call::SupportsInterface {..}, _) => ::frame_support::weights::Weight::from_ref_time(100).into(),
 						#(
 							#weight_variants_this,
 						)*
modifiedcrates/evm-coder/src/execution.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/execution.rs
+++ b/crates/evm-coder/src/execution.rs
@@ -58,9 +58,18 @@
 		Self { weight }
 	}
 }
+impl From<u64> for DispatchInfo {
+	fn from(weight: u64) -> Self {
+		Self {
+			weight: Weight::from_ref_time(weight),
+		}
+	}
+}
 impl From<()> for DispatchInfo {
 	fn from(_: ()) -> Self {
-		Self { weight: 0 }
+		Self {
+			weight: Weight::zero(),
+		}
 	}
 }
 
modifiedcrates/evm-coder/src/lib.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/lib.rs
+++ b/crates/evm-coder/src/lib.rs
@@ -169,7 +169,7 @@
 /// Should be same between evm-coder and substrate to avoid confusion
 ///
 /// Isn't same thing as gas, some mapping is required between those types
-pub type Weight = u64;
+pub type Weight = frame_support::weights::Weight;
 
 /// In substrate, we have benchmarking, which allows
 /// us to not rely on gas metering, but instead predict amount of gas to execute call
modifiedcrates/evm-coder/src/solidity.rsdiffbeforeafterboth
--- a/crates/evm-coder/src/solidity.rs
+++ b/crates/evm-coder/src/solidity.rs
@@ -422,6 +422,7 @@
 	pub args: A,
 	pub result: R,
 	pub mutability: SolidityMutability,
+	pub is_payable: bool,
 }
 impl<A: SolidityArguments, R: SolidityArguments> SolidityFunctions for SolidityFunction<A, R> {
 	fn solidity_name(
@@ -452,6 +453,9 @@
 			SolidityMutability::View => write!(writer, " view")?,
 			SolidityMutability::Mutable => {}
 		}
+		if self.is_payable {
+			write!(writer, " payable")?;
+		}
 		if !self.result.is_empty() {
 			write!(writer, " returns (")?;
 			self.result.solidity_name(writer, tc)?;
modifiedcrates/evm-coder/tests/conditional_is.rsdiffbeforeafterboth
--- a/crates/evm-coder/tests/conditional_is.rs
+++ b/crates/evm-coder/tests/conditional_is.rs
@@ -1,4 +1,4 @@
-use evm_coder::{types::*, solidity_interface, execution::Result, Call};
+use evm_coder::{types::*, solidity_interface, execution::Result};
 
 pub struct Contract(bool);
 
modifiednode/cli/Cargo.tomldiffbeforeafterboth
--- a/node/cli/Cargo.toml
+++ b/node/cli/Cargo.toml
@@ -3,7 +3,7 @@
 
 [build-dependencies.substrate-build-script-utils]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 ################################################################################
 # Substrate Dependecies
@@ -16,158 +16,158 @@
 
 [dependencies.frame-benchmarking]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-benchmarking-cli]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.try-runtime-cli]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment-rpc]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.substrate-prometheus-endpoint]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-basic-authorship]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-chain-spec]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-cli]
 features = ['wasmtime']
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-client-api]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-consensus]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-consensus-aura]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-executor]
 features = ['wasmtime']
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-finality-grandpa]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-keystore]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-rpc]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-rpc-api]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-service]
 features = ['wasmtime']
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-telemetry]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-transaction-pool]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-tracing]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-sysinfo]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-block-builder]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-api]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-blockchain]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus-aura]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-finality-grandpa]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-inherents]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-keystore]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-offchain]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-session]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-timestamp]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-transaction-pool]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-trie]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.substrate-frame-rpc-system]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sc-network]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.serde]
 features = ['derive']
@@ -178,76 +178,76 @@
 
 [dependencies.sc-consensus-manual-seal]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 ################################################################################
 # Cumulus dependencies
 
 [dependencies.cumulus-client-consensus-aura]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-client-consensus-common]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-client-collator]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-client-cli]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-client-network]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-primitives-core]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-primitives-parachain-inherent]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-client-service]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-relay-chain-interface]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-relay-chain-inprocess-interface]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-relay-chain-rpc-interface]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 ################################################################################
 # Polkadot dependencies
 [dependencies.polkadot-primitives]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 
 [dependencies.polkadot-service]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 
 [dependencies.polkadot-cli]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 
 [dependencies.polkadot-test-service]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 
 [dependencies.polkadot-parachain]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 
 
 ################################################################################
@@ -277,7 +277,7 @@
 
 [dependencies.pallet-transaction-payment-rpc-runtime-api]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 ################################################################################
 # Package
@@ -291,7 +291,7 @@
 license = 'GPLv3'
 name = 'unique-node'
 repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = "0.9.27"
+version = "0.9.29"
 
 [[bin]]
 name = 'unique-collator'
@@ -306,16 +306,16 @@
 flexi_logger = "0.22.5"
 parking_lot = '0.12.1'
 clap = "3.1.2"
-jsonrpsee = { version = "0.14.0", features = ["server", "macros"] }
+jsonrpsee = { version = "0.15.1", features = ["server", "macros"] }
 tokio = { version = "1.19.2", features = ["time"] }
 
-fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-consensus = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-db = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+fc-rpc-core = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-consensus = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-mapping-sync = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-db = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-rpc = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 unique-rpc = { default-features = false, path = "../rpc" }
 app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
modifiednode/cli/src/command.rsdiffbeforeafterboth
--- a/node/cli/src/command.rs
+++ b/node/cli/src/command.rs
@@ -574,7 +574,7 @@
 	fn base_path(&self) -> Result<Option<BasePath>> {
 		Ok(self
 			.shared_params()
-			.base_path()
+			.base_path()?
 			.or_else(|| self.base_path.clone().map(Into::into)))
 	}
 
@@ -626,10 +626,6 @@
 
 	fn transaction_pool(&self, is_dev: bool) -> Result<sc_service::config::TransactionPoolOptions> {
 		self.base.base.transaction_pool(is_dev)
-	}
-
-	fn state_cache_child_ratio(&self) -> Result<Option<usize>> {
-		self.base.base.state_cache_child_ratio()
 	}
 
 	fn rpc_methods(&self) -> Result<sc_service::config::RpcMethods> {
modifiednode/cli/src/service.rsdiffbeforeafterboth
--- a/node/cli/src/service.rs
+++ b/node/cli/src/service.rs
@@ -43,13 +43,13 @@
 use cumulus_primitives_core::ParaId;
 use cumulus_relay_chain_inprocess_interface::build_inprocess_relay_chain;
 use cumulus_relay_chain_interface::{RelayChainError, RelayChainInterface, RelayChainResult};
-use cumulus_relay_chain_rpc_interface::RelayChainRPCInterface;
+use cumulus_relay_chain_rpc_interface::{RelayChainRpcInterface, create_client_and_start_worker};
 
 // Substrate Imports
 use sc_client_api::ExecutorProvider;
 use sc_executor::NativeElseWasmExecutor;
 use sc_executor::NativeExecutionDispatch;
-use sc_network::NetworkService;
+use sc_network::{NetworkService, NetworkBlock};
 use sc_service::{BasePath, Configuration, PartialComponents, TaskManager};
 use sc_telemetry::{Telemetry, TelemetryHandle, TelemetryWorker, TelemetryWorkerHandle};
 use sp_keystore::SyncCryptoStorePtr;
@@ -320,10 +320,14 @@
 	Option<CollatorPair>,
 )> {
 	match collator_options.relay_chain_rpc_url {
-		Some(relay_chain_url) => Ok((
-			Arc::new(RelayChainRPCInterface::new(relay_chain_url).await?) as Arc<_>,
-			None,
-		)),
+		Some(relay_chain_url) => {
+			let rpc_client = create_client_and_start_worker(relay_chain_url, task_manager).await?;
+
+			Ok((
+				Arc::new(RelayChainRpcInterface::new(rpc_client)) as Arc<_>,
+				None,
+			))
+		}
 		None => build_inprocess_relay_chain(
 			polkadot_config,
 			parachain_config,
modifiednode/rpc/Cargo.tomldiffbeforeafterboth
--- a/node/rpc/Cargo.toml
+++ b/node/rpc/Cargo.toml
@@ -11,42 +11,42 @@
 
 [dependencies]
 futures = { version = "0.3.17", features = ["compat"] }
-jsonrpsee = { version = "0.14.0", features = ["server", "macros"] }
+jsonrpsee = { version = "0.15.1", features = ["server", "macros"] }
 # pallet-contracts-rpc = { git = 'https://github.com/paritytech/substrate', branch = 'master' }
-pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-consensus-epochs = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-storage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-client-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-consensus-epochs = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-finality-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-keystore = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-network = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-rpc-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-service = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-api = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-block-builder = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-blockchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-consensus = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-consensus-aura = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-offchain = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-storage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-session = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sc-transaction-pool = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 tokio = { version = "1.19.2", features = ["macros", "sync"] }
 
-pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-ethereum = { git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-storage = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-rpc-core = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-db = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fc-mapping-sync = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 pallet-common = { default-features = false, path = "../../pallets/common" }
 up-common = { path = "../../primitives/common" }
modifiednode/rpc/src/lib.rsdiffbeforeafterboth
--- a/node/rpc/src/lib.rs
+++ b/node/rpc/src/lib.rs
@@ -175,6 +175,8 @@
 		EthPubSubApiServer, EthSigner, Net, NetApiServer, Web3, Web3ApiServer,
 	};
 	use uc_rpc::{UniqueApiServer, Unique};
+
+	#[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
 	use uc_rpc::{AppPromotionApiServer, AppPromotion};
 
 	#[cfg(not(feature = "unique-runtime"))]
modifiedpallets/app-promotion/Cargo.tomldiffbeforeafterboth
--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -46,17 +46,17 @@
 # Substrate Dependencies
 
 codec = { default-features = false, features = ['derive'], package = 'parity-scale-codec', version = '3.1.2' }
-frame-benchmarking = {default-features = false, optional = true,  git = "https://github.com/paritytech/substrate",  branch = "polkadot-v0.9.27" }
-frame-support = { default-features = false,  git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-balances ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-timestamp ={ default-features = false,  git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-randomness-collective-flip ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm ={ default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-sp-std ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-benchmarking = {default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-balances ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-timestamp ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-randomness-collective-flip ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm ={ default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+sp-std ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io ={ default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 serde = { default-features = false, features = ['derive'], version = '1.0.130' }
 
 ################################################################################
modifiedpallets/app-promotion/src/lib.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -410,7 +410,7 @@
 				.sum();
 
 			if total_staked.is_zero() {
-				return Ok(None.into()); // TO-DO
+				return Ok(None::<Weight>.into()); // TO-DO
 			}
 
 			pendings
@@ -433,7 +433,7 @@
 
 			Self::deposit_event(Event::Unstake(staker_id, total_staked));
 
-			Ok(None.into())
+			Ok(None::<Weight>.into())
 		}
 
 		/// Sets the pallet to be the sponsor for the collection.
modifiedpallets/app-promotion/src/weights.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/weights.rs
+++ b/pallets/app-promotion/src/weights.rs
@@ -51,29 +51,29 @@
 	// Storage: AppPromotion PendingUnstake (r:1 w:0)
 	// Storage: System Account (r:1 w:1)
 	fn on_initialize(b: u32, ) -> Weight {
-		(2_651_000 as Weight)
+		Weight::from_ref_time(2_651_000)
 			// Standard Error: 103_000
-			.saturating_add((6_024_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(6_024_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: AppPromotion Admin (r:0 w:1)
 	fn set_admin_address() -> Weight {
-		(7_117_000 as Weight)
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(7_117_000)
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
 	// Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
 	// Storage: AppPromotion Staked (r:2 w:0)
 	fn payout_stakers(b: u32, ) -> Weight {
-		(9_958_000 as Weight)
+		Weight::from_ref_time(9_958_000)
 			// Standard Error: 8_000
-			.saturating_add((4_406_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(4_406_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion StakesPerAccount (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -82,9 +82,9 @@
 	// Storage: AppPromotion Staked (r:1 w:1)
 	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	fn stake() -> Weight {
-		(20_574_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(20_574_000)
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: AppPromotion PendingUnstake (r:1 w:1)
 	// Storage: AppPromotion Staked (r:2 w:1)
@@ -93,37 +93,37 @@
 	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	// Storage: AppPromotion StakesPerAccount (r:0 w:1)
 	fn unstake() -> Weight {
-		(31_703_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(31_703_000)
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn sponsor_collection() -> Weight {
-		(12_932_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_932_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn stop_sponsoring_collection() -> Weight {
-		(12_453_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_453_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
 	fn sponsor_contract() -> Weight {
-		(11_952_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(11_952_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
 	fn stop_sponsoring_contract() -> Weight {
-		(12_538_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_538_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 }
 
@@ -132,29 +132,29 @@
 	// Storage: AppPromotion PendingUnstake (r:1 w:0)
 	// Storage: System Account (r:1 w:1)
 	fn on_initialize(b: u32, ) -> Weight {
-		(2_651_000 as Weight)
+		Weight::from_ref_time(2_651_000)
 			// Standard Error: 103_000
-			.saturating_add((6_024_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(6_024_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: AppPromotion Admin (r:0 w:1)
 	fn set_admin_address() -> Weight {
-		(7_117_000 as Weight)
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(7_117_000)
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
 	// Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
 	// Storage: AppPromotion Staked (r:2 w:0)
 	fn payout_stakers(b: u32, ) -> Weight {
-		(9_958_000 as Weight)
+		Weight::from_ref_time(9_958_000)
 			// Standard Error: 8_000
-			.saturating_add((4_406_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(4_406_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion StakesPerAccount (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -163,9 +163,9 @@
 	// Storage: AppPromotion Staked (r:1 w:1)
 	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	fn stake() -> Weight {
-		(20_574_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(20_574_000)
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: AppPromotion PendingUnstake (r:1 w:1)
 	// Storage: AppPromotion Staked (r:2 w:1)
@@ -174,36 +174,36 @@
 	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	// Storage: AppPromotion StakesPerAccount (r:0 w:1)
 	fn unstake() -> Weight {
-		(31_703_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(31_703_000)
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn sponsor_collection() -> Weight {
-		(12_932_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_932_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn stop_sponsoring_collection() -> Weight {
-		(12_453_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_453_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
 	fn sponsor_contract() -> Weight {
-		(11_952_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(11_952_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
 	fn stop_sponsoring_contract() -> Weight {
-		(12_538_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(12_538_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 }
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -11,18 +11,18 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 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' }
 ethereum = { version = "0.12.0", default-features = false }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 serde = { version = "1.0.130", default-features = false }
 scale-info = { version = "2.0.1", default-features = false, features = [
modifiedpallets/common/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/common/src/benchmarking.rs
+++ b/pallets/common/src/benchmarking.rs
@@ -116,7 +116,9 @@
 	create_collection_raw(
 		owner,
 		CollectionMode::NFT,
-		|owner, data| <Pallet<T>>::init_collection(owner, data, CollectionFlags::default()),
+		|owner: T::CrossAccountId, data| {
+			<Pallet<T>>::init_collection(owner.clone(), owner, data, CollectionFlags::default())
+		},
 		|h| h,
 	)
 }
modifiedpallets/common/src/dispatch.rsdiffbeforeafterboth
--- a/pallets/common/src/dispatch.rs
+++ b/pallets/common/src/dispatch.rs
@@ -19,7 +19,7 @@
 	// Read collection
 	<T as frame_system::Config>::DbWeight::get().reads(1)
 	// Dynamic dispatch?
-	+ 6_000_000
+	+ Weight::from_ref_time(6_000_000)
 	// submit_logs is measured as part of collection pallets
 }
 
@@ -78,6 +78,7 @@
 	/// * `data` - Description of the created collection.
 	fn create(
 		sender: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 	) -> Result<CollectionId, DispatchError>;
 
modifiedpallets/common/src/lib.rsdiffbeforeafterboth
--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -185,21 +185,21 @@
 	/// Consume gas for reading.
 	pub fn consume_store_reads(&self, reads: u64) -> evm_coder::execution::Result<()> {
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
 				<T as frame_system::Config>::DbWeight::get()
 					.read
 					.saturating_mul(reads),
-			))
+			)))
 	}
 
 	/// Consume gas for writing.
 	pub fn consume_store_writes(&self, writes: u64) -> evm_coder::execution::Result<()> {
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
 				<T as frame_system::Config>::DbWeight::get()
 					.write
 					.saturating_mul(writes),
-			))
+			)))
 	}
 
 	/// Consume gas for reading and writing.
@@ -212,9 +212,9 @@
 		let reads = weight.read.saturating_mul(reads);
 		let writes = weight.read.saturating_mul(writes);
 		self.recorder
-			.consume_gas(T::GasWeightMapping::weight_to_gas(
+			.consume_gas(T::GasWeightMapping::weight_to_gas(Weight::from_ref_time(
 				reads.saturating_add(writes),
-			))
+			)))
 	}
 
 	/// Save collection to storage.
@@ -706,7 +706,7 @@
 		fn on_runtime_upgrade() -> Weight {
 			StorageVersion::new(1).put::<Pallet<T>>();
 
-			0
+			Weight::zero()
 		}
 	}
 }
@@ -866,6 +866,7 @@
 	/// * `flags` - Extra flags to store.
 	pub fn init_collection(
 		owner: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 		flags: CollectionFlags,
 	) -> Result<CollectionId, DispatchError> {
@@ -939,7 +940,7 @@
 				),
 			);
 			<T as Config>::Currency::settle(
-				owner.as_sub(),
+				payer.as_sub(),
 				imbalance,
 				WithdrawReasons::TRANSFER,
 				ExistenceRequirement::KeepAlive,
modifiedpallets/common/src/weights.rsdiffbeforeafterboth
--- a/pallets/common/src/weights.rs
+++ b/pallets/common/src/weights.rs
@@ -42,19 +42,19 @@
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: Common CollectionProperties (r:1 w:1)
 	fn set_collection_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 142_818_000
-			.saturating_add((2_786_252_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(2_786_252_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionProperties (r:1 w:1)
 	fn delete_collection_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 101_087_000
-			.saturating_add((2_739_521_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(2_739_521_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 }
 
@@ -62,18 +62,18 @@
 impl WeightInfo for () {
 	// Storage: Common CollectionProperties (r:1 w:1)
 	fn set_collection_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 142_818_000
-			.saturating_add((2_786_252_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(2_786_252_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionProperties (r:1 w:1)
 	fn delete_collection_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 101_087_000
-			.saturating_add((2_739_521_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(2_739_521_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 }
modifiedpallets/configuration/Cargo.tomldiffbeforeafterboth
--- a/pallets/configuration/Cargo.toml
+++ b/pallets/configuration/Cargo.toml
@@ -10,13 +10,13 @@
 scale-info = { version = "2.0.1", default-features = false, features = [
 	"derive",
 ] }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 smallvec = "1.6.1"
 
 [features]
modifiedpallets/configuration/src/lib.rsdiffbeforeafterboth
--- a/pallets/configuration/src/lib.rs
+++ b/pallets/configuration/src/lib.rs
@@ -20,7 +20,7 @@
 
 use frame_support::{
 	pallet,
-	weights::{WeightToFeePolynomial, WeightToFeeCoefficients, WeightToFeeCoefficient},
+	weights::{WeightToFeePolynomial, WeightToFeeCoefficients, WeightToFeeCoefficient, Weight},
 	traits::Get,
 };
 use sp_arithmetic::traits::{BaseArithmetic, Unsigned};
@@ -115,7 +115,7 @@
 
 pub struct FeeCalculator<T>(PhantomData<T>);
 impl<T: Config> fp_evm::FeeCalculator for FeeCalculator<T> {
-	fn min_gas_price() -> (U256, u64) {
+	fn min_gas_price() -> (U256, Weight) {
 		(
 			<MinGasPriceOverride<T>>::get().into(),
 			T::DbWeight::get().reads(1),
modifiedpallets/evm-coder-substrate/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-coder-substrate/Cargo.toml
+++ b/pallets/evm-coder-substrate/Cargo.toml
@@ -8,15 +8,15 @@
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 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", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
 
 [dependencies.codec]
modifiedpallets/evm-contract-helpers/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-contract-helpers/Cargo.toml
+++ b/pallets/evm-contract-helpers/Cargo.toml
@@ -12,16 +12,16 @@
 ethereum = { version = "0.12.0", default-features = false }
 
 # Substrate
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
 # Unique
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29" }
 
 # Locals
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
modifiedpallets/evm-migration/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-migration/Cargo.toml
+++ b/pallets/evm-migration/Cargo.toml
@@ -8,15 +8,15 @@
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 [dependencies.codec]
 default-features = false
modifiedpallets/evm-migration/src/weights.rsdiffbeforeafterboth
--- a/pallets/evm-migration/src/weights.rs
+++ b/pallets/evm-migration/src/weights.rs
@@ -46,25 +46,25 @@
 	// Storage: System Account (r:1 w:0)
 	// Storage: EVM AccountCodes (r:1 w:0)
 	fn begin() -> Weight {
-		(8_035_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(8_035_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:0)
 	// Storage: EVM AccountStorages (r:0 w:1)
 	fn set_data(b: u32, ) -> Weight {
-		(3_076_000 as Weight)
+		Weight::from_ref_time(3_076_000)
 			// Standard Error: 0
-			.saturating_add((828_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(828_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:1)
 	// Storage: EVM AccountCodes (r:0 w:1)
 	fn finish(_b: u32, ) -> Weight {
-		(6_591_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(6_591_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 }
 
@@ -74,24 +74,24 @@
 	// Storage: System Account (r:1 w:0)
 	// Storage: EVM AccountCodes (r:1 w:0)
 	fn begin() -> Weight {
-		(8_035_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(8_035_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:0)
 	// Storage: EVM AccountStorages (r:0 w:1)
 	fn set_data(b: u32, ) -> Weight {
-		(3_076_000 as Weight)
+		Weight::from_ref_time(3_076_000)
 			// Standard Error: 0
-			.saturating_add((828_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(828_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: EvmMigration MigrationPending (r:1 w:1)
 	// Storage: EVM AccountCodes (r:0 w:1)
 	fn finish(_b: u32, ) -> Weight {
-		(6_591_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(6_591_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 }
modifiedpallets/evm-transaction-payment/Cargo.tomldiffbeforeafterboth
--- a/pallets/evm-transaction-payment/Cargo.toml
+++ b/pallets/evm-transaction-payment/Cargo.toml
@@ -8,17 +8,17 @@
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 [dependencies.codec]
 default-features = false
modifiedpallets/foreign-assets/Cargo.tomldiffbeforeafterboth
--- a/pallets/foreign-assets/Cargo.toml
+++ b/pallets/foreign-assets/Cargo.toml
@@ -9,28 +9,28 @@
 serde = { version = "1.0.136", optional = true }
 scale-info = { version = "2.0.1", default-features = false, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
-sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false  }
-frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
-frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29", default-features = false }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29", default-features = false  }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29", default-features = false }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29", default-features = false }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29", default-features = false }
 pallet-common = { default-features = false, path = '../common' }
 pallet-fungible = { default-features = false, path = '../fungible' }
-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
+xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29", default-features = false }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29", default-features = false }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.29", default-features = false }
 #orml-tokens = { git = 'https://github.com/UniqueNetwork/open-runtime-module-library', branch = 'unique-polkadot-v0.9.24', version = "0.4.1-dev", default-features = false }
-orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.27", version = "0.4.1-dev", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+orml-tokens = { git = "https://github.com/UniqueNetwork/open-runtime-module-library", branch = "polkadot-v0.9.29", version = "0.4.1-dev", default-features = false }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
 [dev-dependencies]
 serde_json = "1.0.68"
 hex = { version = "0.4" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
 [features]
 default = ["std"]
@@ -50,4 +50,4 @@
 	"orml-tokens/std"
 ]
 try-runtime = ["frame-support/try-runtime"]
-runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']
\ No newline at end of file
+runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']
modifiedpallets/foreign-assets/src/lib.rsdiffbeforeafterboth
--- a/pallets/foreign-assets/src/lib.rs
+++ b/pallets/foreign-assets/src/lib.rs
@@ -54,7 +54,7 @@
 
 // NOTE:v1::MultiLocation is used in storages, we would need to do migration if upgrade the
 // MultiLocation in the future.
-use xcm::opaque::latest::prelude::XcmError;
+use xcm::opaque::latest::{prelude::XcmError, Weight};
 use xcm::{v1::MultiLocation, VersionedMultiLocation};
 use xcm_executor::{traits::WeightTrader, Assets};
 
@@ -309,11 +309,9 @@
 				mode: CollectionMode::Fungible(md.decimals),
 				..Default::default()
 			};
-
-			let bounded_collection_id = <PalletFungible<T>>::init_foreign_collection(
-				CrossAccountId::from_sub(owner),
-				data,
-			)?;
+			let owner = T::CrossAccountId::from_sub(owner);
+			let bounded_collection_id =
+				<PalletFungible<T>>::init_foreign_collection(owner.clone(), owner, data)?;
 			let foreign_asset_id =
 				Self::do_register_foreign_asset(&location, &metadata, bounded_collection_id)?;
 
modifiedpallets/foreign-assets/src/weights.rsdiffbeforeafterboth
--- a/pallets/foreign-assets/src/weights.rs
+++ b/pallets/foreign-assets/src/weights.rs
@@ -53,16 +53,16 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn register_foreign_asset() -> Weight {
-		(52_161_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(11 as Weight))
+		Weight::from_ref_time(52_161_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(11 as u64))
 	}
 	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
 	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
 	fn update_foreign_asset() -> Weight {
-		(19_111_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(19_111_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 }
 
@@ -80,15 +80,15 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn register_foreign_asset() -> Weight {
-		(52_161_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(11 as Weight))
+		Weight::from_ref_time(52_161_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(11 as u64))
 	}
 	// Storage: ForeignAssets ForeignAssetLocations (r:1 w:1)
 	// Storage: ForeignAssets AssetMetadatas (r:1 w:1)
 	fn update_foreign_asset() -> Weight {
-		(19_111_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(19_111_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 }
modifiedpallets/fungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/fungible/Cargo.toml
+++ b/pallets/fungible/Cargo.toml
@@ -11,19 +11,19 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 pallet-common = { default-features = false, path = '../common' }
 pallet-structure = { default-features = false, path = '../structure' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
 ethereum = { version = "0.12.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
modifiedpallets/fungible/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/fungible/src/benchmarking.rs
+++ b/pallets/fungible/src/benchmarking.rs
@@ -31,7 +31,7 @@
 	create_collection_raw(
 		owner,
 		CollectionMode::Fungible(0),
-		<Pallet<T>>::init_collection,
+		|owner: T::CrossAccountId, data| <Pallet<T>>::init_collection(owner.clone(), owner, data),
 		FungibleHandle::cast,
 	)
 }
modifiedpallets/fungible/src/common.rsdiffbeforeafterboth
--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -45,7 +45,7 @@
 			CreateItemExData::Fungible(f) => {
 				<SelfWeightOf<T>>::create_multiple_items_ex(f.len() as u32)
 			}
-			_ => 0,
+			_ => Weight::zero(),
 		}
 	}
 
@@ -55,27 +55,27 @@
 
 	fn set_collection_properties(_amount: u32) -> Weight {
 		// Error
-		0
+		Weight::zero()
 	}
 
 	fn delete_collection_properties(_amount: u32) -> Weight {
 		// Error
-		0
+		Weight::zero()
 	}
 
 	fn set_token_properties(_amount: u32) -> Weight {
 		// Error
-		0
+		Weight::zero()
 	}
 
 	fn delete_token_properties(_amount: u32) -> Weight {
 		// Error
-		0
+		Weight::zero()
 	}
 
 	fn set_token_property_permissions(_amount: u32) -> Weight {
 		// Error
-		0
+		Weight::zero()
 	}
 
 	fn transfer() -> Weight {
@@ -101,11 +101,11 @@
 
 	fn burn_recursively_breadth_raw(_amount: u32) -> Weight {
 		// Fungible tokens can't have children
-		0
+		Weight::zero()
 	}
 
 	fn token_owner() -> Weight {
-		0
+		Weight::zero()
 	}
 }
 
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -210,18 +210,21 @@
 	/// Initializes the collection. Returns [CollectionId] on success, [DispatchError] otherwise.
 	pub fn init_collection(
 		owner: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 	) -> Result<CollectionId, DispatchError> {
-		<PalletCommon<T>>::init_collection(owner, data, CollectionFlags::default())
+		<PalletCommon<T>>::init_collection(owner, payer, data, CollectionFlags::default())
 	}
 
 	/// Initializes the collection with ForeignCollection flag. Returns [CollectionId] on success, [DispatchError] otherwise.
 	pub fn init_foreign_collection(
 		owner: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 	) -> Result<CollectionId, DispatchError> {
 		let id = <PalletCommon<T>>::init_collection(
 			owner,
+			payer,
 			data,
 			CollectionFlags {
 				foreign: true,
modifiedpallets/fungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/fungible/src/weights.rs
+++ b/pallets/fungible/src/weights.rs
@@ -48,55 +48,55 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn create_item() -> Weight {
-		(18_195_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(18_195_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:4 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(19_218_000 as Weight)
+		Weight::from_ref_time(19_218_000)
 			// Standard Error: 3_000
-			.saturating_add((4_516_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(4_516_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_item() -> Weight {
-		(18_719_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(18_719_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer() -> Weight {
-		(20_563_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(20_563_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible Balance (r:1 w:0)
 	// Storage: Fungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(17_583_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_583_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer_from() -> Weight {
-		(29_845_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(29_845_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(3 as u64))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_from() -> Weight {
-		(28_248_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(28_248_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(3 as u64))
 	}
 }
 
@@ -105,54 +105,54 @@
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn create_item() -> Weight {
-		(18_195_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(18_195_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:4 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(19_218_000 as Weight)
+		Weight::from_ref_time(19_218_000)
 			// Standard Error: 3_000
-			.saturating_add((4_516_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(4_516_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_item() -> Weight {
-		(18_719_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(18_719_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer() -> Weight {
-		(20_563_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(20_563_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Fungible Balance (r:1 w:0)
 	// Storage: Fungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(17_583_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_583_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible Balance (r:2 w:2)
 	fn transfer_from() -> Weight {
-		(29_845_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(29_845_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(3 as u64))
 	}
 	// Storage: Fungible Allowance (r:1 w:1)
 	// Storage: Fungible TotalSupply (r:1 w:1)
 	// Storage: Fungible Balance (r:1 w:1)
 	fn burn_from() -> Weight {
-		(28_248_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(28_248_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(3 as u64))
 	}
 }
modifiedpallets/inflation/Cargo.tomldiffbeforeafterboth
--- a/pallets/inflation/Cargo.toml
+++ b/pallets/inflation/Cargo.toml
@@ -43,37 +43,37 @@
 default-features = false
 optional = true
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.serde]
 default-features = false
@@ -83,17 +83,17 @@
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-io]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies]
 scale-info = { version = "2.0.1", default-features = false, features = [
modifiedpallets/inflation/src/lib.rsdiffbeforeafterboth
--- a/pallets/inflation/src/lib.rs
+++ b/pallets/inflation/src/lib.rs
@@ -110,7 +110,7 @@
 		where
 			<T as frame_system::Config>::BlockNumber: From<u32>,
 		{
-			let mut consumed_weight = 0;
+			let mut consumed_weight = Weight::zero();
 			let mut add_weight = |reads, writes, weight| {
 				consumed_weight += T::DbWeight::get().reads_writes(reads, writes);
 				consumed_weight += weight;
@@ -119,7 +119,7 @@
 			let block_interval: u32 = T::InflationBlockInterval::get().try_into().unwrap_or(0);
 			let current_relay_block = T::BlockNumberProvider::current_block_number();
 			let next_inflation: T::BlockNumber = <NextInflationBlock<T>>::get();
-			add_weight(1, 0, 5_000_000);
+			add_weight(1, 0, Weight::from_ref_time(5_000_000));
 
 			// Apply inflation every InflationBlockInterval blocks
 			// If next_inflation == 0, this means inflation wasn't yet initialized
@@ -128,10 +128,10 @@
 				// Do the "current_relay_block >= next_recalculation" check in the "current_relay_block >= next_inflation"
 				// block because it saves InflationBlockInterval DB reads for NextRecalculationBlock.
 				let next_recalculation: T::BlockNumber = <NextRecalculationBlock<T>>::get();
-				add_weight(1, 0, 0);
+				add_weight(1, 0, Weight::zero());
 				if current_relay_block >= next_recalculation {
 					Self::recalculate_inflation(next_recalculation);
-					add_weight(0, 4, 5_000_000);
+					add_weight(0, 4, Weight::from_ref_time(5_000_000));
 				}
 
 				T::Currency::deposit_into_existing(
@@ -143,7 +143,7 @@
 				// Update inflation block
 				<NextInflationBlock<T>>::set(next_inflation + block_interval.into());
 
-				add_weight(3, 3, 10_000_000);
+				add_weight(3, 3, Weight::from_ref_time(10_000_000));
 			}
 
 			consumed_weight
modifiedpallets/inflation/src/tests.rsdiffbeforeafterboth
--- a/pallets/inflation/src/tests.rs
+++ b/pallets/inflation/src/tests.rs
@@ -21,6 +21,7 @@
 use frame_support::{
 	assert_ok, parameter_types,
 	traits::{Currency, OnInitialize, Everything, ConstU32},
+	weights::Weight,
 };
 use frame_system::RawOrigin;
 use sp_core::H256;
@@ -69,7 +70,7 @@
 parameter_types! {
 	pub const BlockHashCount: u64 = 250;
 	pub BlockWeights: frame_system::limits::BlockWeights =
-		frame_system::limits::BlockWeights::simple_max(1024);
+		frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1024));
 	pub const SS58Prefix: u8 = 42;
 }
 
modifiedpallets/nonfungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/nonfungible/Cargo.toml
+++ b/pallets/nonfungible/Cargo.toml
@@ -11,19 +11,19 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 pallet-common = { default-features = false, path = '../common' }
 pallet-structure = { default-features = false, path = '../structure' }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../evm-coder-substrate' }
 ethereum = { version = "0.12.0", default-features = false }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
modifiedpallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -54,7 +54,9 @@
 	create_collection_raw(
 		owner,
 		CollectionMode::NFT,
-		|owner, data| <Pallet<T>>::init_collection(owner, data, true),
+		|owner: T::CrossAccountId, data| {
+			<Pallet<T>>::init_collection(owner.clone(), owner, data, true)
+		},
 		NonfungibleHandle::cast,
 	)
 }
modifiedpallets/nonfungible/src/common.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -44,16 +44,16 @@
 			CreateItemExData::NFT(t) => {
 				<SelfWeightOf<T>>::create_multiple_items_ex(t.len() as u32)
 					+ t.iter()
-						.map(|t| {
+						.filter_map(|t| {
 							if t.properties.len() > 0 {
-								Self::set_token_properties(t.properties.len() as u32)
+								Some(Self::set_token_properties(t.properties.len() as u32))
 							} else {
-								0
+								None
 							}
 						})
-						.sum::<u64>()
+						.fold(Weight::zero(), |a, b| a.saturating_add(b))
 			}
-			_ => 0,
+			_ => Weight::zero(),
 		}
 	}
 
@@ -67,7 +67,7 @@
 					}
 					_ => None,
 				})
-				.sum::<u64>()
+				.fold(Weight::zero(), |a, b| a.saturating_add(b))
 	}
 
 	fn burn_item() -> Weight {
modifiedpallets/nonfungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -114,7 +114,7 @@
 use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
 use sp_core::H160;
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};
-use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap, collections::btree_set::BTreeSet};
+use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
 use core::ops::Deref;
 use codec::{Encode, Decode, MaxEncodedLen};
 use scale_info::TypeInfo;
@@ -278,7 +278,7 @@
 		fn on_runtime_upgrade() -> Weight {
 			StorageVersion::new(1).put::<Pallet<T>>();
 
-			0
+			Weight::zero()
 		}
 	}
 }
@@ -405,11 +405,13 @@
 	/// - `data`: Contains settings for collection limits and permissions.
 	pub fn init_collection(
 		owner: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 		is_external: bool,
 	) -> Result<CollectionId, DispatchError> {
 		<PalletCommon<T>>::init_collection(
 			owner,
+			payer,
 			data,
 			CollectionFlags {
 				external: is_external,
@@ -543,7 +545,7 @@
 		let current_token_account =
 			T::CrossTokenAddressMapping::token_to_address(collection.id, token);
 
-		let mut weight = 0 as Weight;
+		let mut weight = Weight::zero();
 
 		// This method is transactional, if user in fact doesn't have permissions to remove token -
 		// tokens removed here will be restored after rejected transaction
modifiedpallets/nonfungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/nonfungible/src/weights.rs
+++ b/pallets/nonfungible/src/weights.rs
@@ -57,34 +57,34 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(25_905_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(25_905_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
 	}
 	// Storage: Nonfungible TokensMinted (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(24_955_000 as Weight)
+		Weight::from_ref_time(24_955_000)
 			// Standard Error: 3_000
-			.saturating_add((5_340_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(5_340_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
+			.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokensMinted (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:4 w:4)
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(13_666_000 as Weight)
+		Weight::from_ref_time(13_666_000)
 			// Standard Error: 5_000
-			.saturating_add((8_299_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(8_299_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
+			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
@@ -94,9 +94,9 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_item() -> Weight {
-		(36_205_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(36_205_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -106,9 +106,9 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_recursively_self_raw() -> Weight {
-		(44_550_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(44_550_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -119,38 +119,38 @@
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:1 w:0)
 	fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 1_536_000
-			.saturating_add((312_125_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(7 as Weight))
-			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(312_125_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(7 as u64))
+			.saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
+			.saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer() -> Weight {
-		(31_116_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(31_116_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	fn approve() -> Weight {
-		(20_802_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(20_802_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer_from() -> Weight {
-		(36_083_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(36_083_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -160,40 +160,40 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(41_781_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(41_781_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 58_000
-			.saturating_add((15_705_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(15_705_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_595_000
-			.saturating_add((590_344_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(590_344_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_664_000
-			.saturating_add((605_836_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(605_836_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn token_owner() -> Weight {
-		(4_366_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
+		Weight::from_ref_time(4_366_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
 	}
 }
 
@@ -204,34 +204,34 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(25_905_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(25_905_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
 	}
 	// Storage: Nonfungible TokensMinted (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(24_955_000 as Weight)
+		Weight::from_ref_time(24_955_000)
 			// Standard Error: 3_000
-			.saturating_add((5_340_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(5_340_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokensMinted (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:4 w:4)
 	// Storage: Nonfungible TokenData (r:0 w:4)
 	// Storage: Nonfungible Owned (r:0 w:4)
 	fn create_multiple_items_ex(b: u32, ) -> Weight {
-		(13_666_000 as Weight)
+		Weight::from_ref_time(13_666_000)
 			// Standard Error: 5_000
-			.saturating_add((8_299_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(8_299_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
@@ -241,9 +241,9 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_item() -> Weight {
-		(36_205_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(36_205_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -253,9 +253,9 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_recursively_self_raw() -> Weight {
-		(44_550_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(44_550_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenChildren (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -266,38 +266,38 @@
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:1 w:0)
 	fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 1_536_000
-			.saturating_add((312_125_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(7 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(312_125_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(7 as u64))
+			.saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Allowance (r:1 w:0)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer() -> Weight {
-		(31_116_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(31_116_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	fn approve() -> Weight {
-		(20_802_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(20_802_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
 	// Storage: Nonfungible AccountBalance (r:2 w:2)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn transfer_from() -> Weight {
-		(36_083_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(36_083_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Nonfungible Allowance (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:1)
@@ -307,39 +307,39 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(41_781_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(41_781_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 58_000
-			.saturating_add((15_705_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(15_705_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_595_000
-			.saturating_add((590_344_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(590_344_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_664_000
-			.saturating_add((605_836_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(605_836_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn token_owner() -> Weight {
-		(4_366_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
+		Weight::from_ref_time(4_366_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
 	}
 }
modifiedpallets/proxy-rmrk-core/Cargo.tomldiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/Cargo.toml
+++ b/pallets/proxy-rmrk-core/Cargo.toml
@@ -11,17 +11,17 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 pallet-common = { default-features = false, path = '../common' }
 pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }
 pallet-structure = { default-features = false, path = "../../pallets/structure" }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 rmrk-traits = { default-features = false, path = "../../primitives/rmrk-traits" }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
modifiedpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -1448,7 +1448,7 @@
 		data: CreateCollectionData<T::AccountId>,
 		properties: impl Iterator<Item = Property>,
 	) -> Result<CollectionId, DispatchError> {
-		let collection_id = <PalletNft<T>>::init_collection(sender, data, true);
+		let collection_id = <PalletNft<T>>::init_collection(sender.clone(), sender, data, true);
 
 		if let Err(DispatchError::Arithmetic(_)) = &collection_id {
 			return Err(<Error<T>>::NoAvailableCollectionId.into());
modifiedpallets/proxy-rmrk-core/src/weights.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-core/src/weights.rs
+++ b/pallets/proxy-rmrk-core/src/weights.rs
@@ -64,9 +64,9 @@
 	// Storage: Common CollectionById (r:0 w:1)
 	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
 	fn create_collection() -> Weight {
-		(49_754_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
+		Weight::from_ref_time(49_754_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(8 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:1)
@@ -77,17 +77,17 @@
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(48_588_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(48_588_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	fn change_collection_issuer() -> Weight {
-		(25_054_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(25_054_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -95,9 +95,9 @@
 	// Storage: Nonfungible TokensMinted (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:0)
 	fn lock_collection() -> Weight {
-		(26_483_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(26_483_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -109,13 +109,13 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:2 w:2)
 	fn mint_nft(b: u32, ) -> Weight {
-		(62_419_000 as Weight)
+		Weight::from_ref_time(62_419_000)
 			// Standard Error: 7_000
-			.saturating_add((12_325_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(12_325_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -128,13 +128,13 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_nft(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 1_488_000
-			.saturating_add((298_367_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(298_367_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
+			.saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -146,9 +146,9 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn send() -> Weight {
-		(81_942_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(12 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(81_942_000)
+			.saturating_add(T::DbWeight::get().reads(12 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -161,9 +161,9 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn accept_nft() -> Weight {
-		(97_925_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(16 as Weight))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
+		Weight::from_ref_time(97_925_000)
+			.saturating_add(T::DbWeight::get().reads(16 as u64))
+			.saturating_add(T::DbWeight::get().writes(8 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -177,9 +177,9 @@
 	// Storage: Nonfungible Allowance (r:5 w:0)
 	// Storage: Nonfungible Owned (r:0 w:5)
 	fn reject_nft() -> Weight {
-		(277_794_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(30 as Weight))
-			.saturating_add(T::DbWeight::get().writes(26 as Weight))
+		Weight::from_ref_time(277_794_000)
+			.saturating_add(T::DbWeight::get().reads(30 as u64))
+			.saturating_add(T::DbWeight::get().writes(26 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -187,9 +187,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_property() -> Weight {
-		(54_657_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(54_657_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -197,9 +197,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_priority() -> Weight {
-		(55_056_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(55_056_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -208,9 +208,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn add_basic_resource() -> Weight {
-		(61_673_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(10 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(61_673_000)
+			.saturating_add(T::DbWeight::get().reads(10 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -219,9 +219,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:2 w:2)
 	fn add_composable_resource() -> Weight {
-		(67_125_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(11 as Weight))
-			.saturating_add(T::DbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(67_125_000)
+			.saturating_add(T::DbWeight::get().reads(11 as u64))
+			.saturating_add(T::DbWeight::get().writes(3 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -230,9 +230,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn add_slot_resource() -> Weight {
-		(69_058_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(10 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(69_058_000)
+			.saturating_add(T::DbWeight::get().reads(10 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -240,9 +240,9 @@
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn remove_resource() -> Weight {
-		(53_427_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(53_427_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -250,9 +250,9 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn accept_resource() -> Weight {
-		(50_623_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(50_623_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -260,9 +260,9 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn accept_resource_removal() -> Weight {
-		(50_917_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(9 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(50_917_000)
+			.saturating_add(T::DbWeight::get().reads(9 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 }
 
@@ -277,9 +277,9 @@
 	// Storage: Common CollectionById (r:0 w:1)
 	// Storage: RmrkCore UniqueCollectionId (r:0 w:1)
 	fn create_collection() -> Weight {
-		(49_754_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
+		Weight::from_ref_time(49_754_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(8 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:1)
@@ -290,17 +290,17 @@
 	// Storage: Nonfungible TokensBurnt (r:0 w:1)
 	// Storage: Common AdminAmount (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(48_588_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(48_588_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Common CollectionProperties (r:1 w:0)
 	fn change_collection_issuer() -> Weight {
-		(25_054_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(25_054_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -308,9 +308,9 @@
 	// Storage: Nonfungible TokensMinted (r:1 w:0)
 	// Storage: Nonfungible TokensBurnt (r:1 w:0)
 	fn lock_collection() -> Weight {
-		(26_483_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(26_483_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -322,13 +322,13 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:2 w:2)
 	fn mint_nft(b: u32, ) -> Weight {
-		(62_419_000 as Weight)
+		Weight::from_ref_time(62_419_000)
 			// Standard Error: 7_000
-			.saturating_add((12_325_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(12_325_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -341,13 +341,13 @@
 	// Storage: Nonfungible Owned (r:0 w:1)
 	// Storage: Nonfungible TokenProperties (r:0 w:1)
 	fn burn_nft(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 1_488_000
-			.saturating_add((298_367_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((4 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(298_367_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().reads((4 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -359,9 +359,9 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn send() -> Weight {
-		(81_942_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(12 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(81_942_000)
+			.saturating_add(RocksDbWeight::get().reads(12 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:2 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -374,9 +374,9 @@
 	// Storage: Nonfungible TokenChildren (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:2)
 	fn accept_nft() -> Weight {
-		(97_925_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(16 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
+		Weight::from_ref_time(97_925_000)
+			.saturating_add(RocksDbWeight::get().reads(16 as u64))
+			.saturating_add(RocksDbWeight::get().writes(8 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -390,9 +390,9 @@
 	// Storage: Nonfungible Allowance (r:5 w:0)
 	// Storage: Nonfungible Owned (r:0 w:5)
 	fn reject_nft() -> Weight {
-		(277_794_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(30 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(26 as Weight))
+		Weight::from_ref_time(277_794_000)
+			.saturating_add(RocksDbWeight::get().reads(30 as u64))
+			.saturating_add(RocksDbWeight::get().writes(26 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -400,9 +400,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_property() -> Weight {
-		(54_657_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(54_657_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -410,9 +410,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn set_priority() -> Weight {
-		(55_056_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(55_056_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -421,9 +421,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn add_basic_resource() -> Weight {
-		(61_673_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(10 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(61_673_000)
+			.saturating_add(RocksDbWeight::get().reads(10 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -432,9 +432,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:2 w:2)
 	fn add_composable_resource() -> Weight {
-		(67_125_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(11 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(67_125_000)
+			.saturating_add(RocksDbWeight::get().reads(11 as u64))
+			.saturating_add(RocksDbWeight::get().writes(3 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -443,9 +443,9 @@
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn add_slot_resource() -> Weight {
-		(69_058_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(10 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(69_058_000)
+			.saturating_add(RocksDbWeight::get().reads(10 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -453,9 +453,9 @@
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	fn remove_resource() -> Weight {
-		(53_427_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(53_427_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -463,9 +463,9 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn accept_resource() -> Weight {
-		(50_623_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(50_623_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: RmrkCore UniqueCollectionId (r:1 w:0)
 	// Storage: Common CollectionProperties (r:1 w:0)
@@ -473,8 +473,8 @@
 	// Storage: Nonfungible TokenData (r:5 w:0)
 	// Storage: Nonfungible TokenAuxProperties (r:1 w:1)
 	fn accept_resource_removal() -> Weight {
-		(50_917_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(9 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(50_917_000)
+			.saturating_add(RocksDbWeight::get().reads(9 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 }
modifiedpallets/proxy-rmrk-equip/Cargo.tomldiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/Cargo.toml
+++ b/pallets/proxy-rmrk-equip/Cargo.toml
@@ -11,16 +11,16 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 pallet-common = { default-features = false, path = '../common' }
 pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 rmrk-traits = { default-features = false, path = "../../primitives/rmrk-traits" }
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
modifiedpallets/proxy-rmrk-equip/src/lib.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/src/lib.rs
+++ b/pallets/proxy-rmrk-equip/src/lib.rs
@@ -250,8 +250,12 @@
 				..Default::default()
 			};
 
-			let collection_id_res =
-				<PalletNft<T>>::init_collection(cross_sender.clone(), data, true);
+			let collection_id_res = <PalletNft<T>>::init_collection(
+				cross_sender.clone(),
+				cross_sender.clone(),
+				data,
+				true,
+			);
 
 			if let Err(DispatchError::Arithmetic(_)) = &collection_id_res {
 				return Err(<Error<T>>::NoAvailableBaseId.into());
modifiedpallets/proxy-rmrk-equip/src/weights.rsdiffbeforeafterboth
--- a/pallets/proxy-rmrk-equip/src/weights.rs
+++ b/pallets/proxy-rmrk-equip/src/weights.rs
@@ -54,13 +54,13 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_base(b: u32, ) -> Weight {
-		(58_417_000 as Weight)
+		Weight::from_ref_time(58_417_000)
 			// Standard Error: 27_000
-			.saturating_add((20_439_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().reads((2 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(8 as Weight))
-			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(20_439_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().reads((2 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(8 as u64))
+			.saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
@@ -71,20 +71,20 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn theme_add(b: u32, ) -> Weight {
-		(46_005_000 as Weight)
+		Weight::from_ref_time(46_005_000)
 			// Standard Error: 42_000
-			.saturating_add((2_922_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+			.saturating_add(Weight::from_ref_time(2_922_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: RmrkEquip InernalPartId (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn equippable() -> Weight {
-		(32_526_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(32_526_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 }
 
@@ -103,13 +103,13 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn create_base(b: u32, ) -> Weight {
-		(58_417_000 as Weight)
+		Weight::from_ref_time(58_417_000)
 			// Standard Error: 27_000
-			.saturating_add((20_439_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((2 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(8 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(20_439_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().reads((2 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(8 as u64))
+			.saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
@@ -120,19 +120,19 @@
 	// Storage: Nonfungible TokenData (r:0 w:1)
 	// Storage: Nonfungible Owned (r:0 w:1)
 	fn theme_add(b: u32, ) -> Weight {
-		(46_005_000 as Weight)
+		Weight::from_ref_time(46_005_000)
 			// Standard Error: 42_000
-			.saturating_add((2_922_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+			.saturating_add(Weight::from_ref_time(2_922_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Common CollectionProperties (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: RmrkEquip InernalPartId (r:1 w:0)
 	// Storage: Nonfungible TokenProperties (r:1 w:1)
 	fn equippable() -> Weight {
-		(32_526_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(32_526_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 }
modifiedpallets/refungible/Cargo.tomldiffbeforeafterboth
--- a/pallets/refungible/Cargo.toml
+++ b/pallets/refungible/Cargo.toml
@@ -11,17 +11,17 @@
 version = '3.1.2'
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
 pallet-common = { default-features = false, path = '../common' }
 pallet-structure = { default-features = false, path = '../structure' }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
 struct-versioning = { path = "../../crates/struct-versioning" }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
modifiedpallets/refungible/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/refungible/src/benchmarking.rs
+++ b/pallets/refungible/src/benchmarking.rs
@@ -62,7 +62,7 @@
 	create_collection_raw(
 		owner,
 		CollectionMode::ReFungible,
-		<Pallet<T>>::init_collection,
+		|owner: T::CrossAccountId, data| <Pallet<T>>::init_collection(owner.clone(), owner, data),
 		RefungibleHandle::cast,
 	)
 }
modifiedpallets/refungible/src/common.rsdiffbeforeafterboth
--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -38,18 +38,18 @@
 
 macro_rules! max_weight_of {
 	($($method:ident ($($args:tt)*)),*) => {
-		0
+		Weight::zero()
 		$(
 			.max(<SelfWeightOf<T>>::$method($($args)*))
 		)*
 	};
 }
 
-fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> u64 {
+fn properties_weight<T: Config>(properties: &CollectionPropertiesVec) -> Weight {
 	if properties.len() > 0 {
 		<CommonWeights<T>>::set_token_properties(properties.len() as u32)
 	} else {
-		0
+		Weight::zero()
 	}
 }
 
@@ -66,9 +66,9 @@
 					up_data_structs::CreateItemData::ReFungible(rft_data) => {
 						properties_weight::<T>(&rft_data.properties)
 					}
-					_ => 0,
+					_ => Weight::zero(),
 				})
-				.fold(0, |a, b| a.saturating_add(b)),
+				.fold(Weight::zero(), |a, b| a.saturating_add(b)),
 		)
 	}
 
@@ -83,10 +83,10 @@
 					.saturating_add(
 						i.iter()
 							.map(|d| properties_weight::<T>(&d.properties))
-							.fold(0, |a, b| a.saturating_add(b)),
+							.fold(Weight::zero(), |a, b| a.saturating_add(b)),
 					)
 			}
-			_ => 0,
+			_ => Weight::zero(),
 		}
 	}
 
@@ -146,7 +146,7 @@
 	}
 	fn burn_recursively_breadth_raw(_amount: u32) -> Weight {
 		// Refungible token can't have children
-		0
+		Weight::zero()
 	}
 
 	fn token_owner() -> Weight {
modifiedpallets/refungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -99,11 +99,7 @@
 use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
 use pallet_evm_coder_substrate::WithRecorder;
 use pallet_common::{
-	CollectionHandle, CommonCollectionOperations,
-	dispatch::CollectionDispatch,
-	erc::static_property::{key, property_value_from_bytes},
-	Error as CommonError,
-	eth::collection_id_to_address,
+	CommonCollectionOperations, Error as CommonError, eth::collection_id_to_address,
 	Event as CommonEvent, Pallet as PalletCommon,
 };
 use pallet_structure::Pallet as PalletStructure;
@@ -112,10 +108,10 @@
 use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};
 use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
 use up_data_structs::{
-	AccessMode, budget::Budget, CollectionId, CollectionMode, CollectionFlags,
-	CollectionPropertiesVec, CreateCollectionData, CustomDataLimit, mapping::TokenAddressMapping,
-	MAX_ITEMS_PER_BATCH, MAX_REFUNGIBLE_PIECES, Property, PropertyKey, PropertyKeyPermission,
-	PropertyPermission, PropertyScope, PropertyValue, TokenId, TrySetProperty,
+	AccessMode, budget::Budget, CollectionId, CollectionFlags, CollectionPropertiesVec,
+	CreateCollectionData, CustomDataLimit, mapping::TokenAddressMapping, MAX_ITEMS_PER_BATCH,
+	MAX_REFUNGIBLE_PIECES, Property, PropertyKey, PropertyKeyPermission, PropertyPermission,
+	PropertyScope, PropertyValue, TokenId, TrySetProperty,
 };
 use frame_support::BoundedBTreeMap;
 use derivative::Derivative;
@@ -287,7 +283,7 @@
 			}
 			StorageVersion::new(2).put::<Pallet<T>>();
 
-			0
+			Weight::zero()
 		}
 	}
 }
@@ -373,9 +369,10 @@
 	/// - `data`: Contains settings for collection limits and permissions.
 	pub fn init_collection(
 		owner: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 	) -> Result<CollectionId, DispatchError> {
-		<PalletCommon<T>>::init_collection(owner, data, CollectionFlags::default())
+		<PalletCommon<T>>::init_collection(owner, payer, data, CollectionFlags::default())
 	}
 
 	/// Destroy RFT collection
modifiedpallets/refungible/src/weights.rsdiffbeforeafterboth
--- a/pallets/refungible/src/weights.rs
+++ b/pallets/refungible/src/weights.rs
@@ -65,9 +65,9 @@
 	// Storage: Refungible TotalSupply (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(29_527_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(29_527_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible AccountBalance (r:1 w:1)
@@ -75,12 +75,12 @@
 	// Storage: Refungible TotalSupply (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(28_541_000 as Weight)
+		Weight::from_ref_time(28_541_000)
 			// Standard Error: 4_000
-			.saturating_add((6_671_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(6_671_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
+			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible AccountBalance (r:4 w:4)
@@ -88,13 +88,13 @@
 	// Storage: Refungible TotalSupply (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
-		(24_366_000 as Weight)
+		Weight::from_ref_time(24_366_000)
 			// Standard Error: 5_000
-			.saturating_add((9_338_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(9_338_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
+			.saturating_add(T::DbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:0 w:1)
@@ -102,22 +102,22 @@
 	// Storage: Refungible Balance (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
-		(27_574_000 as Weight)
+		Weight::from_ref_time(27_574_000)
 			// Standard Error: 4_000
-			.saturating_add((7_193_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(7_193_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
+			.saturating_add(T::DbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:3 w:1)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_partial() -> Weight {
-		(42_943_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(42_943_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:1 w:1)
@@ -126,58 +126,58 @@
 	// Storage: Refungible Owned (r:0 w:1)
 	// Storage: Refungible TokenProperties (r:0 w:1)
 	fn burn_item_fully() -> Weight {
-		(36_861_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(36_861_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	fn transfer_normal() -> Weight {
-		(27_789_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(27_789_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_creating() -> Weight {
-		(32_893_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(32_893_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_removing() -> Weight {
-		(34_703_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(34_703_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_creating_removing() -> Weight {
-		(37_547_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(37_547_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Refungible Balance (r:1 w:0)
 	// Storage: Refungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(20_039_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(20_039_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	fn transfer_from_normal() -> Weight {
-		(37_628_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(37_628_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(3 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -185,9 +185,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_creating() -> Weight {
-		(42_072_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(42_072_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -195,9 +195,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_removing() -> Weight {
-		(43_024_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(43_024_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -205,9 +205,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_from_creating_removing() -> Weight {
-		(45_910_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(6 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
+		Weight::from_ref_time(45_910_000)
+			.saturating_add(T::DbWeight::get().reads(6 as u64))
+			.saturating_add(T::DbWeight::get().writes(7 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:1)
@@ -217,47 +217,47 @@
 	// Storage: Refungible Owned (r:0 w:1)
 	// Storage: Refungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(48_584_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(7 as Weight))
+		Weight::from_ref_time(48_584_000)
+			.saturating_add(T::DbWeight::get().reads(5 as u64))
+			.saturating_add(T::DbWeight::get().writes(7 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 60_000
-			.saturating_add((15_533_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(15_533_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Refungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_609_000
-			.saturating_add((590_204_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(590_204_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Refungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_637_000
-			.saturating_add((603_468_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(603_468_000).saturating_mul(b as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:1 w:1)
 	fn repartition_item() -> Weight {
-		(22_356_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(22_356_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:0)
 	fn token_owner() -> Weight {
-		(9_431_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+		Weight::from_ref_time(9_431_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
 	}
 }
 
@@ -269,9 +269,9 @@
 	// Storage: Refungible TotalSupply (r:0 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn create_item() -> Weight {
-		(29_527_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(29_527_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible AccountBalance (r:1 w:1)
@@ -279,12 +279,12 @@
 	// Storage: Refungible TotalSupply (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items(b: u32, ) -> Weight {
-		(28_541_000 as Weight)
+		Weight::from_ref_time(28_541_000)
 			// Standard Error: 4_000
-			.saturating_add((6_671_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(6_671_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible AccountBalance (r:4 w:4)
@@ -292,13 +292,13 @@
 	// Storage: Refungible TotalSupply (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_items(b: u32, ) -> Weight {
-		(24_366_000 as Weight)
+		Weight::from_ref_time(24_366_000)
 			// Standard Error: 5_000
-			.saturating_add((9_338_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((4 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(9_338_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes((4 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TokensMinted (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:0 w:1)
@@ -306,22 +306,22 @@
 	// Storage: Refungible Balance (r:0 w:4)
 	// Storage: Refungible Owned (r:0 w:4)
 	fn create_multiple_items_ex_multiple_owners(b: u32, ) -> Weight {
-		(27_574_000 as Weight)
+		Weight::from_ref_time(27_574_000)
 			// Standard Error: 4_000
-			.saturating_add((7_193_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((3 as Weight).saturating_mul(b as Weight)))
+			.saturating_add(Weight::from_ref_time(7_193_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(b as u64)))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes((3 as u64).saturating_mul(b as u64)))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:3 w:1)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn burn_item_partial() -> Weight {
-		(42_943_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(42_943_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:1 w:1)
@@ -330,58 +330,58 @@
 	// Storage: Refungible Owned (r:0 w:1)
 	// Storage: Refungible TokenProperties (r:0 w:1)
 	fn burn_item_fully() -> Weight {
-		(36_861_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(36_861_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	fn transfer_normal() -> Weight {
-		(27_789_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(27_789_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_creating() -> Weight {
-		(32_893_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(32_893_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_removing() -> Weight {
-		(34_703_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		Weight::from_ref_time(34_703_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible AccountBalance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_creating_removing() -> Weight {
-		(37_547_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(37_547_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Refungible Balance (r:1 w:0)
 	// Storage: Refungible Allowance (r:0 w:1)
 	fn approve() -> Weight {
-		(20_039_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(20_039_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	fn transfer_from_normal() -> Weight {
-		(37_628_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(3 as Weight))
+		Weight::from_ref_time(37_628_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(3 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -389,9 +389,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_creating() -> Weight {
-		(42_072_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(42_072_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -399,9 +399,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:1)
 	fn transfer_from_removing() -> Weight {
-		(43_024_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
+		Weight::from_ref_time(43_024_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(5 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible Balance (r:2 w:2)
@@ -409,9 +409,9 @@
 	// Storage: Refungible TotalSupply (r:1 w:0)
 	// Storage: Refungible Owned (r:0 w:2)
 	fn transfer_from_creating_removing() -> Weight {
-		(45_910_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
+		Weight::from_ref_time(45_910_000)
+			.saturating_add(RocksDbWeight::get().reads(6 as u64))
+			.saturating_add(RocksDbWeight::get().writes(7 as u64))
 	}
 	// Storage: Refungible Allowance (r:1 w:1)
 	// Storage: Refungible TotalSupply (r:1 w:1)
@@ -421,46 +421,46 @@
 	// Storage: Refungible Owned (r:0 w:1)
 	// Storage: Refungible TokenProperties (r:0 w:1)
 	fn burn_from() -> Weight {
-		(48_584_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(7 as Weight))
+		Weight::from_ref_time(48_584_000)
+			.saturating_add(RocksDbWeight::get().reads(5 as u64))
+			.saturating_add(RocksDbWeight::get().writes(7 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:1)
 	fn set_token_property_permissions(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 60_000
-			.saturating_add((15_533_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(15_533_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Refungible TokenProperties (r:1 w:1)
 	fn set_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_609_000
-			.saturating_add((590_204_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(590_204_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionPropertyPermissions (r:1 w:0)
 	// Storage: Refungible TokenProperties (r:1 w:1)
 	fn delete_token_properties(b: u32, ) -> Weight {
-		(0 as Weight)
+		(Weight::from_ref_time(0))
 			// Standard Error: 3_637_000
-			.saturating_add((603_468_000 as Weight).saturating_mul(b as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+			.saturating_add(Weight::from_ref_time(603_468_000).saturating_mul(b as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Refungible TotalSupply (r:1 w:1)
 	// Storage: Refungible Balance (r:1 w:1)
 	fn repartition_item() -> Weight {
-		(22_356_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(22_356_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Refungible Balance (r:2 w:0)
 	fn token_owner() -> Weight {
-		(9_431_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+		Weight::from_ref_time(9_431_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
 	}
 }
modifiedpallets/scheduler/Cargo.tomldiffbeforeafterboth
--- a/pallets/scheduler/Cargo.toml
+++ b/pallets/scheduler/Cargo.toml
@@ -16,20 +16,20 @@
 	"derive",
 ] }
 
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.27' }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = 'https://github.com/paritytech/substrate.git', branch = 'polkadot-v0.9.29' }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
-up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27" }
+up-sponsorship = { version = "0.1.0", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29" }
 log = { version = "0.4.16", default-features = false }
 
 [dev-dependencies]
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
 [features]
 default = ["std"]
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -497,7 +497,7 @@
 				}
 			}
 			// Total weight should be 0, because the transaction is already paid for
-			0
+			Weight::zero()
 		}
 	}
 
modifiedpallets/scheduler/src/weights.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/weights.rs
+++ b/pallets/scheduler/src/weights.rs
@@ -55,13 +55,13 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight {
-		(26_641_000 as Weight)
+		Weight::from_ref_time(26_641_000)
 			// Standard Error: 9_000
-			.saturating_add((8_547_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_547_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -69,12 +69,12 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_resolved(s: u32, ) -> Weight {
-		(23_941_000 as Weight)
+		Weight::from_ref_time(23_941_000)
 			// Standard Error: 17_000
-			.saturating_add((5_282_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_282_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: System Account (r:1 w:1)
@@ -82,13 +82,13 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic(s: u32, ) -> Weight {
-		(24_858_000 as Weight)
+		Weight::from_ref_time(24_858_000)
 			// Standard Error: 7_000
-			.saturating_add((8_657_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_657_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: System Account (r:1 w:1)
@@ -96,23 +96,23 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_resolved(s: u32, ) -> Weight {
-		(25_515_000 as Weight)
+		Weight::from_ref_time(25_515_000)
 			// Standard Error: 14_000
-			.saturating_add((8_656_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_656_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_aborted(s: u32, ) -> Weight {
-		(7_584_000 as Weight)
+		Weight::from_ref_time(7_584_000)
 			// Standard Error: 1_000
-			.saturating_add((2_065_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(2_065_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -120,22 +120,22 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_aborted(s: u32, ) -> Weight {
-		(25_552_000 as Weight)
+		Weight::from_ref_time(25_552_000)
 			// Standard Error: 4_000
-			.saturating_add((5_187_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_187_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named(s: u32, ) -> Weight {
-		(8_980_000 as Weight)
+		Weight::from_ref_time(8_980_000)
 			// Standard Error: 12_000
-			.saturating_add((2_050_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(2_050_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -143,12 +143,12 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize(s: u32, ) -> Weight {
-		(24_482_000 as Weight)
+		Weight::from_ref_time(24_482_000)
 			// Standard Error: 4_000
-			.saturating_add((5_249_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_249_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -156,30 +156,30 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_resolved(s: u32, ) -> Weight {
-		(25_187_000 as Weight)
+		Weight::from_ref_time(25_187_000)
 			// Standard Error: 4_000
-			.saturating_add((5_216_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_216_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(4 as u64))
+			.saturating_add(T::DbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule_named(s: u32, ) -> Weight {
-		(17_316_000 as Weight)
+		Weight::from_ref_time(17_316_000)
 			// Standard Error: 3_000
-			.saturating_add((82_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+			.saturating_add(Weight::from_ref_time(82_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn cancel_named(s: u32, ) -> Weight {
-		(15_652_000 as Weight)
+		Weight::from_ref_time(15_652_000)
 			// Standard Error: 1_000
-			.saturating_add((436_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+			.saturating_add(Weight::from_ref_time(436_000).saturating_mul(s as u64))
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 }
 
@@ -191,13 +191,13 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_named_resolved(s: u32, ) -> Weight {
-		(26_641_000 as Weight)
+		Weight::from_ref_time(26_641_000)
 			// Standard Error: 9_000
-			.saturating_add((8_547_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_547_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -205,12 +205,12 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_resolved(s: u32, ) -> Weight {
-		(23_941_000 as Weight)
+		Weight::from_ref_time(23_941_000)
 			// Standard Error: 17_000
-			.saturating_add((5_282_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_282_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: System Account (r:1 w:1)
@@ -218,13 +218,13 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic(s: u32, ) -> Weight {
-		(24_858_000 as Weight)
+		Weight::from_ref_time(24_858_000)
 			// Standard Error: 7_000
-			.saturating_add((8_657_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_657_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: System Account (r:1 w:1)
@@ -232,23 +232,23 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_periodic_resolved(s: u32, ) -> Weight {
-		(25_515_000 as Weight)
+		Weight::from_ref_time(25_515_000)
 			// Standard Error: 14_000
-			.saturating_add((8_656_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(s as Weight)))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((2 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(8_656_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().reads((1 as u64).saturating_mul(s as u64)))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((2 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_aborted(s: u32, ) -> Weight {
-		(7_584_000 as Weight)
+		Weight::from_ref_time(7_584_000)
 			// Standard Error: 1_000
-			.saturating_add((2_065_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(2_065_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -256,22 +256,22 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named_aborted(s: u32, ) -> Weight {
-		(25_552_000 as Weight)
+		Weight::from_ref_time(25_552_000)
 			// Standard Error: 4_000
-			.saturating_add((5_187_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_187_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:2 w:2)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_named(s: u32, ) -> Weight {
-		(8_980_000 as Weight)
+		Weight::from_ref_time(8_980_000)
 			// Standard Error: 12_000
-			.saturating_add((2_050_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(2_050_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -279,12 +279,12 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize(s: u32, ) -> Weight {
-		(24_482_000 as Weight)
+		Weight::from_ref_time(24_482_000)
 			// Standard Error: 4_000
-			.saturating_add((5_249_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_249_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Agenda (r:1 w:1)
 	// Storage: System Account (r:1 w:1)
@@ -292,29 +292,29 @@
 	// Storage: System BlockWeight (r:1 w:1)
 	// Storage: Scheduler Lookup (r:0 w:1)
 	fn on_initialize_resolved(s: u32, ) -> Weight {
-		(25_187_000 as Weight)
+		Weight::from_ref_time(25_187_000)
 			// Standard Error: 4_000
-			.saturating_add((5_216_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes((1 as Weight).saturating_mul(s as Weight)))
+			.saturating_add(Weight::from_ref_time(5_216_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes((1 as u64).saturating_mul(s as u64)))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn schedule_named(s: u32, ) -> Weight {
-		(17_316_000 as Weight)
+		Weight::from_ref_time(17_316_000)
 			// Standard Error: 3_000
-			.saturating_add((82_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+			.saturating_add(Weight::from_ref_time(82_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Scheduler Lookup (r:1 w:1)
 	// Storage: Scheduler Agenda (r:1 w:1)
 	fn cancel_named(s: u32, ) -> Weight {
-		(15_652_000 as Weight)
+		Weight::from_ref_time(15_652_000)
 			// Standard Error: 1_000
-			.saturating_add((436_000 as Weight).saturating_mul(s as Weight))
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+			.saturating_add(Weight::from_ref_time(436_000).saturating_mul(s as u64))
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 }
modifiedpallets/structure/Cargo.tomldiffbeforeafterboth
--- a/pallets/structure/Cargo.toml
+++ b/pallets/structure/Cargo.toml
@@ -4,10 +4,10 @@
 edition = "2021"
 
 [dependencies]
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 pallet-common = { path = "../common", default-features = false }
 parity-scale-codec = { version = "3.1.2", default-features = false, features = [
 	"derive",
@@ -16,7 +16,7 @@
 	"derive",
 ] }
 up-data-structs = { path = "../../primitives/data-structs", default-features = false }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 [features]
 default = ["std"]
modifiedpallets/structure/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/structure/src/benchmarking.rs
+++ b/pallets/structure/src/benchmarking.rs
@@ -32,7 +32,7 @@
 		let caller_cross = T::CrossAccountId::from_sub(caller.clone());
 
 		<T as CommonConfig>::Currency::deposit_creating(&caller, T::CollectionCreationPrice::get());
-		T::CollectionDispatch::create(caller_cross.clone(), CreateCollectionData {
+		T::CollectionDispatch::create(caller_cross.clone(), caller_cross.clone(), CreateCollectionData {
 			mode: CollectionMode::NFT,
 			..Default::default()
 		})?;
modifiedpallets/structure/src/weights.rsdiffbeforeafterboth
--- a/pallets/structure/src/weights.rs
+++ b/pallets/structure/src/weights.rs
@@ -42,8 +42,8 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn find_parent() -> Weight {
-		(7_180_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(2 as Weight))
+		Weight::from_ref_time(7_180_000)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
 	}
 }
 
@@ -52,7 +52,7 @@
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Nonfungible TokenData (r:1 w:0)
 	fn find_parent() -> Weight {
-		(7_180_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
+		Weight::from_ref_time(7_180_000)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
 	}
 }
modifiedpallets/unique/Cargo.tomldiffbeforeafterboth
--- a/pallets/unique/Cargo.toml
+++ b/pallets/unique/Cargo.toml
@@ -59,37 +59,37 @@
 default-features = false
 optional = true
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-io]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 ################################################################################
 # Local Dependencies
@@ -98,7 +98,7 @@
 scale-info = { version = "2.0.1", default-features = false, features = [
     "derive",
 ] }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 pallet-common = { default-features = false, path = "../common" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 pallet-evm-coder-substrate = { default-features = false, path = '../../pallets/evm-coder-substrate' }
modifiedpallets/unique/src/eth/mod.rsdiffbeforeafterboth
--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -28,7 +28,7 @@
 		static_property::{key, value as property_value},
 	},
 };
-use pallet_evm_coder_substrate::{SubstrateRecorder, WithRecorder};
+use pallet_evm_coder_substrate::{dispatch_to_evm, SubstrateRecorder, WithRecorder};
 use pallet_evm::{account::CrossAccountId, OnMethodCall, PrecompileHandle, PrecompileResult};
 use up_data_structs::{
 	CollectionName, CollectionDescription, CollectionTokenPrefix, CreateCollectionData,
@@ -156,6 +156,7 @@
 	T: Config + pallet_nonfungible::Config + pallet_refungible::Config,
 >(
 	caller: caller,
+	value: value,
 	name: string,
 	description: string,
 	token_prefix: string,
@@ -172,18 +173,38 @@
 		base_uri_value,
 		add_properties,
 	)?;
+	check_sent_amount_equals_collection_creation_price::<T>(value)?;
+	let collection_helpers_address =
+		T::CrossAccountId::from_eth(<T as pallet_common::Config>::ContractAddress::get());
 
-	let collection_id = T::CollectionDispatch::create(caller.clone(), data)
-		.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
+	let collection_id =
+		T::CollectionDispatch::create(caller.clone(), collection_helpers_address, data)
+			.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
 	let address = pallet_common::eth::collection_id_to_address(collection_id);
 	Ok(address)
 }
 
+fn check_sent_amount_equals_collection_creation_price<T: Config>(value: value) -> Result<()> {
+	let value = value.as_u128();
+	let creation_price: u128 = T::CollectionCreationPrice::get()
+		.try_into()
+		.map_err(|_| ()) // workaround for `expect` requiring `Debug` trait
+		.expect("Collection creation price should be convertible to u128");
+	if value != creation_price {
+		return Err(format!(
+			"Sent amount not equals to collection creation price ({0})",
+			creation_price
+		)
+		.into());
+	}
+	Ok(())
+}
+
 /// @title Contract, which allows users to operate with collections
 #[solidity_interface(name = CollectionHelpers, events(CollectionHelpersEvents))]
 impl<T> EvmCollectionHelpers<T>
 where
-	T: Config + pallet_nonfungible::Config + pallet_refungible::Config,
+	T: Config + pallet_common::Config + pallet_nonfungible::Config + pallet_refungible::Config,
 {
 	/// Create an NFT collection
 	/// @param name Name of the collection
@@ -194,6 +215,7 @@
 	fn create_nonfungible_collection(
 		&mut self,
 		caller: caller,
+		value: value,
 		name: string,
 		description: string,
 		token_prefix: string,
@@ -208,8 +230,11 @@
 			Default::default(),
 			false,
 		)?;
-		let collection_id = T::CollectionDispatch::create(caller, data)
-			.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
+		check_sent_amount_equals_collection_creation_price::<T>(value)?;
+		let collection_helpers_address =
+			T::CrossAccountId::from_eth(<T as pallet_common::Config>::ContractAddress::get());
+		let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data)
+			.map_err(dispatch_to_evm::<T>)?;
 
 		let address = pallet_common::eth::collection_id_to_address(collection_id);
 		Ok(address)
@@ -220,6 +245,7 @@
 	fn create_nonfungible_collection_with_properties(
 		&mut self,
 		caller: caller,
+		value: value,
 		name: string,
 		description: string,
 		token_prefix: string,
@@ -235,7 +261,10 @@
 			base_uri_value,
 			true,
 		)?;
-		let collection_id = T::CollectionDispatch::create(caller, data)
+		check_sent_amount_equals_collection_creation_price::<T>(value)?;
+		let collection_helpers_address =
+			T::CrossAccountId::from_eth(<T as pallet_common::Config>::ContractAddress::get());
+		let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data)
 			.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
 
 		let address = pallet_common::eth::collection_id_to_address(collection_id);
@@ -247,12 +276,14 @@
 	fn create_refungible_collection(
 		&mut self,
 		caller: caller,
+		value: value,
 		name: string,
 		description: string,
 		token_prefix: string,
 	) -> Result<address> {
 		create_refungible_collection_internal::<T>(
 			caller,
+			value,
 			name,
 			description,
 			token_prefix,
@@ -266,6 +297,7 @@
 	fn create_refungible_collection_with_properties(
 		&mut self,
 		caller: caller,
+		value: value,
 		name: string,
 		description: string,
 		token_prefix: string,
@@ -273,6 +305,7 @@
 	) -> Result<address> {
 		create_refungible_collection_internal::<T>(
 			caller,
+			value,
 			name,
 			description,
 			token_prefix,
@@ -292,6 +325,14 @@
 
 		Ok(false)
 	}
+
+	fn collection_creation_fee(&self) -> Result<value> {
+		let price: u128 = T::CollectionCreationPrice::get()
+			.try_into()
+			.map_err(|_| ()) // workaround for `expect` requiring `Debug` trait
+			.expect("Collection creation price should be convertible to u128");
+		Ok(price.into())
+	}
 }
 
 /// Implements [`OnMethodCall`], which delegates call to [`EvmCollectionHelpers`]
modifiedpallets/unique/src/eth/stubs/CollectionHelpers.rawdiffbeforeafterboth

binary blob — no preview

modifiedpallets/unique/src/eth/stubs/CollectionHelpers.soldiffbeforeafterboth
--- a/pallets/unique/src/eth/stubs/CollectionHelpers.sol
+++ b/pallets/unique/src/eth/stubs/CollectionHelpers.sol
@@ -23,7 +23,7 @@
 }
 
 /// @title Contract, which allows users to operate with collections
-/// @dev the ERC-165 identifier for this interface is 0x88ee8ef1
+/// @dev the ERC-165 identifier for this interface is 0x5ad4f440
 contract CollectionHelpers is Dummy, ERC165, CollectionHelpersEvents {
 	/// Create an NFT collection
 	/// @param name Name of the collection
@@ -36,7 +36,7 @@
 		string memory name,
 		string memory description,
 		string memory tokenPrefix
-	) public returns (address) {
+	) public payable returns (address) {
 		require(false, stub_error);
 		name;
 		description;
@@ -52,7 +52,7 @@
 		string memory description,
 		string memory tokenPrefix,
 		string memory baseUri
-	) public returns (address) {
+	) public payable returns (address) {
 		require(false, stub_error);
 		name;
 		description;
@@ -68,7 +68,7 @@
 		string memory name,
 		string memory description,
 		string memory tokenPrefix
-	) public returns (address) {
+	) public payable returns (address) {
 		require(false, stub_error);
 		name;
 		description;
@@ -84,7 +84,7 @@
 		string memory description,
 		string memory tokenPrefix,
 		string memory baseUri
-	) public returns (address) {
+	) public payable returns (address) {
 		require(false, stub_error);
 		name;
 		description;
@@ -105,4 +105,12 @@
 		dummy;
 		return false;
 	}
+
+	/// @dev EVM selector for this function is: 0xd23a7ab1,
+	///  or in textual repr: collectionCreationFee()
+	function collectionCreationFee() public view returns (uint256) {
+		require(false, stub_error);
+		dummy;
+		return 0;
+	}
 }
modifiedpallets/unique/src/lib.rsdiffbeforeafterboth
--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -83,7 +83,7 @@
 };
 use scale_info::TypeInfo;
 use frame_system::{self as system, ensure_signed};
-use sp_runtime::{sp_std::prelude::Vec};
+use sp_std::{vec, vec::Vec};
 use up_data_structs::{
 	MAX_COLLECTION_NAME_LENGTH, MAX_COLLECTION_DESCRIPTION_LENGTH, MAX_TOKEN_PREFIX_LENGTH,
 	CreateItemData, CollectionLimits, CollectionPermissions, CollectionId, CollectionMode, TokenId,
@@ -280,11 +280,11 @@
 		pub fn deposit_event() = default;
 
 		fn on_initialize(_now: T::BlockNumber) -> Weight {
-			0
+			Weight::zero()
 		}
 
 		fn on_runtime_upgrade() -> Weight {
-			0
+			Weight::zero()
 		}
 
 		/// Create a collection of tokens.
@@ -344,8 +344,8 @@
 			let sender = ensure_signed(origin)?;
 
 			// =========
-
-			let _id = T::CollectionDispatch::create(T::CrossAccountId::from_sub(sender), data)?;
+			let sender = T::CrossAccountId::from_sub(sender);
+			let _id = T::CollectionDispatch::create(sender.clone(), sender, data)?;
 
 			Ok(())
 		}
modifiedpallets/unique/src/weights.rsdiffbeforeafterboth
--- a/pallets/unique/src/weights.rs
+++ b/pallets/unique/src/weights.rs
@@ -57,9 +57,9 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(43_143_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(4 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(43_143_000)
+			.saturating_add(T::DbWeight::get().reads(4 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:0)
@@ -69,75 +69,75 @@
 	// Storage: Common AdminAmount (r:0 w:1)
 	// Storage: Common CollectionProperties (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(50_188_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(50_188_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_allow_list() -> Weight {
-		(18_238_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_238_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn remove_from_allow_list() -> Weight {
-		(18_084_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_084_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn change_collection_owner() -> Weight {
-		(18_265_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_265_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn add_collection_admin() -> Weight {
-		(23_558_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(23_558_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn remove_collection_admin() -> Weight {
-		(25_285_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(3 as Weight))
-			.saturating_add(T::DbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(25_285_000)
+			.saturating_add(T::DbWeight::get().reads(3 as u64))
+			.saturating_add(T::DbWeight::get().writes(2 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_sponsor() -> Weight {
-		(17_885_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_885_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn confirm_sponsorship() -> Weight {
-		(17_897_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_897_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn remove_collection_sponsor() -> Weight {
-		(17_836_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_836_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(9_714_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(9_714_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_limits() -> Weight {
-		(18_166_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(1 as Weight))
-			.saturating_add(T::DbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_166_000)
+			.saturating_add(T::DbWeight::get().reads(1 as u64))
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 }
 
@@ -150,9 +150,9 @@
 	// Storage: Common CollectionProperties (r:0 w:1)
 	// Storage: Common CollectionById (r:0 w:1)
 	fn create_collection() -> Weight {
-		(43_143_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(43_143_000)
+			.saturating_add(RocksDbWeight::get().reads(4 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	// Storage: Nonfungible TokenData (r:1 w:0)
@@ -162,74 +162,74 @@
 	// Storage: Common AdminAmount (r:0 w:1)
 	// Storage: Common CollectionProperties (r:0 w:1)
 	fn destroy_collection() -> Weight {
-		(50_188_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
+		Weight::from_ref_time(50_188_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(6 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn add_to_allow_list() -> Weight {
-		(18_238_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_238_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common Allowlist (r:0 w:1)
 	fn remove_from_allow_list() -> Weight {
-		(18_084_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_084_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn change_collection_owner() -> Weight {
-		(18_265_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_265_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn add_collection_admin() -> Weight {
-		(23_558_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(23_558_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:0)
 	// Storage: Common IsAdmin (r:1 w:1)
 	// Storage: Common AdminAmount (r:1 w:1)
 	fn remove_collection_admin() -> Weight {
-		(25_285_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(3 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(2 as Weight))
+		Weight::from_ref_time(25_285_000)
+			.saturating_add(RocksDbWeight::get().reads(3 as u64))
+			.saturating_add(RocksDbWeight::get().writes(2 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_sponsor() -> Weight {
-		(17_885_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_885_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn confirm_sponsorship() -> Weight {
-		(17_897_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_897_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn remove_collection_sponsor() -> Weight {
-		(17_836_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(17_836_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_transfers_enabled_flag() -> Weight {
-		(9_714_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(9_714_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Common CollectionById (r:1 w:1)
 	fn set_collection_limits() -> Weight {
-		(18_166_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
+		Weight::from_ref_time(18_166_000)
+			.saturating_add(RocksDbWeight::get().reads(1 as u64))
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 }
modifiedprimitives/app_promotion_rpc/Cargo.tomldiffbeforeafterboth
--- a/primitives/app_promotion_rpc/Cargo.toml
+++ b/primitives/app_promotion_rpc/Cargo.toml
@@ -10,11 +10,11 @@
 codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [
 	"derive",
 ] }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 [features]
 default = ["std"]
modifiedprimitives/common/Cargo.tomldiffbeforeafterboth
--- a/primitives/common/Cargo.toml
+++ b/primitives/common/Cargo.toml
@@ -6,7 +6,7 @@
 license = 'All Rights Reserved'
 name = 'up-common'
 repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = "0.9.27"
+version = "0.9.29"
 
 [features]
 default = ['std']
@@ -23,34 +23,34 @@
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.fp-rpc]
 default-features = false
 git = "https://github.com/uniquenetwork/frontier"
-branch = "unique-polkadot-v0.9.27-fee-limit"
+branch = "unique-polkadot-v0.9.29"
 
 [dependencies.pallet-evm]
 default-features = false
 git = "https://github.com/uniquenetwork/frontier"
-branch = "unique-polkadot-v0.9.27-fee-limit"
+branch = "unique-polkadot-v0.9.29"
modifiedprimitives/common/src/constants.rsdiffbeforeafterboth
--- a/primitives/common/src/constants.rs
+++ b/primitives/common/src/constants.rs
@@ -54,7 +54,7 @@
 /// by  Operational  extrinsics.
 pub const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75);
 /// We allow for 2 seconds of compute with a 6 second average block time.
-pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND / 2;
+pub const MAXIMUM_BLOCK_WEIGHT: Weight = WEIGHT_PER_SECOND.saturating_div(2);
 
 parameter_types! {
 	pub const TransactionByteFee: Balance = 501 * MICROUNIQUE;
modifiedprimitives/data-structs/Cargo.tomldiffbeforeafterboth
--- a/primitives/data-structs/Cargo.toml
+++ b/primitives/data-structs/Cargo.toml
@@ -18,14 +18,14 @@
 serde = { version = "1.0.130", features = [
   'derive',
 ], default-features = false, optional = true }
-frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 derivative = { version = "2.2.0", features = ["use_core"] }
 struct-versioning = { path = "../../crates/struct-versioning" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 rmrk-traits = { default-features = false, path = "../rmrk-traits" }
 bondrewd = { version = "0.1.14", features = ["derive"], default-features = false }
 
modifiedprimitives/rmrk-rpc/Cargo.tomldiffbeforeafterboth
--- a/primitives/rmrk-rpc/Cargo.toml
+++ b/primitives/rmrk-rpc/Cargo.toml
@@ -8,10 +8,10 @@
 codec = { package = "parity-scale-codec", version = "2.0.0", default-features = false, features = [
 	"derive",
 ] }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 serde = { version = "1.0.130", default-features = false, features = ["derive"] }
 rmrk-traits = { default-features = false, path = "../rmrk-traits" }
 
modifiedprimitives/rpc/Cargo.tomldiffbeforeafterboth
--- a/primitives/rpc/Cargo.toml
+++ b/primitives/rpc/Cargo.toml
@@ -10,11 +10,11 @@
 codec = { package = "parity-scale-codec", version = "3.1.2", default-features = false, features = [
 	"derive",
 ] }
-sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-api = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 [features]
 default = ["std"]
modifiedprimitives/rpc/src/lib.rsdiffbeforeafterboth
--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -23,10 +23,7 @@
 
 use sp_std::vec::Vec;
 use codec::Decode;
-use sp_runtime::{
-	DispatchError,
-	traits::{AtLeast32BitUnsigned, Member},
-};
+use sp_runtime::DispatchError;
 
 type Result<T> = core::result::Result<T, DispatchError>;
 
modifiedruntime/common/config/ethereum.rsdiffbeforeafterboth
--- a/runtime/common/config/ethereum.rs
+++ b/runtime/common/config/ethereum.rs
@@ -27,9 +27,9 @@
 // (contract, which only writes a lot of data),
 // approximating on top of our real store write weight
 parameter_types! {
-	pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND / <Runtime as frame_system::Config>::DbWeight::get().write;
+	pub const WritesPerSecond: u64 = WEIGHT_PER_SECOND.ref_time() / <Runtime as frame_system::Config>::DbWeight::get().write;
 	pub const GasPerSecond: u64 = WritesPerSecond::get() * 20000;
-	pub const WeightPerGas: u64 = WEIGHT_PER_SECOND / GasPerSecond::get();
+	pub const WeightPerGas: u64 = WEIGHT_PER_SECOND.ref_time() / GasPerSecond::get();
 }
 
 /// Limiting EVM execution to 50% of block for substrate users and management tasks
@@ -37,16 +37,16 @@
 /// scheduled fairly
 const EVM_DISPATCH_RATIO: Perbill = Perbill::from_percent(50);
 parameter_types! {
-	pub BlockGasLimit: U256 = U256::from(NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get());
+	pub BlockGasLimit: U256 = U256::from((NORMAL_DISPATCH_RATIO * EVM_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT / WeightPerGas::get()).ref_time());
 }
 
 pub enum FixedGasWeightMapping {}
 impl pallet_evm::GasWeightMapping for FixedGasWeightMapping {
 	fn gas_to_weight(gas: u64) -> Weight {
-		gas.saturating_mul(WeightPerGas::get())
+		Weight::from_ref_time(gas).saturating_mul(WeightPerGas::get())
 	}
 	fn weight_to_gas(weight: Weight) -> u64 {
-		weight / WeightPerGas::get()
+		(weight / WeightPerGas::get()).ref_time()
 	}
 }
 
modifiedruntime/common/config/orml.rsdiffbeforeafterboth
--- a/runtime/common/config/orml.rs
+++ b/runtime/common/config/orml.rs
@@ -17,12 +17,12 @@
 use frame_support::{
 	parameter_types,
 	traits::{Contains, Everything},
-	weights::Weight,
 };
 use frame_system::EnsureSigned;
 use orml_traits::{location::AbsoluteReserveProvider, parameter_type_with_key};
 use sp_runtime::traits::Convert;
 use xcm::v1::{Junction::*, Junctions::*, MultiLocation, NetworkId};
+use xcm::latest::Weight;
 use xcm_builder::LocationInverter;
 use xcm_executor::XcmExecutor;
 use sp_std::{vec, vec::Vec};
modifiedruntime/common/config/parachain.rsdiffbeforeafterboth
--- a/runtime/common/config/parachain.rs
+++ b/runtime/common/config/parachain.rs
@@ -19,8 +19,8 @@
 use up_common::constants::*;
 
 parameter_types! {
-	pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
-	pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT / 4;
+	pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4);
+	pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4);
 }
 
 impl cumulus_pallet_parachain_system::Config for Runtime {
modifiedruntime/common/config/xcm/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/xcm/mod.rs
+++ b/runtime/common/config/xcm/mod.rs
@@ -16,14 +16,13 @@
 
 use frame_support::{
 	traits::{Everything, Get},
-	weights::Weight,
 	parameter_types,
 };
 use frame_system::EnsureRoot;
 use pallet_xcm::XcmPassthrough;
 use polkadot_parachain::primitives::Sibling;
 use xcm::v1::{Junction::*, MultiLocation, NetworkId};
-use xcm::latest::prelude::*;
+use xcm::latest::{prelude::*, Weight};
 use xcm_builder::{
 	AccountId32Aliases, EnsureXcmOrigin, FixedWeightBounds, LocationInverter, ParentAsSuperuser,
 	RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia,
modifiedruntime/common/config/xcm/nativeassets.rsdiffbeforeafterboth
--- a/runtime/common/config/xcm/nativeassets.rs
+++ b/runtime/common/config/xcm/nativeassets.rs
@@ -16,14 +16,14 @@
 
 use frame_support::{
 	traits::{tokens::currency::Currency as CurrencyT, OnUnbalanced as OnUnbalancedT, Get},
-	weights::{Weight, WeightToFeePolynomial},
+	weights::WeightToFeePolynomial,
 };
 use sp_runtime::traits::{CheckedConversion, Zero, Convert};
 use xcm::v1::{Junction::*, MultiLocation, Junctions::*};
 use xcm::latest::{
 	AssetId::{Concrete},
 	Fungibility::Fungible as XcmFungible,
-	MultiAsset, Error as XcmError,
+	MultiAsset, Error as XcmError, Weight,
 };
 use xcm_builder::{CurrencyAdapter, NativeAsset};
 use xcm_executor::{
modifiedruntime/common/dispatch.rsdiffbeforeafterboth
--- a/runtime/common/dispatch.rs
+++ b/runtime/common/dispatch.rs
@@ -55,21 +55,24 @@
 {
 	fn create(
 		sender: T::CrossAccountId,
+		payer: T::CrossAccountId,
 		data: CreateCollectionData<T::AccountId>,
 	) -> Result<CollectionId, DispatchError> {
 		let id = match data.mode {
-			CollectionMode::NFT => <PalletNonfungible<T>>::init_collection(sender, data, false)?,
+			CollectionMode::NFT => {
+				<PalletNonfungible<T>>::init_collection(sender, payer, data, false)?
+			}
 			CollectionMode::Fungible(decimal_points) => {
 				// check params
 				ensure!(
 					decimal_points <= MAX_DECIMAL_POINTS,
 					pallet_unique::Error::<T>::CollectionDecimalPointLimitExceeded
 				);
-				<PalletFungible<T>>::init_collection(sender, data)?
+				<PalletFungible<T>>::init_collection(sender, payer, data)?
 			}
 
 			#[cfg(feature = "refungible")]
-			CollectionMode::ReFungible => <PalletRefungible<T>>::init_collection(sender, data)?,
+			CollectionMode::ReFungible => <PalletRefungible<T>>::init_collection(sender, payer, data)?,
 
 			#[cfg(not(feature = "refungible"))]
 			CollectionMode::ReFungible => return unsupported!(T),
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -39,10 +39,7 @@
 #[cfg(feature = "std")]
 use sp_version::NativeVersion;
 
-use crate::{
-	Runtime, Call, Balances, Treasury, Aura, Signature, AllPalletsReversedWithSystemFirst,
-	InherentDataExt,
-};
+use crate::{Runtime, Call, Balances, Treasury, Aura, Signature, AllPalletsWithSystem, InherentDataExt};
 use up_common::types::{AccountId, BlockNumber};
 
 #[macro_export]
@@ -105,7 +102,7 @@
 	Block,
 	frame_system::ChainContext<Runtime>,
 	Runtime,
-	AllPalletsReversedWithSystemFirst,
+	AllPalletsWithSystem,
 >;
 
 type NegativeImbalance = <Balances as Currency<AccountId>>::NegativeImbalance;
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -190,6 +190,7 @@
             }
 
             impl app_promotion_rpc::AppPromotionApi<Block, BlockNumber, CrossAccountId, AccountId> for Runtime {
+                #[allow(unused_variables)]
                 fn total_staked(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {
                     #[cfg(not(feature = "app-promotion"))]
                     return unsupported!();
@@ -198,6 +199,7 @@
                     return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked(staker).unwrap_or_default());
                 }
 
+                #[allow(unused_variables)]
                 fn total_staked_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {
                     #[cfg(not(feature = "app-promotion"))]
                     return unsupported!();
@@ -206,6 +208,7 @@
                     return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_total_staked_per_block(staker));
                 }
 
+                #[allow(unused_variables)]
                 fn pending_unstake(staker: Option<CrossAccountId>) -> Result<u128, DispatchError> {
                     #[cfg(not(feature = "app-promotion"))]
                     return unsupported!();
@@ -214,6 +217,7 @@
                     return Ok(<pallet_app_promotion::Pallet<Runtime>>::cross_id_pending_unstake(staker));
                 }
 
+                #[allow(unused_variables)]
                 fn pending_unstake_per_block(staker: CrossAccountId) -> Result<Vec<(BlockNumber, u128)>, DispatchError> {
                     #[cfg(not(feature = "app-promotion"))]
                     return unsupported!();
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -10,7 +10,7 @@
 license = 'GPLv3'
 name = 'opal-runtime'
 repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = "0.9.27"
+version = "0.9.29"
 
 [package.metadata.docs.rs]
 targets = ['x86_64-unknown-linux-gnu']
@@ -151,39 +151,39 @@
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-try-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-executive]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-benchmarking]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.hex-literal]
 optional = true
@@ -198,12 +198,12 @@
 [dependencies.pallet-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # Contracts specific packages
 # [dependencies.pallet-contracts]
@@ -227,32 +227,32 @@
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-sudo]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-treasury]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # [dependencies.pallet-vesting]
 # default-features = false
@@ -262,67 +262,67 @@
 [dependencies.sp-arithmetic]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-block-builder]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-inherents]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-io]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-offchain]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-session]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-transaction-pool]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-version]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.smallvec]
 version = '1.6.1'
@@ -333,46 +333,46 @@
 [dependencies.parachain-info]
 default-features = false
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-pallet-aura-ext]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-parachain-system]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-core]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcm]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-dmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-utility]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-timestamp]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 ################################################################################
@@ -380,50 +380,50 @@
 
 [dependencies.polkadot-parachain]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-builder]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-executor]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.pallet-xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.orml-vesting]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-xtokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-tokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-traits]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
@@ -441,7 +441,7 @@
 up-rpc = { path = "../../primitives/rpc", default-features = false }
 app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
 rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
 pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
@@ -455,18 +455,18 @@
 pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
 pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
+pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
 pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
 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", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.29' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
 
 ################################################################################
@@ -485,4 +485,4 @@
 
 [build-dependencies.substrate-wasm-builder]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
modifiedruntime/opal/src/xcm_barrier.rsdiffbeforeafterboth
--- a/runtime/opal/src/xcm_barrier.rs
+++ b/runtime/opal/src/xcm_barrier.rs
@@ -14,8 +14,11 @@
 // You should have received a copy of the GNU General Public License
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
-use frame_support::{weights::Weight, traits::Everything};
-use xcm::{latest::Xcm, v1::MultiLocation};
+use frame_support::traits::Everything;
+use xcm::{
+	latest::{Xcm, Weight},
+	v1::MultiLocation,
+};
 use xcm_builder::{AllowTopLevelPaidExecutionFrom, TakeWeightCredit};
 use xcm_executor::traits::ShouldExecute;
 
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -148,39 +148,39 @@
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-try-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-executive]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-benchmarking]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.hex-literal]
 optional = true
@@ -195,12 +195,12 @@
 [dependencies.pallet-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # Contracts specific packages
 # [dependencies.pallet-contracts]
@@ -224,32 +224,32 @@
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-sudo]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-treasury]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # [dependencies.pallet-vesting]
 # default-features = false
@@ -259,67 +259,67 @@
 [dependencies.sp-arithmetic]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-block-builder]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-inherents]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-io]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-offchain]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-session]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-transaction-pool]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-version]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.smallvec]
 version = '1.6.1'
@@ -330,46 +330,46 @@
 [dependencies.parachain-info]
 default-features = false
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-pallet-aura-ext]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-parachain-system]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-core]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcm]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-dmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-utility]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-timestamp]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 ################################################################################
@@ -377,50 +377,50 @@
 
 [dependencies.polkadot-parachain]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-builder]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-executor]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.pallet-xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.orml-vesting]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-xtokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-tokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-traits]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
@@ -446,7 +446,7 @@
 pallet-unique = { path = '../../pallets/unique', default-features = false }
 up-rpc = { path = "../../primitives/rpc", default-features = false }
 app-promotion-rpc = { path = "../../primitives/app_promotion_rpc", default-features = false}
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 pallet-inflation = { path = '../../pallets/inflation', default-features = false }
 pallet-app-promotion = { path = '../../pallets/app-promotion', default-features = false }
 up-data-structs = { path = '../../primitives/data-structs', default-features = false }
@@ -460,18 +460,18 @@
 pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
 pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
+pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
 pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
 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", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.29' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
 
 ################################################################################
@@ -490,4 +490,4 @@
 
 [build-dependencies.substrate-wasm-builder]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
modifiedruntime/tests/Cargo.tomldiffbeforeafterboth
--- a/runtime/tests/Cargo.toml
+++ b/runtime/tests/Cargo.toml
@@ -11,22 +11,22 @@
 [dependencies]
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
 
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
-frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-transaction-payment = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.29" }
 
-pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 
 pallet-common = { path = '../../pallets/common' }
 pallet-structure = { path = '../../pallets/structure' }
@@ -43,4 +43,4 @@
 scale-info = "*"
 
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27" }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29" }
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -149,39 +149,39 @@
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-try-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-executive]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-support]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-benchmarking]
 default-features = false
 git = "https://github.com/paritytech/substrate"
 optional = true
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.frame-system-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.hex-literal]
 optional = true
@@ -196,12 +196,12 @@
 [dependencies.pallet-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-balances]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # Contracts specific packages
 # [dependencies.pallet-contracts]
@@ -225,32 +225,32 @@
 [dependencies.pallet-randomness-collective-flip]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-sudo]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-timestamp]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-transaction-payment-rpc-runtime-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.pallet-treasury]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 # [dependencies.pallet-vesting]
 # default-features = false
@@ -260,67 +260,67 @@
 [dependencies.sp-arithmetic]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-api]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-block-builder]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-core]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-consensus-aura]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-inherents]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-io]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-offchain]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-runtime]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-session]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-std]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-transaction-pool]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.sp-version]
 default-features = false
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.smallvec]
 version = '1.6.1'
@@ -331,46 +331,46 @@
 [dependencies.parachain-info]
 default-features = false
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 
 [dependencies.cumulus-pallet-aura-ext]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-parachain-system]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-core]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcm]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-dmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-pallet-xcmp-queue]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-utility]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 [dependencies.cumulus-primitives-timestamp]
 git = "https://github.com/paritytech/cumulus"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
 default-features = false
 
 ################################################################################
@@ -378,50 +378,50 @@
 
 [dependencies.polkadot-parachain]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-builder]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.xcm-executor]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.pallet-xcm]
 git = "https://github.com/paritytech/polkadot"
-branch = "release-v0.9.27"
+branch = "release-v0.9.29"
 default-features = false
 
 [dependencies.orml-vesting]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-xtokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-tokens]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 
 [dependencies.orml-traits]
-git = "https://github.com/open-web3-stack/open-runtime-module-library"
-branch = "polkadot-v0.9.27"
+git = "https://github.com/UniqueNetwork/open-runtime-module-library"
+branch = "polkadot-v0.9.29"
 version = "0.4.1-dev"
 default-features = false
 ################################################################################
@@ -451,19 +451,19 @@
 pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }
 pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }
 # pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }
-pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
+pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.29", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }
 pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }
 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", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
-fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27-fee-limit" }
+pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
+fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.29" }
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
-up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }
+up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.29' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
 
 ################################################################################
@@ -482,4 +482,4 @@
 
 [build-dependencies.substrate-wasm-builder]
 git = "https://github.com/paritytech/substrate"
-branch = "polkadot-v0.9.27"
+branch = "polkadot-v0.9.29"
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -38,7 +38,7 @@
     "testNesting": "mocha --timeout 9999999 -r ts-node/register ./**/nest.test.ts",
     "testUnnesting": "mocha --timeout 9999999 -r ts-node/register ./**/unnest.test.ts",
     "testStructure": "mocha --timeout 9999999 -r ts-node/register ./**/nesting/**.test.ts",
-    "testProperties": "mocha --timeout 9999999 -r ts-node/register ./**/properties.test.ts",
+    "testProperties": "mocha --timeout 9999999 -r ts-node/register ./**/properties.test.ts ./**/getPropertiesRpc.test.ts",
     "testMigration": "mocha --timeout 9999999 -r ts-node/register ./**/nesting/migration-check.test.ts",
     "testRmrk": "mocha --timeout 9999999 -r ts-node/register ./**/rmrk/**.test.ts",
     "testAddCollectionAdmin": "mocha --timeout 9999999 -r ts-node/register ./**/addCollectionAdmin.test.ts",
modifiedtests/src/eth/api/CollectionHelpers.soldiffbeforeafterboth
--- a/tests/src/eth/api/CollectionHelpers.sol
+++ b/tests/src/eth/api/CollectionHelpers.sol
@@ -18,7 +18,7 @@
 }
 
 /// @title Contract, which allows users to operate with collections
-/// @dev the ERC-165 identifier for this interface is 0x88ee8ef1
+/// @dev the ERC-165 identifier for this interface is 0x5ad4f440
 interface CollectionHelpers is Dummy, ERC165, CollectionHelpersEvents {
 	/// Create an NFT collection
 	/// @param name Name of the collection
@@ -31,7 +31,7 @@
 		string memory name,
 		string memory description,
 		string memory tokenPrefix
-	) external returns (address);
+	) external payable returns (address);
 
 	/// @dev EVM selector for this function is: 0xa634a5f9,
 	///  or in textual repr: createERC721MetadataCompatibleCollection(string,string,string,string)
@@ -40,7 +40,7 @@
 		string memory description,
 		string memory tokenPrefix,
 		string memory baseUri
-	) external returns (address);
+	) external payable returns (address);
 
 	/// @dev EVM selector for this function is: 0xab173450,
 	///  or in textual repr: createRFTCollection(string,string,string)
@@ -48,7 +48,7 @@
 		string memory name,
 		string memory description,
 		string memory tokenPrefix
-	) external returns (address);
+	) external payable returns (address);
 
 	/// @dev EVM selector for this function is: 0xa5596388,
 	///  or in textual repr: createERC721MetadataCompatibleRFTCollection(string,string,string,string)
@@ -57,7 +57,7 @@
 		string memory description,
 		string memory tokenPrefix,
 		string memory baseUri
-	) external returns (address);
+	) external payable returns (address);
 
 	/// Check if a collection exists
 	/// @param collectionAddress Address of the collection in question
@@ -65,4 +65,8 @@
 	/// @dev EVM selector for this function is: 0xc3de1494,
 	///  or in textual repr: isCollectionExist(address)
 	function isCollectionExist(address collectionAddress) external view returns (bool);
+
+	/// @dev EVM selector for this function is: 0xd23a7ab1,
+	///  or in textual repr: collectionCreationFee()
+	function collectionCreationFee() external view returns (uint256);
 }
modifiedtests/src/eth/collectionHelpersAbi.jsondiffbeforeafterboth
--- a/tests/src/eth/collectionHelpersAbi.json
+++ b/tests/src/eth/collectionHelpersAbi.json
@@ -19,6 +19,13 @@
     "type": "event"
   },
   {
+    "inputs": [],
+    "name": "collectionCreationFee",
+    "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
+    "stateMutability": "view",
+    "type": "function"
+  },
+  {
     "inputs": [
       { "internalType": "string", "name": "name", "type": "string" },
       { "internalType": "string", "name": "description", "type": "string" },
@@ -27,7 +34,7 @@
     ],
     "name": "createERC721MetadataCompatibleCollection",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
-    "stateMutability": "nonpayable",
+    "stateMutability": "payable",
     "type": "function"
   },
   {
@@ -39,7 +46,7 @@
     ],
     "name": "createERC721MetadataCompatibleRFTCollection",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
-    "stateMutability": "nonpayable",
+    "stateMutability": "payable",
     "type": "function"
   },
   {
@@ -50,7 +57,7 @@
     ],
     "name": "createNonfungibleCollection",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
-    "stateMutability": "nonpayable",
+    "stateMutability": "payable",
     "type": "function"
   },
   {
@@ -61,7 +68,7 @@
     ],
     "name": "createRFTCollection",
     "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
-    "stateMutability": "nonpayable",
+    "stateMutability": "payable",
     "type": "function"
   },
   {
modifiedtests/src/eth/collectionSponsoring.test.tsdiffbeforeafterboth
--- a/tests/src/eth/collectionSponsoring.test.ts
+++ b/tests/src/eth/collectionSponsoring.test.ts
@@ -1,10 +1,8 @@
-import {addToAllowListExpectSuccess, bigIntToSub, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, enablePublicMintingExpectSuccess, getDetailedCollectionInfo, setCollectionSponsorExpectSuccess} from '../util/helpers';
+import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, enablePublicMintingExpectSuccess, getDetailedCollectionInfo, setCollectionSponsorExpectSuccess, UNIQUE} from '../util/helpers';
 import {itWeb3, createEthAccount, collectionIdToAddress, GAS_ARGS, normalizeEvents, createEthAccountWithBalance, evmCollectionHelpers, getCollectionAddressFromResult, evmCollection, ethBalanceViaSub} from './util/helpers';
 import nonFungibleAbi from './nonFungibleAbi.json';
 import {expect} from 'chai';
 import {evmToAddress} from '@polkadot/util-crypto';
-import {submitTransactionAsync} from '../substrate/substrate-api';
-import getBalance from '../substrate/get-balance';
 
 describe('evm collection sponsoring', () => {
   itWeb3('sponsors mint transactions', async ({web3, privateKeyWrapper}) => {
@@ -64,7 +62,7 @@
   itWeb3('Remove sponsor', async ({api, web3, privateKeyWrapper}) => {
     const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionHelpers = evmCollectionHelpers(web3, owner);
-    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send();
+    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send({value: Number(2n * UNIQUE)});
     const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
     const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
@@ -85,7 +83,7 @@
   itWeb3('Sponsoring collection from evm address via access list', async ({api, web3, privateKeyWrapper}) => {
     const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionHelpers = evmCollectionHelpers(web3, owner);
-    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send();
+    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send({value: Number(2n * UNIQUE)});
     const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
     const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
@@ -210,7 +208,7 @@
   itWeb3('Check that transaction via EVM spend money from sponsor address', async ({api, web3, privateKeyWrapper}) => {
     const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionHelpers = evmCollectionHelpers(web3, owner);
-    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send();
+    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send({value: Number(2n * UNIQUE)});
     const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
     const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
modifiedtests/src/eth/createNFTCollection.test.tsdiffbeforeafterboth
--- a/tests/src/eth/createNFTCollection.test.ts
+++ b/tests/src/eth/createNFTCollection.test.ts
@@ -15,85 +15,87 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 import {evmToAddress} from '@polkadot/util-crypto';
-import {expect} from 'chai';
-import {getCreatedCollectionCount, getDetailedCollectionInfo} from '../util/helpers';
-import {
-  evmCollectionHelpers,
-  collectionIdToAddress,
-  createEthAccount,
-  createEthAccountWithBalance,
-  evmCollection,
-  itWeb3,
-  getCollectionAddressFromResult,
-} from './util/helpers';
+import {IKeyringPair} from '@polkadot/types/types';
+import {expect, itEth, usingEthPlaygrounds} from './util/playgrounds';
+import {UNIQUE} from '../util/helpers';
 
 describe('Create NFT collection from EVM', () => {
-  itWeb3('Create collection', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelper = evmCollectionHelpers(web3, owner);
-    const collectionName = 'CollectionEVM';
+  let donor: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (_helper, privateKey) => {
+      donor = privateKey('//Alice');
+    });
+  });
+
+  itEth('Create collection', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+
+    const name = 'CollectionEVM';
     const description = 'Some description';
-    const tokenPrefix = 'token prefix';
-  
-    const collectionCountBefore = await getCreatedCollectionCount(api);
-    const result = await collectionHelper.methods
-      .createNonfungibleCollection(collectionName, description, tokenPrefix)
-      .send();
-    const collectionCountAfter = await getCreatedCollectionCount(api);
-  
-    const {collectionId, collection} = await getCollectionAddressFromResult(api, result);
+    const prefix = 'token prefix';
+
+    // todo:playgrounds this might fail when in async environment.
+    const collectionCountBefore = +(await helper.callRpc('api.rpc.unique.collectionStats')).created;
+    const {collectionId} = await helper.eth.createNonfungibleCollection(owner, name, description, prefix);
+    const collectionCountAfter = +(await helper.callRpc('api.rpc.unique.collectionStats')).created;
+
+    const collection = helper.nft.getCollectionObject(collectionId);
+    const data = (await collection.getData())!;
+    
     expect(collectionCountAfter - collectionCountBefore).to.be.eq(1);
     expect(collectionId).to.be.eq(collectionCountAfter);
-    expect(collection.name.map(v => String.fromCharCode(v.toNumber())).join('')).to.be.eq(collectionName);
-    expect(collection.description.map(v => String.fromCharCode(v.toNumber())).join('')).to.be.eq(description);
-    expect(collection.tokenPrefix.toHuman()).to.be.eq(tokenPrefix);
-    expect(collection.mode.isNft).to.be.true;
+    expect(data.name).to.be.eq(name);
+    expect(data.description).to.be.eq(description);
+    expect(data.raw.tokenPrefix).to.be.eq(prefix);
+    expect(data.raw.mode).to.be.eq('NFT');
   });
 
-  itWeb3('Check collection address exist', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-  
-    const expectedCollectionId = await getCreatedCollectionCount(api) + 1;
-    const expectedCollectionAddress = collectionIdToAddress(expectedCollectionId);
+  // todo:playgrounds this test will fail when in async environment.
+  itEth('Check collection address exist', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+
+    const expectedCollectionId = +(await helper.callRpc('api.rpc.unique.collectionStats')).created + 1;
+    const expectedCollectionAddress = helper.ethAddress.fromCollectionId(expectedCollectionId);
+    const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner);
+
     expect(await collectionHelpers.methods
       .isCollectionExist(expectedCollectionAddress)
       .call()).to.be.false;
 
     await collectionHelpers.methods
       .createNonfungibleCollection('A', 'A', 'A')
-      .send();
+      .send({value: Number(2n * UNIQUE)});
     
     expect(await collectionHelpers.methods
       .isCollectionExist(expectedCollectionAddress)
       .call()).to.be.true;
   });
   
-  itWeb3('Set sponsorship', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    let result = await collectionHelpers.methods.createNonfungibleCollection('Sponsor collection', '1', '1').send();
-    const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
-    const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
-    result = await collectionEvm.methods.setCollectionSponsor(sponsor).send();
-    let collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;
-    const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;
-    expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));
-    await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');
-    const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+  itEth('Set sponsorship', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const sponsor = await helper.eth.createAccountWithBalance(donor);
+    const ss58Format = helper.chain.getChainProperties().ss58Format;
+    const {collectionId, collectionAddress} = await helper.eth.createNonfungibleCollection(owner, 'Sponsor', 'absolutely anything', 'ROC');
+
+    const collection = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
+    await collection.methods.setCollectionSponsor(sponsor).send();
+
+    let data = (await helper.nft.getData(collectionId))!;
+    expect(data.raw.sponsorship.Unconfirmed).to.be.equal(evmToAddress(sponsor, Number(ss58Format)));
+
+    await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');
+
+    const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor);
     await sponsorCollection.methods.confirmCollectionSponsorship().send();
-    collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.sponsorship.isConfirmed).to.be.true;
-    expect(collectionSub.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));
+
+    data = (await helper.nft.getData(collectionId))!;
+    expect(data.raw.sponsorship.Confirmed).to.be.equal(evmToAddress(sponsor, Number(ss58Format)));
   });
 
-  itWeb3('Set limits', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createNonfungibleCollection('Const collection', '5', '5').send();
-    const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
+  itEth('Set limits', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const {collectionId, collectionAddress} = await helper.eth.createNonfungibleCollection(owner, 'Limits', 'absolutely anything', 'FLO');
     const limits = {
       accountTokenOwnershipLimit: 1000,
       sponsoredDataSize: 1024,
@@ -106,124 +108,122 @@
       transfersEnabled: false,
     };
 
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('accountTokenOwnershipLimit', limits.accountTokenOwnershipLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsoredDataSize', limits.sponsoredDataSize).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsoredDataRateLimit', limits.sponsoredDataRateLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('tokenLimit', limits.tokenLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsorTransferTimeout', limits.sponsorTransferTimeout).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsorApproveTimeout', limits.sponsorApproveTimeout).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('ownerCanTransfer', limits.ownerCanTransfer).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('ownerCanDestroy', limits.ownerCanDestroy).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('transfersEnabled', limits.transfersEnabled).send();
+    const collection = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
+    await collection.methods['setCollectionLimit(string,uint32)']('accountTokenOwnershipLimit', limits.accountTokenOwnershipLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsoredDataSize', limits.sponsoredDataSize).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsoredDataRateLimit', limits.sponsoredDataRateLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('tokenLimit', limits.tokenLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsorTransferTimeout', limits.sponsorTransferTimeout).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsorApproveTimeout', limits.sponsorApproveTimeout).send();
+    await collection.methods['setCollectionLimit(string,bool)']('ownerCanTransfer', limits.ownerCanTransfer).send();
+    await collection.methods['setCollectionLimit(string,bool)']('ownerCanDestroy', limits.ownerCanDestroy).send();
+    await collection.methods['setCollectionLimit(string,bool)']('transfersEnabled', limits.transfersEnabled).send();
     
-    const collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
-    expect(collectionSub.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
-    expect(collectionSub.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit);
-    expect(collectionSub.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
-    expect(collectionSub.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
-    expect(collectionSub.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
-    expect(collectionSub.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
-    expect(collectionSub.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
-    expect(collectionSub.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
+    const data = (await helper.nft.getData(collectionId))!;
+    expect(data.raw.limits.accountTokenOwnershipLimit).to.be.eq(limits.accountTokenOwnershipLimit);
+    expect(data.raw.limits.sponsoredDataSize).to.be.eq(limits.sponsoredDataSize);
+    expect(data.raw.limits.sponsoredDataRateLimit.blocks).to.be.eq(limits.sponsoredDataRateLimit);
+    expect(data.raw.limits.tokenLimit).to.be.eq(limits.tokenLimit);
+    expect(data.raw.limits.sponsorTransferTimeout).to.be.eq(limits.sponsorTransferTimeout);
+    expect(data.raw.limits.sponsorApproveTimeout).to.be.eq(limits.sponsorApproveTimeout);
+    expect(data.raw.limits.ownerCanTransfer).to.be.eq(limits.ownerCanTransfer);
+    expect(data.raw.limits.ownerCanDestroy).to.be.eq(limits.ownerCanDestroy);
+    expect(data.raw.limits.transfersEnabled).to.be.eq(limits.transfersEnabled);
   });
 
-  itWeb3('Collection address exist', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
+  itEth('Collection address exist', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
     const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233';
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    expect(await collectionHelpers.methods
-      .isCollectionExist(collectionAddressForNonexistentCollection).call())
+    expect(await helper.ethNativeContract.collectionHelpers(collectionAddressForNonexistentCollection)
+      .methods.isCollectionExist(collectionAddressForNonexistentCollection).call())
       .to.be.false;
     
-    const result = await collectionHelpers.methods.createNonfungibleCollection('Collection address exist', '7', '7').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    expect(await collectionHelpers.methods
-      .isCollectionExist(collectionIdAddress).call())
+    const {collectionAddress} = await helper.eth.createNonfungibleCollection(owner, 'Exister', 'absolutely anything', 'EVC');
+    expect(await helper.ethNativeContract.collectionHelpers(collectionAddress)
+      .methods.isCollectionExist(collectionAddress).call())
       .to.be.true;
   });
 });
 
 describe('(!negative tests!) Create NFT collection from EVM', () => {
-  itWeb3('(!negative test!) Create collection (bad lengths)', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const helper = evmCollectionHelpers(web3, owner);
+  let donor: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (_helper, privateKey) => {
+      donor = privateKey('//Alice');
+    });
+  });
+
+  itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
     {
-      const MAX_NAME_LENGHT = 64;
-      const collectionName = 'A'.repeat(MAX_NAME_LENGHT + 1);
+      const MAX_NAME_LENGTH = 64;
+      const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1);
       const description = 'A';
       const tokenPrefix = 'A';
-    
-      await expect(helper.methods
+
+      await expect(collectionHelper.methods
         .createNonfungibleCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('name is too long. Max length is ' + MAX_NAME_LENGHT);
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('name is too long. Max length is ' + MAX_NAME_LENGTH);
       
     }
-    {  
-      const MAX_DESCRIPTION_LENGHT = 256;
+    {
+      const MAX_DESCRIPTION_LENGTH = 256;
       const collectionName = 'A';
-      const description = 'A'.repeat(MAX_DESCRIPTION_LENGHT + 1);
+      const description = 'A'.repeat(MAX_DESCRIPTION_LENGTH + 1);
       const tokenPrefix = 'A';
-      await expect(helper.methods
+      await expect(collectionHelper.methods
         .createNonfungibleCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('description is too long. Max length is ' + MAX_DESCRIPTION_LENGHT);
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('description is too long. Max length is ' + MAX_DESCRIPTION_LENGTH);
     }
-    {  
-      const MAX_TOKEN_PREFIX_LENGHT = 16;
+    {
+      const MAX_TOKEN_PREFIX_LENGTH = 16;
       const collectionName = 'A';
       const description = 'A';
-      const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGHT + 1);
-      await expect(helper.methods
+      const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGTH + 1);
+      await expect(collectionHelper.methods
         .createNonfungibleCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('token_prefix is too long. Max length is ' + MAX_TOKEN_PREFIX_LENGHT);
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('token_prefix is too long. Max length is ' + MAX_TOKEN_PREFIX_LENGTH);
     }
   });
   
-  itWeb3('(!negative test!) Create collection (no funds)', async ({web3}) => {
-    const owner = createEthAccount(web3);
-    const helper = evmCollectionHelpers(web3, owner);
-    const collectionName = 'A';
-    const description = 'A';
-    const tokenPrefix = 'A';
-    
-    await expect(helper.methods
-      .createNonfungibleCollection(collectionName, description, tokenPrefix)
-      .call()).to.be.rejectedWith('NotSufficientFounds');
+  itEth('(!negative test!) Create collection (no funds)', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
+    await expect(collectionHelper.methods
+      .createNonfungibleCollection('Peasantry', 'absolutely anything', 'CVE')
+      .call({value: Number(1n * UNIQUE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
   });
 
-  itWeb3('(!negative test!) Check owner', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const notOwner = createEthAccount(web3);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createNonfungibleCollection('A', 'A', 'A').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    const contractEvmFromNotOwner = evmCollection(web3, notOwner, collectionIdAddress);
+  itEth('(!negative test!) Check owner', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const malfeasant = helper.eth.createAccount();
+    const {collectionAddress} = await helper.eth.createNonfungibleCollection(owner, 'Transgressed', 'absolutely anything', 'COR');
+    const malfeasantCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', malfeasant);
     const EXPECTED_ERROR = 'NoPermission';
     {
-      const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-      await expect(contractEvmFromNotOwner.methods
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      await expect(malfeasantCollection.methods
         .setCollectionSponsor(sponsor)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
       
-      const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+      const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'nft', sponsor);
       await expect(sponsorCollection.methods
         .confirmCollectionSponsorship()
         .call()).to.be.rejectedWith('caller is not set as sponsor');
     }
     {
-      await expect(contractEvmFromNotOwner.methods
+      await expect(malfeasantCollection.methods
         .setCollectionLimit('account_token_ownership_limit', '1000')
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
     }
   });
 
-  itWeb3('(!negative test!) Set limits', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createNonfungibleCollection('Schema collection', 'A', 'A').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
+  itEth('(!negative test!) Set limits', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const {collectionAddress} = await helper.eth.createNonfungibleCollection(owner, 'Limits', 'absolutely anything', 'OLF');
+    const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
     await expect(collectionEvm.methods
       .setCollectionLimit('badLimit', 'true')
       .call()).to.be.rejectedWith('unknown boolean limit "badLimit"');
modifiedtests/src/eth/createRFTCollection.test.tsdiffbeforeafterboth
--- a/tests/src/eth/createRFTCollection.test.ts
+++ b/tests/src/eth/createRFTCollection.test.ts
@@ -15,89 +15,88 @@
 // along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
 
 import {evmToAddress} from '@polkadot/util-crypto';
-import {expect} from 'chai';
-import {getCreatedCollectionCount, getDetailedCollectionInfo, requirePallets, Pallets} from '../util/helpers';
-import {
-  evmCollectionHelpers,
-  collectionIdToAddress,
-  createEthAccount,
-  createEthAccountWithBalance,
-  evmCollection,
-  itWeb3,
-  getCollectionAddressFromResult,
-} from './util/helpers';
+import {IKeyringPair} from '@polkadot/types/types';
+import {Pallets, requirePalletsOrSkip} from '../util/playgrounds';
+import {expect, itEth, usingEthPlaygrounds} from './util/playgrounds';
+import {UNIQUE} from '../util/helpers';
 
 describe('Create RFT collection from EVM', () => {
+  let donor: IKeyringPair;
+
   before(async function() {
-    await requirePallets(this, [Pallets.ReFungible]);
+    await usingEthPlaygrounds(async (helper, privateKey) => {
+      requirePalletsOrSkip(this, helper, [Pallets.ReFungible]);
+      donor = privateKey('//Alice');
+    });
   });
 
-  itWeb3('Create collection', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelper = evmCollectionHelpers(web3, owner);
-    const collectionName = 'CollectionEVM';
+  itEth('Create collection', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    
+    const name = 'CollectionEVM';
     const description = 'Some description';
-    const tokenPrefix = 'token prefix';
+    const prefix = 'token prefix';
   
-    const collectionCountBefore = await getCreatedCollectionCount(api);
-    const result = await collectionHelper.methods
-      .createRFTCollection(collectionName, description, tokenPrefix)
-      .send();
-    const collectionCountAfter = await getCreatedCollectionCount(api);
+    // todo:playgrounds this might fail when in async environment.
+    const collectionCountBefore = +(await helper.callRpc('api.rpc.unique.collectionStats')).created;
+    const {collectionId} = await helper.eth.createRefungibleCollection(owner, name, description, prefix);
+    const collectionCountAfter = +(await helper.callRpc('api.rpc.unique.collectionStats')).created;
   
-    const {collectionId, collection} = await getCollectionAddressFromResult(api, result);
+    const data = (await helper.rft.getData(collectionId))!;
+
     expect(collectionCountAfter - collectionCountBefore).to.be.eq(1);
     expect(collectionId).to.be.eq(collectionCountAfter);
-    expect(collection.name.map(v => String.fromCharCode(v.toNumber())).join('')).to.be.eq(collectionName);
-    expect(collection.description.map(v => String.fromCharCode(v.toNumber())).join('')).to.be.eq(description);
-    expect(collection.tokenPrefix.toHuman()).to.be.eq(tokenPrefix);
-    expect(collection.mode.isReFungible).to.be.true;
+    expect(data.name).to.be.eq(name);
+    expect(data.description).to.be.eq(description);
+    expect(data.raw.tokenPrefix).to.be.eq(prefix);
+    expect(data.raw.mode).to.be.eq('ReFungible');
   });
 
-  itWeb3('Check collection address exist', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-  
-    const expectedCollectionId = await getCreatedCollectionCount(api) + 1;
-    const expectedCollectionAddress = collectionIdToAddress(expectedCollectionId);
+  // todo:playgrounds this test will fail when in async environment.
+  itEth('Check collection address exist', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+
+    const expectedCollectionId = +(await helper.callRpc('api.rpc.unique.collectionStats')).created + 1;
+    const expectedCollectionAddress = helper.ethAddress.fromCollectionId(expectedCollectionId);
+    const collectionHelpers = helper.ethNativeContract.collectionHelpers(owner);
+
     expect(await collectionHelpers.methods
       .isCollectionExist(expectedCollectionAddress)
       .call()).to.be.false;
 
     await collectionHelpers.methods
       .createRFTCollection('A', 'A', 'A')
-      .send();
+      .send({value: Number(2n * UNIQUE)});
     
     expect(await collectionHelpers.methods
       .isCollectionExist(expectedCollectionAddress)
       .call()).to.be.true;
   });
   
-  itWeb3('Set sponsorship', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    let result = await collectionHelpers.methods.createRFTCollection('Sponsor collection', '1', '1').send();
-    const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
-    const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress, {type: 'ReFungible'});
-    result = await collectionEvm.methods.setCollectionSponsor(sponsor).send();
-    let collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;
-    const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;
-    expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));
-    await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');
-    const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+  itEth('Set sponsorship', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const sponsor = await helper.eth.createAccountWithBalance(donor);
+    const ss58Format = helper.chain.getChainProperties().ss58Format;
+    const {collectionId, collectionAddress} = await helper.eth.createRefungibleCollection(owner, 'Sponsor', 'absolutely anything', 'ENVY');
+
+    const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+    await collection.methods.setCollectionSponsor(sponsor).send();
+
+    let data = (await helper.rft.getData(collectionId))!;
+    expect(data.raw.sponsorship.Unconfirmed).to.be.equal(evmToAddress(sponsor, Number(ss58Format)));
+
+    await expect(collection.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');
+
+    const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor);
     await sponsorCollection.methods.confirmCollectionSponsorship().send();
-    collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.sponsorship.isConfirmed).to.be.true;
-    expect(collectionSub.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));
+
+    data = (await helper.rft.getData(collectionId))!;
+    expect(data.raw.sponsorship.Confirmed).to.be.equal(evmToAddress(sponsor, Number(ss58Format)));
   });
 
-  itWeb3('Set limits', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createRFTCollection('Const collection', '5', '5').send();
-    const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
+  itEth('Set limits', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const {collectionId, collectionAddress} = await helper.eth.createRefungibleCollection(owner, 'Limits', 'absolutely anything', 'INSI');
     const limits = {
       accountTokenOwnershipLimit: 1000,
       sponsoredDataSize: 1024,
@@ -110,128 +109,122 @@
       transfersEnabled: false,
     };
 
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress, {type: 'ReFungible'});
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('accountTokenOwnershipLimit', limits.accountTokenOwnershipLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsoredDataSize', limits.sponsoredDataSize).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsoredDataRateLimit', limits.sponsoredDataRateLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('tokenLimit', limits.tokenLimit).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsorTransferTimeout', limits.sponsorTransferTimeout).send();
-    await collectionEvm.methods['setCollectionLimit(string,uint32)']('sponsorApproveTimeout', limits.sponsorApproveTimeout).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('ownerCanTransfer', limits.ownerCanTransfer).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('ownerCanDestroy', limits.ownerCanDestroy).send();
-    await collectionEvm.methods['setCollectionLimit(string,bool)']('transfersEnabled', limits.transfersEnabled).send();
+    const collection = helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+    await collection.methods['setCollectionLimit(string,uint32)']('accountTokenOwnershipLimit', limits.accountTokenOwnershipLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsoredDataSize', limits.sponsoredDataSize).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsoredDataRateLimit', limits.sponsoredDataRateLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('tokenLimit', limits.tokenLimit).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsorTransferTimeout', limits.sponsorTransferTimeout).send();
+    await collection.methods['setCollectionLimit(string,uint32)']('sponsorApproveTimeout', limits.sponsorApproveTimeout).send();
+    await collection.methods['setCollectionLimit(string,bool)']('ownerCanTransfer', limits.ownerCanTransfer).send();
+    await collection.methods['setCollectionLimit(string,bool)']('ownerCanDestroy', limits.ownerCanDestroy).send();
+    await collection.methods['setCollectionLimit(string,bool)']('transfersEnabled', limits.transfersEnabled).send();
     
-    const collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
-    expect(collectionSub.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
-    expect(collectionSub.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
-    expect(collectionSub.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit);
-    expect(collectionSub.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
-    expect(collectionSub.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
-    expect(collectionSub.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
-    expect(collectionSub.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
-    expect(collectionSub.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
-    expect(collectionSub.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
+    const data = (await helper.rft.getData(collectionId))!;
+    expect(data.raw.limits.accountTokenOwnershipLimit).to.be.eq(limits.accountTokenOwnershipLimit);
+    expect(data.raw.limits.sponsoredDataSize).to.be.eq(limits.sponsoredDataSize);
+    expect(data.raw.limits.sponsoredDataRateLimit.blocks).to.be.eq(limits.sponsoredDataRateLimit);
+    expect(data.raw.limits.tokenLimit).to.be.eq(limits.tokenLimit);
+    expect(data.raw.limits.sponsorTransferTimeout).to.be.eq(limits.sponsorTransferTimeout);
+    expect(data.raw.limits.sponsorApproveTimeout).to.be.eq(limits.sponsorApproveTimeout);
+    expect(data.raw.limits.ownerCanTransfer).to.be.eq(limits.ownerCanTransfer);
+    expect(data.raw.limits.ownerCanDestroy).to.be.eq(limits.ownerCanDestroy);
+    expect(data.raw.limits.transfersEnabled).to.be.eq(limits.transfersEnabled);
   });
 
-  itWeb3('Collection address exist', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
+  itEth('Collection address exist', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
     const collectionAddressForNonexistentCollection = '0x17C4E6453CC49AAAAEACA894E6D9683E00112233';
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    expect(await collectionHelpers.methods
-      .isCollectionExist(collectionAddressForNonexistentCollection).call())
+    expect(await helper.ethNativeContract.collectionHelpers(collectionAddressForNonexistentCollection)
+      .methods.isCollectionExist(collectionAddressForNonexistentCollection).call())
       .to.be.false;
     
-    const result = await collectionHelpers.methods.createRFTCollection('Collection address exist', '7', '7').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    expect(await collectionHelpers.methods
-      .isCollectionExist(collectionIdAddress).call())
+    const {collectionAddress} = await helper.eth.createRefungibleCollection(owner, 'Exister', 'absolutely anything', 'WIWT');
+    expect(await helper.ethNativeContract.collectionHelpers(collectionAddress)
+      .methods.isCollectionExist(collectionAddress).call())
       .to.be.true;
   });
 });
 
 describe('(!negative tests!) Create RFT collection from EVM', () => {
+  let donor: IKeyringPair;
+
   before(async function() {
-    await requirePallets(this, [Pallets.ReFungible]);
+    await usingEthPlaygrounds(async (helper, privateKey) => {
+      requirePalletsOrSkip(this, helper, [Pallets.ReFungible]);
+      donor = privateKey('//Alice');
+    });
   });
 
-  itWeb3('(!negative test!) Create collection (bad lengths)', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const helper = evmCollectionHelpers(web3, owner);
+  itEth('(!negative test!) Create collection (bad lengths)', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
     {
-      const MAX_NAME_LENGHT = 64;
-      const collectionName = 'A'.repeat(MAX_NAME_LENGHT + 1);
+      const MAX_NAME_LENGTH = 64;
+      const collectionName = 'A'.repeat(MAX_NAME_LENGTH + 1);
       const description = 'A';
       const tokenPrefix = 'A';
-    
-      await expect(helper.methods
+
+      await expect(collectionHelper.methods
         .createRFTCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('name is too long. Max length is ' + MAX_NAME_LENGHT);
-      
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('name is too long. Max length is ' + MAX_NAME_LENGTH);
     }
-    {  
-      const MAX_DESCRIPTION_LENGHT = 256;
+    {
+      const MAX_DESCRIPTION_LENGTH = 256;
       const collectionName = 'A';
-      const description = 'A'.repeat(MAX_DESCRIPTION_LENGHT + 1);
+      const description = 'A'.repeat(MAX_DESCRIPTION_LENGTH + 1);
       const tokenPrefix = 'A';
-      await expect(helper.methods
+      await expect(collectionHelper.methods
         .createRFTCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('description is too long. Max length is ' + MAX_DESCRIPTION_LENGHT);
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('description is too long. Max length is ' + MAX_DESCRIPTION_LENGTH);
     }
-    {  
-      const MAX_TOKEN_PREFIX_LENGHT = 16;
+    {
+      const MAX_TOKEN_PREFIX_LENGTH = 16;
       const collectionName = 'A';
       const description = 'A';
-      const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGHT + 1);
-      await expect(helper.methods
+      const tokenPrefix = 'A'.repeat(MAX_TOKEN_PREFIX_LENGTH + 1);
+      await expect(collectionHelper.methods
         .createRFTCollection(collectionName, description, tokenPrefix)
-        .call()).to.be.rejectedWith('token_prefix is too long. Max length is ' + MAX_TOKEN_PREFIX_LENGHT);
+        .call({value: Number(2n * UNIQUE)})).to.be.rejectedWith('token_prefix is too long. Max length is ' + MAX_TOKEN_PREFIX_LENGTH);
     }
   });
   
-  itWeb3('(!negative test!) Create collection (no funds)', async ({web3}) => {
-    const owner = createEthAccount(web3);
-    const helper = evmCollectionHelpers(web3, owner);
-    const collectionName = 'A';
-    const description = 'A';
-    const tokenPrefix = 'A';
-    
-    await expect(helper.methods
-      .createRFTCollection(collectionName, description, tokenPrefix)
-      .call()).to.be.rejectedWith('NotSufficientFounds');
+  itEth('(!negative test!) Create collection (no funds)', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
+    await expect(collectionHelper.methods
+      .createRFTCollection('Peasantry', 'absolutely anything', 'TWIW')
+      .call({value: Number(1n * UNIQUE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
   });
 
-  itWeb3('(!negative test!) Check owner', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const notOwner = createEthAccount(web3);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createRFTCollection('A', 'A', 'A').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    const contractEvmFromNotOwner = evmCollection(web3, notOwner, collectionIdAddress, {type: 'ReFungible'});
+  itEth('(!negative test!) Check owner', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const peasant = helper.eth.createAccount();
+    const {collectionAddress} = await helper.eth.createRefungibleCollection(owner, 'Transgressed', 'absolutely anything', 'YVNE');
+    const peasantCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', peasant);
     const EXPECTED_ERROR = 'NoPermission';
     {
-      const sponsor = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-      await expect(contractEvmFromNotOwner.methods
+      const sponsor = await helper.eth.createAccountWithBalance(donor);
+      await expect(peasantCollection.methods
         .setCollectionSponsor(sponsor)
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
       
-      const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+      const sponsorCollection = helper.ethNativeContract.collection(collectionAddress, 'rft', sponsor);
       await expect(sponsorCollection.methods
         .confirmCollectionSponsorship()
         .call()).to.be.rejectedWith('caller is not set as sponsor');
     }
     {
-      await expect(contractEvmFromNotOwner.methods
+      await expect(peasantCollection.methods
         .setCollectionLimit('account_token_ownership_limit', '1000')
         .call()).to.be.rejectedWith(EXPECTED_ERROR);
     }
   });
 
-  itWeb3('(!negative test!) Set limits', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const collectionHelpers = evmCollectionHelpers(web3, owner);
-    const result = await collectionHelpers.methods.createRFTCollection('Schema collection', 'A', 'A').send();
-    const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
-    const collectionEvm = evmCollection(web3, owner, collectionIdAddress, {type: 'ReFungible'});
+  itEth('(!negative test!) Set limits', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+    const {collectionAddress} = await helper.eth.createRefungibleCollection(owner, 'Limits', 'absolutely anything', 'ISNI');
+    const collectionEvm = helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
     await expect(collectionEvm.methods
       .setCollectionLimit('badLimit', 'true')
       .call()).to.be.rejectedWith('unknown boolean limit "badLimit"');
modifiedtests/src/eth/crossTransfer.test.tsdiffbeforeafterboth
--- a/tests/src/eth/crossTransfer.test.ts
+++ b/tests/src/eth/crossTransfer.test.ts
@@ -14,90 +14,91 @@
 // 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 {createCollectionExpectSuccess,
-  createFungibleItemExpectSuccess,
-  transferExpectSuccess,
-  transferFromExpectSuccess,
-  setCollectionLimitsExpectSuccess,
-  createItemExpectSuccess} from '../util/helpers';
-import {collectionIdToAddress,
-  createEthAccountWithBalance,
-  subToEth,
-  GAS_ARGS, itWeb3} from './util/helpers';
-import fungibleAbi from './fungibleAbi.json';
-import nonFungibleAbi from './nonFungibleAbi.json';
+import {itEth, usingEthPlaygrounds} from './util/playgrounds';
+import {CrossAccountId} from '../util/playgrounds/unique';
+import {IKeyringPair} from '@polkadot/types/types';
 
 describe('Token transfer between substrate address and EVM address. Fungible', () => {
-  itWeb3('The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate', async ({privateKeyWrapper}) => {
-    const collection = await createCollectionExpectSuccess({
-      name: 'token name',
-      mode: {type: 'Fungible', decimalPoints: 0},
+  let donor: IKeyringPair;
+  let alice: IKeyringPair;
+  let bob: IKeyringPair;
+  let charlie: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (helper, privateKey) => {
+      donor = privateKey('//Alice');
+      [alice, bob, charlie] = await helper.arrange.createAccounts([10n, 10n, 10n], donor);
     });
-    const alice = privateKeyWrapper('//Alice');
-    const bob = privateKeyWrapper('//Bob');
-    const charlie = privateKeyWrapper('//Charlie');
-    await setCollectionLimitsExpectSuccess(alice, collection, {ownerCanTransfer: true});
-    await createFungibleItemExpectSuccess(alice, collection, {Value: 200n}, {Substrate: alice.address});
-    await transferExpectSuccess(collection, 0, alice, {Ethereum: subToEth(charlie.address)} , 200, 'Fungible');
-    await transferFromExpectSuccess(collection, 0, alice, {Ethereum: subToEth(charlie.address)}, charlie, 50, 'Fungible');
-    await transferExpectSuccess(collection, 0, charlie, bob, 50, 'Fungible');
   });
+  
+  itEth('The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate', async ({helper}) => {  
+    const bobCA = CrossAccountId.fromKeyring(bob);
+    const charlieCA = CrossAccountId.fromKeyring(charlie);
+
+    const collection = await helper.ft.mintCollection(alice);
+    await collection.setLimits(alice, {ownerCanTransfer: true});
+
+    await collection.mint(alice, 200n);
+    await collection.transfer(alice, charlieCA.toEthereum(), 200n);
+    await collection.transferFrom(alice, charlieCA.toEthereum(), charlieCA, 50n);
+    await collection.transfer(charlie, bobCA, 50n);
+  });
 
-  itWeb3('The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM', async ({api, web3, privateKeyWrapper}) => {
-    const collection = await createCollectionExpectSuccess({
-      name: 'token name',
-      mode: {type: 'Fungible', decimalPoints: 0},
-    });
-    const alice = privateKeyWrapper('//Alice');
-    const bob = privateKeyWrapper('//Bob');
-    await setCollectionLimitsExpectSuccess(alice, collection, {ownerCanTransfer: true});
-    const bobProxy = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const aliceProxy = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
+  itEth('The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM', async ({helper}) => {
+    const aliceProxy = await helper.eth.createAccountWithBalance(donor);
+    const bobProxy = await helper.eth.createAccountWithBalance(donor);
 
-    await createFungibleItemExpectSuccess(alice, collection, {Value: 200n}, alice.address);
-    await transferExpectSuccess(collection, 0, alice, {Ethereum: aliceProxy} , 200, 'Fungible');
-    const address = collectionIdToAddress(collection);
-    const contract = new web3.eth.Contract(fungibleAbi as any, address, {from: aliceProxy, ...GAS_ARGS});
+    const collection = await helper.ft.mintCollection(alice);
+    await collection.setLimits(alice, {ownerCanTransfer: true});
 
+    const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+    const contract = helper.ethNativeContract.collection(address, 'ft', aliceProxy);
+
+    await collection.mint(alice, 200n, {Ethereum: aliceProxy});
     await contract.methods.transfer(bobProxy, 50).send({from: aliceProxy});
-    await transferFromExpectSuccess(collection, 0, alice, {Ethereum: bobProxy}, bob, 50, 'Fungible');
-    await transferExpectSuccess(collection, 0, bob, alice, 50, 'Fungible');
+    await collection.transferFrom(alice, {Ethereum: bobProxy}, CrossAccountId.fromKeyring(bob), 50n);
+    await collection.transfer(bob, CrossAccountId.fromKeyring(alice), 50n);
   });
 });
 
 describe('Token transfer between substrate address and EVM address. NFT', () => {
-  itWeb3('The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate', async ({privateKeyWrapper}) => {
-    const collection = await createCollectionExpectSuccess({
-      name: 'token name',
-      mode: {type: 'NFT'},
+  let donor: IKeyringPair;
+  let alice: IKeyringPair;
+  let bob: IKeyringPair;
+  let charlie: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (helper, privateKey) => {
+      donor = privateKey('//Alice');
+      [alice, bob, charlie] = await helper.arrange.createAccounts([10n, 10n, 10n], donor);
     });
-    const alice = privateKeyWrapper('//Alice');
-    const bob = privateKeyWrapper('//Bob');
-    const charlie = privateKeyWrapper('//Charlie');
-    await setCollectionLimitsExpectSuccess(alice, collection, {ownerCanTransfer: true});
-    const tokenId = await createItemExpectSuccess(alice, collection, 'NFT', {Substrate: alice.address});
-    await transferExpectSuccess(collection, tokenId, alice, {Ethereum: subToEth(charlie.address)}, 1, 'NFT');
-    await transferFromExpectSuccess(collection, tokenId, alice, {Ethereum: subToEth(charlie.address)}, charlie, 1, 'NFT');
-    await transferExpectSuccess(collection, tokenId, charlie, bob, 1, 'NFT');
   });
+  
+  itEth('The private key X create a substrate address. Alice sends a token to the corresponding EVM address, and X can send it to Bob in the substrate', async ({helper}) => {
+    const charlieEth = CrossAccountId.fromKeyring(charlie, 'Ethereum');
+    
+    const collection = await helper.nft.mintCollection(alice);
+    await collection.setLimits(alice, {ownerCanTransfer: true});
+    const token = await collection.mintToken(alice);
+    await token.transfer(alice, charlieEth);
+    await token.transferFrom(alice, charlieEth, CrossAccountId.fromKeyring(charlie));
+    await token.transfer(charlie, CrossAccountId.fromKeyring(bob));
+  });
+
+  itEth('The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM', async ({helper}) => {
+    const aliceProxy = await helper.eth.createAccountWithBalance(donor);
+    const bobProxy = await helper.eth.createAccountWithBalance(donor);
 
-  itWeb3('The private key X create a EVM address. Alice sends a token to the substrate address corresponding to this EVM address, and X can send it to Bob in the EVM', async ({api, web3, privateKeyWrapper}) => {
-    const collection = await createCollectionExpectSuccess({
-      name: 'token name',
-      mode: {type: 'NFT'},
-    });
-    const alice = privateKeyWrapper('//Alice');
-    const bob = privateKeyWrapper('//Bob');
-    const charlie = privateKeyWrapper('//Charlie');
-    await setCollectionLimitsExpectSuccess(alice, collection, {ownerCanTransfer: true});
-    const bobProxy = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const aliceProxy = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const tokenId = await createItemExpectSuccess(alice, collection, 'NFT', {Substrate: alice.address});
-    await transferExpectSuccess(collection, tokenId, alice, {Ethereum: aliceProxy} , 1, 'NFT');
-    const address = collectionIdToAddress(collection);
-    const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: aliceProxy, ...GAS_ARGS});
+    const collection = await helper.nft.mintCollection(alice);
+    await collection.setLimits(alice, {ownerCanTransfer: true});
+
+    const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+    const contract = helper.ethNativeContract.collection(address, 'nft', aliceProxy);
+
+    const token = await collection.mintToken(alice);
+    await token.transfer(alice, {Ethereum: aliceProxy});
     await contract.methods.transfer(bobProxy, 1).send({from: aliceProxy});
-    await transferFromExpectSuccess(collection, tokenId, alice, {Ethereum: bobProxy}, bob, 1, 'NFT');
-    await transferExpectSuccess(collection, tokenId, bob, charlie, 1, 'NFT');
+    await token.transferFrom(alice, {Ethereum: bobProxy}, {Substrate: bob.address});
+    await token.transfer(bob, {Substrate: charlie.address});
   });
 });
modifiedtests/src/eth/fractionalizer/Fractionalizer.soldiffbeforeafterboth
--- a/tests/src/eth/fractionalizer/Fractionalizer.sol
+++ b/tests/src/eth/fractionalizer/Fractionalizer.sol
@@ -18,7 +18,8 @@
 	mapping(address => bool) nftCollectionAllowList;
 	mapping(address => mapping(uint256 => uint256)) public nft2rftMapping;
 	mapping(address => Token) public rft2nftMapping;
-	bytes32 refungibleCollectionType = keccak256(bytes("ReFungible"));
+	//use constant to reduce gas cost
+	bytes32 constant refungibleCollectionType = keccak256(bytes("ReFungible"));
 
 	receive() external payable onlyOwner {}
 
@@ -51,11 +52,12 @@
 	///  Throws if `msg.sender` is not owner or admin of provided RFT collection.
 	///  Can only be called by contract owner.
 	/// @param _collection address of RFT collection.
-	function setRFTCollection(address _collection) public onlyOwner {
+	function setRFTCollection(address _collection) external onlyOwner {
 		require(rftCollection == address(0), "RFT collection is already set");
 		UniqueRefungible refungibleContract = UniqueRefungible(_collection);
 		string memory collectionType = refungibleContract.uniqueCollectionType();
 
+		// compare hashed to reduce gas cost
 		require(
 			keccak256(bytes(collectionType)) == refungibleCollectionType,
 			"Wrong collection type. Collection is not refungible."
@@ -79,10 +81,10 @@
 		string calldata _name,
 		string calldata _description,
 		string calldata _tokenPrefix
-	) public onlyOwner {
+	) external payable onlyOwner {
 		require(rftCollection == address(0), "RFT collection is already set");
 		address collectionHelpers = 0x6C4E9fE1AE37a41E93CEE429e8E1881aBdcbb54F;
-		rftCollection = CollectionHelpers(collectionHelpers).createRFTCollection(_name, _description, _tokenPrefix);
+		rftCollection = CollectionHelpers(collectionHelpers).createRFTCollection{value: msg.value}(_name, _description, _tokenPrefix);
 		emit RFTCollectionSet(rftCollection);
 	}
 
@@ -90,7 +92,7 @@
 	/// @dev Can only be called by contract owner.
 	/// @param collection NFT token address.
 	/// @param status `true` to allow and `false` to disallow NFT token.
-	function setNftCollectionIsAllowed(address collection, bool status) public onlyOwner {
+	function setNftCollectionIsAllowed(address collection, bool status) external onlyOwner {
 		nftCollectionAllowList[collection] = status;
 		emit AllowListSet(collection, status);
 	}
@@ -109,7 +111,7 @@
 		address _collection,
 		uint256 _token,
 		uint128 _pieces
-	) public {
+	) external {
 		require(rftCollection != address(0), "RFT collection is not set");
 		UniqueRefungible rftCollectionContract = UniqueRefungible(rftCollection);
 		require(
@@ -148,7 +150,7 @@
 	///  Throws if `msg.sender` isn't owner of all RFT token pieces.
 	/// @param _collection RFT collection address
 	/// @param _token id of RFT token
-	function rft2nft(address _collection, uint256 _token) public {
+	function rft2nft(address _collection, uint256 _token) external {
 		require(rftCollection != address(0), "RFT collection is not set");
 		require(rftCollection == _collection, "Wrong RFT collection");
 		UniqueRefungible rftCollectionContract = UniqueRefungible(rftCollection);
modifiedtests/src/eth/fractionalizer/fractionalizer.test.tsdiffbeforeafterboth
--- a/tests/src/eth/fractionalizer/fractionalizer.test.ts
+++ b/tests/src/eth/fractionalizer/fractionalizer.test.ts
@@ -93,7 +93,7 @@
   const fractionalizer = await deployFractionalizer(web3, owner);
   const amount = 10n * UNIQUE;
   await web3.eth.sendTransaction({from: owner, to: fractionalizer.options.address, value: `${amount}`, ...GAS_ARGS});
-  const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send();
+  const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send({value: Number(2n * UNIQUE)});
   const rftCollectionAddress = result.events.RFTCollectionSet.returnValues._collection;
   return {fractionalizer, rftCollectionAddress};
 }
@@ -141,9 +141,9 @@
     const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
     const fractionalizer = await deployFractionalizer(web3, owner);
     const tx = api.tx.balances.transfer(evmToAddress(fractionalizer.options.address), 10n * UNIQUE);
-    await submitTransactionAsync(alice, tx);
+    await executeTransaction(api, alice, tx);
 
-    const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send({from: owner});
+    const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send({from: owner, value: Number(2n * UNIQUE)});
     expect(result.events).to.be.like({
       RFTCollectionSet: {},
     });
@@ -295,7 +295,7 @@
     const tx = api.tx.balances.transfer(evmToAddress(fractionalizer.options.address), 10n * UNIQUE);
     await submitTransactionAsync(alice, tx);
 
-    const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send({from: owner});
+    const result = await fractionalizer.methods.createAndSetRFTCollection('A', 'B', 'C').send({from: owner, value: Number(2n * UNIQUE)});
     const collectionIdAddress = result.events.RFTCollectionSet.returnValues._collection;
 
     await expect(fractionalizer.methods.setRFTCollection(collectionIdAddress).call())
modifiedtests/src/eth/helpersSmoke.test.tsdiffbeforeafterboth
--- a/tests/src/eth/helpersSmoke.test.ts
+++ b/tests/src/eth/helpersSmoke.test.ts
@@ -14,21 +14,30 @@
 // 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 {expect} from 'chai';
-import {createEthAccountWithBalance, deployFlipper, itWeb3, contractHelpers} from './util/helpers';
+import {expect, itEth, usingEthPlaygrounds} from './util/playgrounds';
+import {IKeyringPair} from '@polkadot/types/types';
 
 describe('Helpers sanity check', () => {
-  itWeb3('Contract owner is recorded', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
+  let donor: IKeyringPair;
 
-    const flipper = await deployFlipper(web3, owner);
+  before(async function() {
+    await usingEthPlaygrounds(async (_helper, privateKey) => {
+      donor = privateKey('//Alice');
+    });
+  });
+  
+  itEth('Contract owner is recorded', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
 
-    expect(await contractHelpers(web3, owner).methods.contractOwner(flipper.options.address).call()).to.be.equal(owner);
+    const flipper = await helper.eth.deployFlipper(owner);
+
+    expect(await helper.ethNativeContract.contractHelpers(owner).methods.contractOwner(flipper.options.address).call()).to.be.equal(owner);
   });
 
-  itWeb3('Flipper is working', async ({api, web3, privateKeyWrapper}) => {
-    const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const flipper = await deployFlipper(web3, owner);
+  itEth('Flipper is working', async ({helper}) => {
+    const owner = await helper.eth.createAccountWithBalance(donor);
+
+    const flipper = await helper.eth.deployFlipper(owner);
 
     expect(await flipper.methods.getValue().call()).to.be.false;
     await flipper.methods.flip().send({from: owner});
modifiedtests/src/eth/migration.test.tsdiffbeforeafterboth
--- a/tests/src/eth/migration.test.ts
+++ b/tests/src/eth/migration.test.ts
@@ -14,12 +14,20 @@
 // 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 {expect} from 'chai';
-import {submitTransactionAsync} from '../substrate/substrate-api';
-import {createEthAccountWithBalance, GAS_ARGS, itWeb3} from './util/helpers';
+import {expect, itEth, usingEthPlaygrounds} from './util/playgrounds';
+import {IKeyringPair} from '@polkadot/types/types';
 
 describe('EVM Migrations', () => {
-  itWeb3('Deploy contract saved state', async ({web3, api, privateKeyWrapper}) => {
+  let superuser: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (_helper, privateKey) => {
+      superuser = privateKey('//Alice');
+    });
+  });
+  
+  // todo:playgrounds requires sudo, look into later
+  itEth('Deploy contract saved state', async ({helper}) => {
     /*
       contract StatefulContract {
         uint counter;
@@ -53,13 +61,16 @@
       ['0xedc95719e9a3b28dd8e80877cb5880a9be7de1a13fc8b05e7999683b6b567643', '0x0000000000000000000000000000000000000000000000000000000000000004'],
     ];
 
-    const alice = privateKeyWrapper('//Alice');
-    const caller = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
+    const caller = await helper.eth.createAccountWithBalance(superuser);
 
-    await submitTransactionAsync(alice, api.tx.sudo.sudo(api.tx.evmMigration.begin(ADDRESS) as any));
-    await submitTransactionAsync(alice, api.tx.sudo.sudo(api.tx.evmMigration.setData(ADDRESS, DATA as any) as any));
-    await submitTransactionAsync(alice, api.tx.sudo.sudo(api.tx.evmMigration.finish(ADDRESS, CODE) as any));
+    const txBegin = helper.constructApiCall('api.tx.evmMigration.begin', [ADDRESS]);
+    const txSetData = helper.constructApiCall('api.tx.evmMigration.setData', [ADDRESS, DATA]);
+    const txFinish = helper.constructApiCall('api.tx.evmMigration.finish', [ADDRESS, CODE]);
+    await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txBegin])).to.be.fulfilled;
+    await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txSetData])).to.be.fulfilled;
+    await expect(helper.executeExtrinsic(superuser, 'api.tx.sudo.sudo', [txFinish])).to.be.fulfilled;
 
+    const web3 = helper.getWeb3();
     const contract = new web3.eth.Contract([
       {
         inputs: [],
@@ -87,7 +98,7 @@
         stateMutability: 'view',
         type: 'function',
       },
-    ], ADDRESS, {from: caller, ...GAS_ARGS});
+    ], ADDRESS, {from: caller, gas: helper.eth.DEFAULT_GAS});
 
     expect(await contract.methods.counterValue().call()).to.be.equal('10');
     for (let i = 1; i <= 4; i++) {
modifiedtests/src/eth/nonFungible.test.tsdiffbeforeafterboth
--- a/tests/src/eth/nonFungible.test.ts
+++ b/tests/src/eth/nonFungible.test.ts
@@ -17,6 +17,7 @@
 import {itEth, usingEthPlaygrounds, expect, EthUniqueHelper} from './util/playgrounds';
 import {IKeyringPair} from '@polkadot/types/types';
 import {Contract} from 'web3-eth-contract';
+import {UNIQUE} from '../util/helpers';
 
 describe('NFT: Information getting', () => {
   let donor: IKeyringPair;
@@ -83,7 +84,7 @@
     const receiver = helper.eth.createAccount();
 
     const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
-    let result = await collectionHelper.methods.createERC721MetadataCompatibleCollection('Mint collection', 'a', 'b', tokenPrefix).send();
+    let result = await collectionHelper.methods.createERC721MetadataCompatibleCollection('Mint collection', 'a', 'b', tokenPrefix).send({value: Number(2n * UNIQUE)});
     const collectionAddress = helper.ethAddress.normalizeAddress(result.events.CollectionCreated.returnValues.collectionId);
     const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
     
@@ -171,70 +172,38 @@
   });
 
   //TODO: CORE-302 add eth methods
-  /* todo:playgrounds skipped test!
-  itWeb3.skip('Can perform mintBulk()', async ({helper}) => {
-    const collection = await createCollectionExpectSuccess({
-      mode: {type: 'NFT'},
-    });
-    const alice = privateKeyWrapper('//Alice');
+  itEth.skip('Can perform mintBulk()', async ({helper}) => {
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const receiver = helper.eth.createAccount();
 
-    const caller = await createEthAccountWithBalance(api, web3, privateKeyWrapper);
-    const changeAdminTx = api.tx.unique.addCollectionAdmin(collection, {Ethereum: caller});
-    await submitTransactionAsync(alice, changeAdminTx);
-    const receiver = createEthAccount(web3);
+    const collection = await helper.nft.mintCollection(alice);
+    await collection.addAdmin(alice, {Ethereum: caller});
 
-    const address = collectionIdToAddress(collection);
-    const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: caller, ...GAS_ARGS});
-
+    const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
+    const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', caller);
     {
+      const bulkSize = 3;
       const nextTokenId = await contract.methods.nextTokenId().call();
       expect(nextTokenId).to.be.equal('1');
       const result = await contract.methods.mintBulkWithTokenURI(
         receiver,
-        [
-          [nextTokenId, 'Test URI 0'],
-          [+nextTokenId + 1, 'Test URI 1'],
-          [+nextTokenId + 2, 'Test URI 2'],
-        ],
+        Array.from({length: bulkSize}, (_, i) => (
+          [+nextTokenId + i, `Test URI ${i}`]
+        )),
       ).send({from: caller});
-      const events = normalizeEvents(result.events);
 
-      expect(events).to.be.deep.equal([
-        {
-          address,
-          event: 'Transfer',
-          args: {
-            from: '0x0000000000000000000000000000000000000000',
-            to: receiver,
-            tokenId: nextTokenId,
-          },
-        },
-        {
-          address,
-          event: 'Transfer',
-          args: {
-            from: '0x0000000000000000000000000000000000000000',
-            to: receiver,
-            tokenId: String(+nextTokenId + 1),
-          },
-        },
-        {
-          address,
-          event: 'Transfer',
-          args: {
-            from: '0x0000000000000000000000000000000000000000',
-            to: receiver,
-            tokenId: String(+nextTokenId + 2),
-          },
-        },
-      ]);
+      const events = result.events.Transfer.sort((a: any, b: any) => +a.returnValues.tokenId - b.returnValues.tokenId);
+      for (let i = 0; i < bulkSize; i++) {
+        const event = events[i];
+        expect(event.address).to.equal(collectionAddress);
+        expect(event.returnValues.from).to.equal('0x0000000000000000000000000000000000000000');
+        expect(event.returnValues.to).to.equal(receiver);
+        expect(event.returnValues.tokenId).to.equal(`${+nextTokenId + i}`);
 
-      expect(await contract.methods.tokenURI(nextTokenId).call()).to.be.equal('Test URI 0');
-      expect(await contract.methods.tokenURI(+nextTokenId + 1).call()).to.be.equal('Test URI 1');
-      expect(await contract.methods.tokenURI(+nextTokenId + 2).call()).to.be.equal('Test URI 2');
+        expect(await contract.methods.tokenURI(+nextTokenId + i).call()).to.be.equal(`Test URI ${i}`);
+      }
     }
   });
-  */
 
   itEth('Can perform burn()', async ({helper}) => {
     const caller = await helper.eth.createAccountWithBalance(donor);
modifiedtests/src/eth/payable.test.tsdiffbeforeafterboth
--- a/tests/src/eth/payable.test.ts
+++ b/tests/src/eth/payable.test.ts
@@ -16,7 +16,7 @@
 
 import {IKeyringPair} from '@polkadot/types/types';
 
-import {itEth, expect, usingEthPlaygrounds} from './util/playgrounds';
+import {itEth, expect, usingEthPlaygrounds, EthUniqueHelper} from './util/playgrounds';
 
 describe('EVM payable contracts', () => {
   let donor: IKeyringPair;
@@ -104,3 +104,167 @@
     }
   });
 });
+
+describe('EVM transaction fees', () => {
+  let donor: IKeyringPair;
+
+  before(async function() {
+    await usingEthPlaygrounds(async (_, privateKey) => {
+      donor = privateKey('//Alice');
+    });
+  });
+
+  itEth('Fee is withdrawn from the user', async({helper}) => {
+    const deployer = await helper.eth.createAccountWithBalance(donor);
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const contract = await helper.eth.deployFlipper(deployer);
+    
+    const initialCallerBalance = await helper.balance.getEthereum(caller);
+    await contract.methods.flip().send({from: caller});
+    const finalCallerBalance = await helper.balance.getEthereum(caller);
+    expect(finalCallerBalance < initialCallerBalance).to.be.true;
+  });
+
+  itEth('Fee for nested calls is withdrawn from the user', async({helper}) => {
+    const deployer = await helper.eth.createAccountWithBalance(donor);
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const contract = await deployProxyContract(helper, deployer);
+    
+    const initialCallerBalance = await helper.balance.getEthereum(caller);
+    const initialContractBalance = await helper.balance.getEthereum(contract.options.address);
+    await contract.methods.flip().send({from: caller});
+    const finalCallerBalance = await helper.balance.getEthereum(caller);
+    const finalContractBalance = await helper.balance.getEthereum(contract.options.address);
+    expect(finalCallerBalance < initialCallerBalance).to.be.true;
+    expect(finalContractBalance == initialContractBalance).to.be.true;
+  });
+  
+  itEth('Fee for nested calls to native methods is withdrawn from the user', async({helper}) => {
+    const CONTRACT_BALANCE = 2n * helper.balance.getOneTokenNominal();
+
+    const deployer = await helper.eth.createAccountWithBalance(donor);
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const contract = await deployProxyContract(helper, deployer);
+
+    const collectionAddress = (await contract.methods.createNonfungibleCollection().send({from: caller, value: Number(CONTRACT_BALANCE)})).events.CollectionCreated.returnValues.collection;
+    const initialCallerBalance = await helper.balance.getEthereum(caller);
+    const initialContractBalance = await helper.balance.getEthereum(contract.options.address);
+    await contract.methods.mintNftToken(collectionAddress).send({from: caller});
+    const finalCallerBalance = await helper.balance.getEthereum(caller);
+    const finalContractBalance = await helper.balance.getEthereum(contract.options.address);
+    expect(finalCallerBalance < initialCallerBalance).to.be.true;
+    expect(finalContractBalance == initialContractBalance).to.be.true;
+  });
+  
+  itEth('Fee for nested calls to create*Collection methods is withdrawn from the user and from the contract', async({helper}) => {
+    const CONTRACT_BALANCE = 2n * helper.balance.getOneTokenNominal();
+    const deployer = await helper.eth.createAccountWithBalance(donor);
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const contract = await deployProxyContract(helper, deployer);
+
+    const initialCallerBalance = await helper.balance.getEthereum(caller);
+    const initialContractBalance = await helper.balance.getEthereum(contract.options.address);
+    await contract.methods.createNonfungibleCollection().send({from: caller, value: Number(CONTRACT_BALANCE)});
+    const finalCallerBalance = await helper.balance.getEthereum(caller);
+    const finalContractBalance = await helper.balance.getEthereum(contract.options.address);
+    expect(finalCallerBalance < initialCallerBalance).to.be.true;
+    expect(finalContractBalance == initialContractBalance).to.be.true;
+  });
+
+  itEth('Negative test: call createNFTCollection with wrong fee', async({helper}) => {
+    const SMALL_FEE = 1n * helper.balance.getOneTokenNominal();
+    const BIG_FEE = 3n * helper.balance.getOneTokenNominal();
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(caller);
+        
+    await expect(collectionHelper.methods.createNonfungibleCollection('A', 'B', 'C').call({value: Number(SMALL_FEE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
+    await expect(collectionHelper.methods.createNonfungibleCollection('A', 'B', 'C').call({value: Number(BIG_FEE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
+  });
+
+  itEth('Negative test: call createRFTCollection with wrong fee', async({helper}) => {
+    const SMALL_FEE = 1n * helper.balance.getOneTokenNominal();
+    const BIG_FEE = 3n * helper.balance.getOneTokenNominal();
+    const caller = await helper.eth.createAccountWithBalance(donor);
+    const collectionHelper = helper.ethNativeContract.collectionHelpers(caller);
+        
+    await expect(collectionHelper.methods.createRFTCollection('A', 'B', 'C').call({value: Number(SMALL_FEE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
+    await expect(collectionHelper.methods.createRFTCollection('A', 'B', 'C').call({value: Number(BIG_FEE)})).to.be.rejectedWith('Sent amount not equals to collection creation price (2000000000000000000)');
+  });
+
+  itEth('Get collection creation fee', async({helper}) => {
+    const deployer = await helper.eth.createAccountWithBalance(donor);
+    expect(await helper.eth.getCollectionCreationFee(deployer)).to.be.equal(String(2n * helper.balance.getOneTokenNominal()));
+  });
+
+  async function deployProxyContract(helper: EthUniqueHelper, deployer: string) {
+    return await helper.ethContract.deployByCode(
+      deployer,
+      'ProxyContract',
+      `
+      // SPDX-License-Identifier: UNLICENSED
+      pragma solidity ^0.8.6;
+
+      import {CollectionHelpers} from "../api/CollectionHelpers.sol";
+      import {UniqueNFT} from "../api/UniqueNFT.sol";
+
+      error Value(uint256 value);
+
+      contract ProxyContract {
+        bool value = false;
+        address innerContract;
+
+        event CollectionCreated(address collection);
+        event TokenMinted(uint256 tokenId);
+
+        receive() external payable {}
+
+        constructor() {
+          innerContract = address(new InnerContract());
+        }
+
+        function flip() public {
+          value = !value;
+          InnerContract(innerContract).flip();
+        }
+
+        function createNonfungibleCollection() external payable {
+          address collectionHelpers = 0x6C4E9fE1AE37a41E93CEE429e8E1881aBdcbb54F;
+		      address nftCollection = CollectionHelpers(collectionHelpers).createNonfungibleCollection{value: msg.value}("A", "B", "C");
+          emit CollectionCreated(nftCollection);
+        }
+
+        function mintNftToken(address collectionAddress) external  {
+          UniqueNFT collection = UniqueNFT(collectionAddress);
+          uint256 tokenId = collection.nextTokenId();
+          collection.mint(msg.sender, tokenId);
+          emit TokenMinted(tokenId);
+        }
+
+        function getValue() external view returns (bool) {
+          return InnerContract(innerContract).getValue();
+        }
+      }
+
+      contract InnerContract {
+        bool value = false;
+        function flip() external {
+          value = !value;
+        }
+        function getValue() external view returns (bool) {
+          return value;
+        }
+      }
+      `,
+      [
+        {
+          solPath: 'api/CollectionHelpers.sol',
+          fsPath: `${__dirname}/api/CollectionHelpers.sol`,
+        },
+        {
+          solPath: 'api/UniqueNFT.sol',
+          fsPath: `${__dirname}/api/UniqueNFT.sol`,
+        },
+      ],
+    );
+  }
+});
modifiedtests/src/eth/reFungibleToken.test.tsdiffbeforeafterboth
--- a/tests/src/eth/reFungibleToken.test.ts
+++ b/tests/src/eth/reFungibleToken.test.ts
@@ -18,6 +18,7 @@
 import {EthUniqueHelper, expect, itEth, usingEthPlaygrounds} from './util/playgrounds';
 import {IKeyringPair} from '@polkadot/types/types';
 import {Contract} from 'web3-eth-contract';
+import {UNIQUE} from '../util/helpers';
 
 describe('Refungible token: Information getting', () => {
   let donor: IKeyringPair;
@@ -80,7 +81,7 @@
     const receiver = helper.eth.createAccount();
 
     const collectionHelper = helper.ethNativeContract.collectionHelpers(owner);
-    let result = await collectionHelper.methods.createERC721MetadataCompatibleCollection('Mint collection', 'a', 'b', tokenPrefix).send();
+    let result = await collectionHelper.methods.createERC721MetadataCompatibleCollection('Mint collection', 'a', 'b', tokenPrefix).send({value: Number(2n * UNIQUE)});
     const collectionAddress = helper.ethAddress.normalizeAddress(result.events.CollectionCreated.returnValues.collectionId);
     const contract = helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
     
modifiedtests/src/eth/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -145,7 +145,7 @@
   const collectionHelper = evmCollectionHelpers(web3, owner);
   const result = await collectionHelper.methods
     .createRFTCollection('A', 'B', 'C')
-    .send();
+    .send({value: Number(2n * UNIQUE)});
   return await getCollectionAddressFromResult(api, result);
 }
 
@@ -154,7 +154,7 @@
   const collectionHelper = evmCollectionHelpers(web3, owner);
   const result = await collectionHelper.methods
     .createNonfungibleCollection('A', 'B', 'C')
-    .send();
+    .send({value: Number(2n * UNIQUE)});
   return await getCollectionAddressFromResult(api, result);
 }
 
modifiedtests/src/eth/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/eth/util/playgrounds/unique.dev.ts
+++ b/tests/src/eth/util/playgrounds/unique.dev.ts
@@ -131,7 +131,7 @@
   }
 }
 
-  
+
 class EthGroup extends EthGroupBase {
   DEFAULT_GAS = 2_500_000;
 
@@ -152,6 +152,11 @@
   async transferBalanceFromSubstrate(donor: IKeyringPair, recepient: string, amount=1000n, inTokens=true) {
     return await this.helper.balance.transferToSubstrate(donor, evmToAddress(recepient), amount * (inTokens ? this.helper.balance.getOneTokenNominal() : 1n));
   }
+  
+  async getCollectionCreationFee(signer: string) {
+    const collectionHelper = this.helper.ethNativeContract.collectionHelpers(signer);
+    return await collectionHelper.methods.collectionCreationFee().call();
+  }
 
   async sendEVM(signer: IKeyringPair, contractAddress: string, abi: string, value: string, gasLimit?: number) {
     if(!gasLimit) gasLimit = this.DEFAULT_GAS;
@@ -164,15 +169,16 @@
       true,
     );
   }
-  
+
   async callEVM(signer: TEthereumAccount, contractAddress: string, abi: string) {
     return await this.helper.callRpc('api.rpc.eth.call', [{from: signer, to: contractAddress, data: abi}]);
   }
 
   async createNonfungibleCollection(signer: string, name: string, description: string, tokenPrefix: string): Promise<{collectionId: number, collectionAddress: string}> {
+    const collectionCreationPrice = this.helper.balance.getCollectionCreationPrice();
     const collectionHelper = this.helper.ethNativeContract.collectionHelpers(signer);
         
-    const result = await collectionHelper.methods.createNonfungibleCollection(name, description, tokenPrefix).send();
+    const result = await collectionHelper.methods.createNonfungibleCollection(name, description, tokenPrefix).send({value: Number(collectionCreationPrice)});
 
     const collectionAddress = this.helper.ethAddress.normalizeAddress(result.events.CollectionCreated.returnValues.collectionId);
     const collectionId = this.helper.ethAddress.extractCollectionId(collectionAddress);
@@ -181,9 +187,10 @@
   }
 
   async createRefungibleCollection(signer: string, name: string, description: string, tokenPrefix: string): Promise<{collectionId: number, collectionAddress: string}> {
+    const collectionCreationPrice = this.helper.balance.getCollectionCreationPrice();
     const collectionHelper = this.helper.ethNativeContract.collectionHelpers(signer);
         
-    const result = await collectionHelper.methods.createRFTCollection(name, description, tokenPrefix).send();
+    const result = await collectionHelper.methods.createRFTCollection(name, description, tokenPrefix).send({value: Number(collectionCreationPrice)});
 
     const collectionAddress = this.helper.ethAddress.normalizeAddress(result.events.CollectionCreated.returnValues.collectionId);
     const collectionId = this.helper.ethAddress.extractCollectionId(collectionAddress);
@@ -246,7 +253,7 @@
     return before - after;
   }
 }  
-  
+
 class EthAddressGroup extends EthGroupBase {
   extractCollectionId(address: string): number {
     if (!(address.length === 42 || address.length === 40)) throw new Error('address wrong format');
addedtests/src/getPropertiesRpc.test.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/getPropertiesRpc.test.ts
@@ -0,0 +1,126 @@
+// 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 {IKeyringPair} from '@polkadot/types/types';
+import {itSub, usingPlaygrounds, expect} from './util/playgrounds';
+import {UniqueHelper, UniqueNFTCollection} from './util/playgrounds/unique';
+
+const collectionProps = [
+  {key: 'col-0', value: 'col-0-value'},
+  {key: 'col-1', value: 'col-1-value'},
+];
+
+const tokenProps = [
+  {key: 'tok-0', value: 'tok-0-value'},
+  {key: 'tok-1', value: 'tok-1-value'},
+];
+
+const tokPropPermission = {
+  mutable: false,
+  tokenOwner: true,
+  collectionAdmin: false,
+};
+
+const tokenPropPermissions = [
+  {
+    key: 'tok-0',
+    permission: tokPropPermission,
+  },
+  {
+    key: 'tok-1',
+    permission: tokPropPermission,
+  },
+];
+
+describe('query properties RPC', () => {
+  let alice: IKeyringPair;
+
+  const mintCollection = async (helper: UniqueHelper) => {
+    return await helper.nft.mintCollection(alice, {
+      tokenPrefix: 'prps',
+      properties: collectionProps,
+      tokenPropertyPermissions: tokenPropPermissions,
+    });
+  };
+
+  const mintToken = async (collection: UniqueNFTCollection) => {
+    return await collection.mintToken(alice, {Substrate: alice.address}, tokenProps);
+  };
+
+
+  before(async () => {
+    await usingPlaygrounds(async (_, privateKey) => {
+      alice = privateKey('//Alice');
+    });
+  });
+
+  itSub('query empty collection key set', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const props = await collection.getProperties([]);
+    expect(props).to.be.empty;
+  });
+
+  itSub('query empty token key set', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const token = await mintToken(collection);
+    const props = await token.getProperties([]);
+    expect(props).to.be.empty;
+  });
+
+  itSub('query empty token key permissions set', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const propPermissions = await collection.getPropertyPermissions([]);
+    expect(propPermissions).to.be.empty;
+  });
+
+  itSub('query all collection props by null arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const props = await collection.getProperties(null);
+    expect(props).to.be.deep.equal(collectionProps);
+  });
+
+  itSub('query all token props by null arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const token = await mintToken(collection);
+    const props = await token.getProperties(null);
+    expect(props).to.be.deep.equal(tokenProps);
+  });
+
+  itSub('query empty token key permissions by null arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const propPermissions = await collection.getPropertyPermissions(null);
+    expect(propPermissions).to.be.deep.equal(tokenPropPermissions);
+  });
+
+  itSub('query all collection props by undefined arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const props = await collection.getProperties();
+    expect(props).to.be.deep.equal(collectionProps);
+  });
+
+  itSub('query all token props by undefined arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const token = await mintToken(collection);
+    const props = await token.getProperties();
+    expect(props).to.be.deep.equal(tokenProps);
+  });
+
+  itSub('query empty token key permissions by undefined arg', async ({helper}) => {
+    const collection = await mintCollection(helper);
+    const propPermissions = await collection.getPropertyPermissions();
+    expect(propPermissions).to.be.deep.equal(tokenPropPermissions);
+  });
+});
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -695,7 +695,7 @@
       /**
        * Get collection properties, optionally limited to the provided keys
        **/
-      collectionProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
+      collectionProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Option<Vec<Text>> | null | Uint8Array | Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
       /**
        * Get chain stats about collections
        **/
@@ -723,7 +723,7 @@
       /**
        * Get property permissions, optionally limited to the provided keys
        **/
-      propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;
+      propertyPermissions: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, propertyKeys?: Option<Vec<Text>> | null | Uint8Array | Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsPropertyKeyPermission>>>;
       /**
        * Get tokens nested directly into the token
        **/
@@ -731,7 +731,7 @@
       /**
        * Get token data, including properties, optionally limited to the provided keys, and total pieces for an RFT
        **/
-      tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;
+      tokenData: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Option<Vec<Text>> | null | Uint8Array | Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<UpDataStructsTokenData>>;
       /**
        * Check if the token exists
        **/
@@ -747,7 +747,7 @@
       /**
        * Get token properties, optionally limited to the provided keys
        **/
-      tokenProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
+      tokenProperties: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, propertyKeys?: Option<Vec<Text>> | null | Uint8Array | Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<UpDataStructsProperty>>>;
       /**
        * Get the topmost token owner in the hierarchy of a possibly nested token
        **/
modifiedtests/src/interfaces/augment-types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
 import type { Data, StorageKey } from '@polkadot/types';
 import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, 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';
@@ -535,6 +535,7 @@
     FrameSystemExtensionsCheckGenesis: FrameSystemExtensionsCheckGenesis;
     FrameSystemExtensionsCheckNonce: FrameSystemExtensionsCheckNonce;
     FrameSystemExtensionsCheckSpecVersion: FrameSystemExtensionsCheckSpecVersion;
+    FrameSystemExtensionsCheckTxVersion: FrameSystemExtensionsCheckTxVersion;
     FrameSystemExtensionsCheckWeight: FrameSystemExtensionsCheckWeight;
     FrameSystemLastRuntimeUpgradeInfo: FrameSystemLastRuntimeUpgradeInfo;
     FrameSystemLimitsBlockLength: FrameSystemLimitsBlockLength;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -691,6 +691,9 @@
 /** @name FrameSystemExtensionsCheckSpecVersion */
 export interface FrameSystemExtensionsCheckSpecVersion extends Null {}
 
+/** @name FrameSystemExtensionsCheckTxVersion */
+export interface FrameSystemExtensionsCheckTxVersion extends Null {}
+
 /** @name FrameSystemExtensionsCheckWeight */
 export interface FrameSystemExtensionsCheckWeight extends Null {}
 
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -3540,27 +3540,31 @@
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup479: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup479: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+   **/
+  FrameSystemExtensionsCheckTxVersion: 'Null',
+  /**
+   * Lookup480: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup482: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup483: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup483: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup484: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup484: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup485: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup485: opal_runtime::Runtime
+   * Lookup486: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup486: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup487: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 declare module '@polkadot/types/types/registry' {
   interface InterfaceTypes {
@@ -71,6 +71,7 @@
     FrameSystemExtensionsCheckGenesis: FrameSystemExtensionsCheckGenesis;
     FrameSystemExtensionsCheckNonce: FrameSystemExtensionsCheckNonce;
     FrameSystemExtensionsCheckSpecVersion: FrameSystemExtensionsCheckSpecVersion;
+    FrameSystemExtensionsCheckTxVersion: FrameSystemExtensionsCheckTxVersion;
     FrameSystemExtensionsCheckWeight: FrameSystemExtensionsCheckWeight;
     FrameSystemLastRuntimeUpgradeInfo: FrameSystemLastRuntimeUpgradeInfo;
     FrameSystemLimitsBlockLength: FrameSystemLimitsBlockLength;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';9import type { ITuple } from '@polkadot/types-codec/types';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';11import type { Event } from '@polkadot/types/interfaces/system';1213declare module '@polkadot/types/lookup' {14  /** @name FrameSystemAccountInfo (3) */15  interface FrameSystemAccountInfo extends Struct {16    readonly nonce: u32;17    readonly consumers: u32;18    readonly providers: u32;19    readonly sufficients: u32;20    readonly data: PalletBalancesAccountData;21  }2223  /** @name PalletBalancesAccountData (5) */24  interface PalletBalancesAccountData extends Struct {25    readonly free: u128;26    readonly reserved: u128;27    readonly miscFrozen: u128;28    readonly feeFrozen: u128;29  }3031  /** @name FrameSupportWeightsPerDispatchClassU64 (7) */32  interface FrameSupportWeightsPerDispatchClassU64 extends Struct {33    readonly normal: u64;34    readonly operational: u64;35    readonly mandatory: u64;36  }3738  /** @name SpRuntimeDigest (11) */39  interface SpRuntimeDigest extends Struct {40    readonly logs: Vec<SpRuntimeDigestDigestItem>;41  }4243  /** @name SpRuntimeDigestDigestItem (13) */44  interface SpRuntimeDigestDigestItem extends Enum {45    readonly isOther: boolean;46    readonly asOther: Bytes;47    readonly isConsensus: boolean;48    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;49    readonly isSeal: boolean;50    readonly asSeal: ITuple<[U8aFixed, Bytes]>;51    readonly isPreRuntime: boolean;52    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;53    readonly isRuntimeEnvironmentUpdated: boolean;54    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';55  }5657  /** @name FrameSystemEventRecord (16) */58  interface FrameSystemEventRecord extends Struct {59    readonly phase: FrameSystemPhase;60    readonly event: Event;61    readonly topics: Vec<H256>;62  }6364  /** @name FrameSystemEvent (18) */65  interface FrameSystemEvent extends Enum {66    readonly isExtrinsicSuccess: boolean;67    readonly asExtrinsicSuccess: {68      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;69    } & Struct;70    readonly isExtrinsicFailed: boolean;71    readonly asExtrinsicFailed: {72      readonly dispatchError: SpRuntimeDispatchError;73      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;74    } & Struct;75    readonly isCodeUpdated: boolean;76    readonly isNewAccount: boolean;77    readonly asNewAccount: {78      readonly account: AccountId32;79    } & Struct;80    readonly isKilledAccount: boolean;81    readonly asKilledAccount: {82      readonly account: AccountId32;83    } & Struct;84    readonly isRemarked: boolean;85    readonly asRemarked: {86      readonly sender: AccountId32;87      readonly hash_: H256;88    } & Struct;89    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';90  }9192  /** @name FrameSupportWeightsDispatchInfo (19) */93  interface FrameSupportWeightsDispatchInfo extends Struct {94    readonly weight: u64;95    readonly class: FrameSupportWeightsDispatchClass;96    readonly paysFee: FrameSupportWeightsPays;97  }9899  /** @name FrameSupportWeightsDispatchClass (20) */100  interface FrameSupportWeightsDispatchClass extends Enum {101    readonly isNormal: boolean;102    readonly isOperational: boolean;103    readonly isMandatory: boolean;104    readonly type: 'Normal' | 'Operational' | 'Mandatory';105  }106107  /** @name FrameSupportWeightsPays (21) */108  interface FrameSupportWeightsPays extends Enum {109    readonly isYes: boolean;110    readonly isNo: boolean;111    readonly type: 'Yes' | 'No';112  }113114  /** @name SpRuntimeDispatchError (22) */115  interface SpRuntimeDispatchError extends Enum {116    readonly isOther: boolean;117    readonly isCannotLookup: boolean;118    readonly isBadOrigin: boolean;119    readonly isModule: boolean;120    readonly asModule: SpRuntimeModuleError;121    readonly isConsumerRemaining: boolean;122    readonly isNoProviders: boolean;123    readonly isTooManyConsumers: boolean;124    readonly isToken: boolean;125    readonly asToken: SpRuntimeTokenError;126    readonly isArithmetic: boolean;127    readonly asArithmetic: SpRuntimeArithmeticError;128    readonly isTransactional: boolean;129    readonly asTransactional: SpRuntimeTransactionalError;130    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';131  }132133  /** @name SpRuntimeModuleError (23) */134  interface SpRuntimeModuleError extends Struct {135    readonly index: u8;136    readonly error: U8aFixed;137  }138139  /** @name SpRuntimeTokenError (24) */140  interface SpRuntimeTokenError extends Enum {141    readonly isNoFunds: boolean;142    readonly isWouldDie: boolean;143    readonly isBelowMinimum: boolean;144    readonly isCannotCreate: boolean;145    readonly isUnknownAsset: boolean;146    readonly isFrozen: boolean;147    readonly isUnsupported: boolean;148    readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';149  }150151  /** @name SpRuntimeArithmeticError (25) */152  interface SpRuntimeArithmeticError extends Enum {153    readonly isUnderflow: boolean;154    readonly isOverflow: boolean;155    readonly isDivisionByZero: boolean;156    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';157  }158159  /** @name SpRuntimeTransactionalError (26) */160  interface SpRuntimeTransactionalError extends Enum {161    readonly isLimitReached: boolean;162    readonly isNoLayer: boolean;163    readonly type: 'LimitReached' | 'NoLayer';164  }165166  /** @name CumulusPalletParachainSystemEvent (27) */167  interface CumulusPalletParachainSystemEvent extends Enum {168    readonly isValidationFunctionStored: boolean;169    readonly isValidationFunctionApplied: boolean;170    readonly asValidationFunctionApplied: {171      readonly relayChainBlockNum: u32;172    } & Struct;173    readonly isValidationFunctionDiscarded: boolean;174    readonly isUpgradeAuthorized: boolean;175    readonly asUpgradeAuthorized: {176      readonly codeHash: H256;177    } & Struct;178    readonly isDownwardMessagesReceived: boolean;179    readonly asDownwardMessagesReceived: {180      readonly count: u32;181    } & Struct;182    readonly isDownwardMessagesProcessed: boolean;183    readonly asDownwardMessagesProcessed: {184      readonly weightUsed: u64;185      readonly dmqHead: H256;186    } & Struct;187    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';188  }189190  /** @name PalletBalancesEvent (28) */191  interface PalletBalancesEvent extends Enum {192    readonly isEndowed: boolean;193    readonly asEndowed: {194      readonly account: AccountId32;195      readonly freeBalance: u128;196    } & Struct;197    readonly isDustLost: boolean;198    readonly asDustLost: {199      readonly account: AccountId32;200      readonly amount: u128;201    } & Struct;202    readonly isTransfer: boolean;203    readonly asTransfer: {204      readonly from: AccountId32;205      readonly to: AccountId32;206      readonly amount: u128;207    } & Struct;208    readonly isBalanceSet: boolean;209    readonly asBalanceSet: {210      readonly who: AccountId32;211      readonly free: u128;212      readonly reserved: u128;213    } & Struct;214    readonly isReserved: boolean;215    readonly asReserved: {216      readonly who: AccountId32;217      readonly amount: u128;218    } & Struct;219    readonly isUnreserved: boolean;220    readonly asUnreserved: {221      readonly who: AccountId32;222      readonly amount: u128;223    } & Struct;224    readonly isReserveRepatriated: boolean;225    readonly asReserveRepatriated: {226      readonly from: AccountId32;227      readonly to: AccountId32;228      readonly amount: u128;229      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;230    } & Struct;231    readonly isDeposit: boolean;232    readonly asDeposit: {233      readonly who: AccountId32;234      readonly amount: u128;235    } & Struct;236    readonly isWithdraw: boolean;237    readonly asWithdraw: {238      readonly who: AccountId32;239      readonly amount: u128;240    } & Struct;241    readonly isSlashed: boolean;242    readonly asSlashed: {243      readonly who: AccountId32;244      readonly amount: u128;245    } & Struct;246    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';247  }248249  /** @name FrameSupportTokensMiscBalanceStatus (29) */250  interface FrameSupportTokensMiscBalanceStatus extends Enum {251    readonly isFree: boolean;252    readonly isReserved: boolean;253    readonly type: 'Free' | 'Reserved';254  }255256  /** @name PalletTransactionPaymentEvent (30) */257  interface PalletTransactionPaymentEvent extends Enum {258    readonly isTransactionFeePaid: boolean;259    readonly asTransactionFeePaid: {260      readonly who: AccountId32;261      readonly actualFee: u128;262      readonly tip: u128;263    } & Struct;264    readonly type: 'TransactionFeePaid';265  }266267  /** @name PalletTreasuryEvent (31) */268  interface PalletTreasuryEvent extends Enum {269    readonly isProposed: boolean;270    readonly asProposed: {271      readonly proposalIndex: u32;272    } & Struct;273    readonly isSpending: boolean;274    readonly asSpending: {275      readonly budgetRemaining: u128;276    } & Struct;277    readonly isAwarded: boolean;278    readonly asAwarded: {279      readonly proposalIndex: u32;280      readonly award: u128;281      readonly account: AccountId32;282    } & Struct;283    readonly isRejected: boolean;284    readonly asRejected: {285      readonly proposalIndex: u32;286      readonly slashed: u128;287    } & Struct;288    readonly isBurnt: boolean;289    readonly asBurnt: {290      readonly burntFunds: u128;291    } & Struct;292    readonly isRollover: boolean;293    readonly asRollover: {294      readonly rolloverBalance: u128;295    } & Struct;296    readonly isDeposit: boolean;297    readonly asDeposit: {298      readonly value: u128;299    } & Struct;300    readonly isSpendApproved: boolean;301    readonly asSpendApproved: {302      readonly proposalIndex: u32;303      readonly amount: u128;304      readonly beneficiary: AccountId32;305    } & Struct;306    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';307  }308309  /** @name PalletSudoEvent (32) */310  interface PalletSudoEvent extends Enum {311    readonly isSudid: boolean;312    readonly asSudid: {313      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;314    } & Struct;315    readonly isKeyChanged: boolean;316    readonly asKeyChanged: {317      readonly oldSudoer: Option<AccountId32>;318    } & Struct;319    readonly isSudoAsDone: boolean;320    readonly asSudoAsDone: {321      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;322    } & Struct;323    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';324  }325326  /** @name OrmlVestingModuleEvent (36) */327  interface OrmlVestingModuleEvent extends Enum {328    readonly isVestingScheduleAdded: boolean;329    readonly asVestingScheduleAdded: {330      readonly from: AccountId32;331      readonly to: AccountId32;332      readonly vestingSchedule: OrmlVestingVestingSchedule;333    } & Struct;334    readonly isClaimed: boolean;335    readonly asClaimed: {336      readonly who: AccountId32;337      readonly amount: u128;338    } & Struct;339    readonly isVestingSchedulesUpdated: boolean;340    readonly asVestingSchedulesUpdated: {341      readonly who: AccountId32;342    } & Struct;343    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';344  }345346  /** @name OrmlVestingVestingSchedule (37) */347  interface OrmlVestingVestingSchedule extends Struct {348    readonly start: u32;349    readonly period: u32;350    readonly periodCount: u32;351    readonly perPeriod: Compact<u128>;352  }353354  /** @name OrmlXtokensModuleEvent (39) */355  interface OrmlXtokensModuleEvent extends Enum {356    readonly isTransferredMultiAssets: boolean;357    readonly asTransferredMultiAssets: {358      readonly sender: AccountId32;359      readonly assets: XcmV1MultiassetMultiAssets;360      readonly fee: XcmV1MultiAsset;361      readonly dest: XcmV1MultiLocation;362    } & Struct;363    readonly type: 'TransferredMultiAssets';364  }365366  /** @name XcmV1MultiassetMultiAssets (40) */367  interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}368369  /** @name XcmV1MultiAsset (42) */370  interface XcmV1MultiAsset extends Struct {371    readonly id: XcmV1MultiassetAssetId;372    readonly fun: XcmV1MultiassetFungibility;373  }374375  /** @name XcmV1MultiassetAssetId (43) */376  interface XcmV1MultiassetAssetId extends Enum {377    readonly isConcrete: boolean;378    readonly asConcrete: XcmV1MultiLocation;379    readonly isAbstract: boolean;380    readonly asAbstract: Bytes;381    readonly type: 'Concrete' | 'Abstract';382  }383384  /** @name XcmV1MultiLocation (44) */385  interface XcmV1MultiLocation extends Struct {386    readonly parents: u8;387    readonly interior: XcmV1MultilocationJunctions;388  }389390  /** @name XcmV1MultilocationJunctions (45) */391  interface XcmV1MultilocationJunctions extends Enum {392    readonly isHere: boolean;393    readonly isX1: boolean;394    readonly asX1: XcmV1Junction;395    readonly isX2: boolean;396    readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;397    readonly isX3: boolean;398    readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;399    readonly isX4: boolean;400    readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;401    readonly isX5: boolean;402    readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;403    readonly isX6: boolean;404    readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;405    readonly isX7: boolean;406    readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;407    readonly isX8: boolean;408    readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;409    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';410  }411412  /** @name XcmV1Junction (46) */413  interface XcmV1Junction extends Enum {414    readonly isParachain: boolean;415    readonly asParachain: Compact<u32>;416    readonly isAccountId32: boolean;417    readonly asAccountId32: {418      readonly network: XcmV0JunctionNetworkId;419      readonly id: U8aFixed;420    } & Struct;421    readonly isAccountIndex64: boolean;422    readonly asAccountIndex64: {423      readonly network: XcmV0JunctionNetworkId;424      readonly index: Compact<u64>;425    } & Struct;426    readonly isAccountKey20: boolean;427    readonly asAccountKey20: {428      readonly network: XcmV0JunctionNetworkId;429      readonly key: U8aFixed;430    } & Struct;431    readonly isPalletInstance: boolean;432    readonly asPalletInstance: u8;433    readonly isGeneralIndex: boolean;434    readonly asGeneralIndex: Compact<u128>;435    readonly isGeneralKey: boolean;436    readonly asGeneralKey: Bytes;437    readonly isOnlyChild: boolean;438    readonly isPlurality: boolean;439    readonly asPlurality: {440      readonly id: XcmV0JunctionBodyId;441      readonly part: XcmV0JunctionBodyPart;442    } & Struct;443    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';444  }445446  /** @name XcmV0JunctionNetworkId (48) */447  interface XcmV0JunctionNetworkId extends Enum {448    readonly isAny: boolean;449    readonly isNamed: boolean;450    readonly asNamed: Bytes;451    readonly isPolkadot: boolean;452    readonly isKusama: boolean;453    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';454  }455456  /** @name XcmV0JunctionBodyId (52) */457  interface XcmV0JunctionBodyId extends Enum {458    readonly isUnit: boolean;459    readonly isNamed: boolean;460    readonly asNamed: Bytes;461    readonly isIndex: boolean;462    readonly asIndex: Compact<u32>;463    readonly isExecutive: boolean;464    readonly isTechnical: boolean;465    readonly isLegislative: boolean;466    readonly isJudicial: boolean;467    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';468  }469470  /** @name XcmV0JunctionBodyPart (53) */471  interface XcmV0JunctionBodyPart extends Enum {472    readonly isVoice: boolean;473    readonly isMembers: boolean;474    readonly asMembers: {475      readonly count: Compact<u32>;476    } & Struct;477    readonly isFraction: boolean;478    readonly asFraction: {479      readonly nom: Compact<u32>;480      readonly denom: Compact<u32>;481    } & Struct;482    readonly isAtLeastProportion: boolean;483    readonly asAtLeastProportion: {484      readonly nom: Compact<u32>;485      readonly denom: Compact<u32>;486    } & Struct;487    readonly isMoreThanProportion: boolean;488    readonly asMoreThanProportion: {489      readonly nom: Compact<u32>;490      readonly denom: Compact<u32>;491    } & Struct;492    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';493  }494495  /** @name XcmV1MultiassetFungibility (54) */496  interface XcmV1MultiassetFungibility extends Enum {497    readonly isFungible: boolean;498    readonly asFungible: Compact<u128>;499    readonly isNonFungible: boolean;500    readonly asNonFungible: XcmV1MultiassetAssetInstance;501    readonly type: 'Fungible' | 'NonFungible';502  }503504  /** @name XcmV1MultiassetAssetInstance (55) */505  interface XcmV1MultiassetAssetInstance extends Enum {506    readonly isUndefined: boolean;507    readonly isIndex: boolean;508    readonly asIndex: Compact<u128>;509    readonly isArray4: boolean;510    readonly asArray4: U8aFixed;511    readonly isArray8: boolean;512    readonly asArray8: U8aFixed;513    readonly isArray16: boolean;514    readonly asArray16: U8aFixed;515    readonly isArray32: boolean;516    readonly asArray32: U8aFixed;517    readonly isBlob: boolean;518    readonly asBlob: Bytes;519    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';520  }521522  /** @name OrmlTokensModuleEvent (58) */523  interface OrmlTokensModuleEvent extends Enum {524    readonly isEndowed: boolean;525    readonly asEndowed: {526      readonly currencyId: PalletForeignAssetsAssetIds;527      readonly who: AccountId32;528      readonly amount: u128;529    } & Struct;530    readonly isDustLost: boolean;531    readonly asDustLost: {532      readonly currencyId: PalletForeignAssetsAssetIds;533      readonly who: AccountId32;534      readonly amount: u128;535    } & Struct;536    readonly isTransfer: boolean;537    readonly asTransfer: {538      readonly currencyId: PalletForeignAssetsAssetIds;539      readonly from: AccountId32;540      readonly to: AccountId32;541      readonly amount: u128;542    } & Struct;543    readonly isReserved: boolean;544    readonly asReserved: {545      readonly currencyId: PalletForeignAssetsAssetIds;546      readonly who: AccountId32;547      readonly amount: u128;548    } & Struct;549    readonly isUnreserved: boolean;550    readonly asUnreserved: {551      readonly currencyId: PalletForeignAssetsAssetIds;552      readonly who: AccountId32;553      readonly amount: u128;554    } & Struct;555    readonly isReserveRepatriated: boolean;556    readonly asReserveRepatriated: {557      readonly currencyId: PalletForeignAssetsAssetIds;558      readonly from: AccountId32;559      readonly to: AccountId32;560      readonly amount: u128;561      readonly status: FrameSupportTokensMiscBalanceStatus;562    } & Struct;563    readonly isBalanceSet: boolean;564    readonly asBalanceSet: {565      readonly currencyId: PalletForeignAssetsAssetIds;566      readonly who: AccountId32;567      readonly free: u128;568      readonly reserved: u128;569    } & Struct;570    readonly isTotalIssuanceSet: boolean;571    readonly asTotalIssuanceSet: {572      readonly currencyId: PalletForeignAssetsAssetIds;573      readonly amount: u128;574    } & Struct;575    readonly isWithdrawn: boolean;576    readonly asWithdrawn: {577      readonly currencyId: PalletForeignAssetsAssetIds;578      readonly who: AccountId32;579      readonly amount: u128;580    } & Struct;581    readonly isSlashed: boolean;582    readonly asSlashed: {583      readonly currencyId: PalletForeignAssetsAssetIds;584      readonly who: AccountId32;585      readonly freeAmount: u128;586      readonly reservedAmount: u128;587    } & Struct;588    readonly isDeposited: boolean;589    readonly asDeposited: {590      readonly currencyId: PalletForeignAssetsAssetIds;591      readonly who: AccountId32;592      readonly amount: u128;593    } & Struct;594    readonly isLockSet: boolean;595    readonly asLockSet: {596      readonly lockId: U8aFixed;597      readonly currencyId: PalletForeignAssetsAssetIds;598      readonly who: AccountId32;599      readonly amount: u128;600    } & Struct;601    readonly isLockRemoved: boolean;602    readonly asLockRemoved: {603      readonly lockId: U8aFixed;604      readonly currencyId: PalletForeignAssetsAssetIds;605      readonly who: AccountId32;606    } & Struct;607    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';608  }609610  /** @name PalletForeignAssetsAssetIds (59) */611  interface PalletForeignAssetsAssetIds extends Enum {612    readonly isForeignAssetId: boolean;613    readonly asForeignAssetId: u32;614    readonly isNativeAssetId: boolean;615    readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;616    readonly type: 'ForeignAssetId' | 'NativeAssetId';617  }618619  /** @name PalletForeignAssetsNativeCurrency (60) */620  interface PalletForeignAssetsNativeCurrency extends Enum {621    readonly isHere: boolean;622    readonly isParent: boolean;623    readonly type: 'Here' | 'Parent';624  }625626  /** @name CumulusPalletXcmpQueueEvent (61) */627  interface CumulusPalletXcmpQueueEvent extends Enum {628    readonly isSuccess: boolean;629    readonly asSuccess: {630      readonly messageHash: Option<H256>;631      readonly weight: u64;632    } & Struct;633    readonly isFail: boolean;634    readonly asFail: {635      readonly messageHash: Option<H256>;636      readonly error: XcmV2TraitsError;637      readonly weight: u64;638    } & Struct;639    readonly isBadVersion: boolean;640    readonly asBadVersion: {641      readonly messageHash: Option<H256>;642    } & Struct;643    readonly isBadFormat: boolean;644    readonly asBadFormat: {645      readonly messageHash: Option<H256>;646    } & Struct;647    readonly isUpwardMessageSent: boolean;648    readonly asUpwardMessageSent: {649      readonly messageHash: Option<H256>;650    } & Struct;651    readonly isXcmpMessageSent: boolean;652    readonly asXcmpMessageSent: {653      readonly messageHash: Option<H256>;654    } & Struct;655    readonly isOverweightEnqueued: boolean;656    readonly asOverweightEnqueued: {657      readonly sender: u32;658      readonly sentAt: u32;659      readonly index: u64;660      readonly required: u64;661    } & Struct;662    readonly isOverweightServiced: boolean;663    readonly asOverweightServiced: {664      readonly index: u64;665      readonly used: u64;666    } & Struct;667    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';668  }669670  /** @name XcmV2TraitsError (63) */671  interface XcmV2TraitsError extends Enum {672    readonly isOverflow: boolean;673    readonly isUnimplemented: boolean;674    readonly isUntrustedReserveLocation: boolean;675    readonly isUntrustedTeleportLocation: boolean;676    readonly isMultiLocationFull: boolean;677    readonly isMultiLocationNotInvertible: boolean;678    readonly isBadOrigin: boolean;679    readonly isInvalidLocation: boolean;680    readonly isAssetNotFound: boolean;681    readonly isFailedToTransactAsset: boolean;682    readonly isNotWithdrawable: boolean;683    readonly isLocationCannotHold: boolean;684    readonly isExceedsMaxMessageSize: boolean;685    readonly isDestinationUnsupported: boolean;686    readonly isTransport: boolean;687    readonly isUnroutable: boolean;688    readonly isUnknownClaim: boolean;689    readonly isFailedToDecode: boolean;690    readonly isMaxWeightInvalid: boolean;691    readonly isNotHoldingFees: boolean;692    readonly isTooExpensive: boolean;693    readonly isTrap: boolean;694    readonly asTrap: u64;695    readonly isUnhandledXcmVersion: boolean;696    readonly isWeightLimitReached: boolean;697    readonly asWeightLimitReached: u64;698    readonly isBarrier: boolean;699    readonly isWeightNotComputable: boolean;700    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';701  }702703  /** @name PalletXcmEvent (65) */704  interface PalletXcmEvent extends Enum {705    readonly isAttempted: boolean;706    readonly asAttempted: XcmV2TraitsOutcome;707    readonly isSent: boolean;708    readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;709    readonly isUnexpectedResponse: boolean;710    readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;711    readonly isResponseReady: boolean;712    readonly asResponseReady: ITuple<[u64, XcmV2Response]>;713    readonly isNotified: boolean;714    readonly asNotified: ITuple<[u64, u8, u8]>;715    readonly isNotifyOverweight: boolean;716    readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;717    readonly isNotifyDispatchError: boolean;718    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;719    readonly isNotifyDecodeFailed: boolean;720    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;721    readonly isInvalidResponder: boolean;722    readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;723    readonly isInvalidResponderVersion: boolean;724    readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;725    readonly isResponseTaken: boolean;726    readonly asResponseTaken: u64;727    readonly isAssetsTrapped: boolean;728    readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;729    readonly isVersionChangeNotified: boolean;730    readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;731    readonly isSupportedVersionChanged: boolean;732    readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;733    readonly isNotifyTargetSendFail: boolean;734    readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;735    readonly isNotifyTargetMigrationFail: boolean;736    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;737    readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';738  }739740  /** @name XcmV2TraitsOutcome (66) */741  interface XcmV2TraitsOutcome extends Enum {742    readonly isComplete: boolean;743    readonly asComplete: u64;744    readonly isIncomplete: boolean;745    readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;746    readonly isError: boolean;747    readonly asError: XcmV2TraitsError;748    readonly type: 'Complete' | 'Incomplete' | 'Error';749  }750751  /** @name XcmV2Xcm (67) */752  interface XcmV2Xcm extends Vec<XcmV2Instruction> {}753754  /** @name XcmV2Instruction (69) */755  interface XcmV2Instruction extends Enum {756    readonly isWithdrawAsset: boolean;757    readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;758    readonly isReserveAssetDeposited: boolean;759    readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;760    readonly isReceiveTeleportedAsset: boolean;761    readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;762    readonly isQueryResponse: boolean;763    readonly asQueryResponse: {764      readonly queryId: Compact<u64>;765      readonly response: XcmV2Response;766      readonly maxWeight: Compact<u64>;767    } & Struct;768    readonly isTransferAsset: boolean;769    readonly asTransferAsset: {770      readonly assets: XcmV1MultiassetMultiAssets;771      readonly beneficiary: XcmV1MultiLocation;772    } & Struct;773    readonly isTransferReserveAsset: boolean;774    readonly asTransferReserveAsset: {775      readonly assets: XcmV1MultiassetMultiAssets;776      readonly dest: XcmV1MultiLocation;777      readonly xcm: XcmV2Xcm;778    } & Struct;779    readonly isTransact: boolean;780    readonly asTransact: {781      readonly originType: XcmV0OriginKind;782      readonly requireWeightAtMost: Compact<u64>;783      readonly call: XcmDoubleEncoded;784    } & Struct;785    readonly isHrmpNewChannelOpenRequest: boolean;786    readonly asHrmpNewChannelOpenRequest: {787      readonly sender: Compact<u32>;788      readonly maxMessageSize: Compact<u32>;789      readonly maxCapacity: Compact<u32>;790    } & Struct;791    readonly isHrmpChannelAccepted: boolean;792    readonly asHrmpChannelAccepted: {793      readonly recipient: Compact<u32>;794    } & Struct;795    readonly isHrmpChannelClosing: boolean;796    readonly asHrmpChannelClosing: {797      readonly initiator: Compact<u32>;798      readonly sender: Compact<u32>;799      readonly recipient: Compact<u32>;800    } & Struct;801    readonly isClearOrigin: boolean;802    readonly isDescendOrigin: boolean;803    readonly asDescendOrigin: XcmV1MultilocationJunctions;804    readonly isReportError: boolean;805    readonly asReportError: {806      readonly queryId: Compact<u64>;807      readonly dest: XcmV1MultiLocation;808      readonly maxResponseWeight: Compact<u64>;809    } & Struct;810    readonly isDepositAsset: boolean;811    readonly asDepositAsset: {812      readonly assets: XcmV1MultiassetMultiAssetFilter;813      readonly maxAssets: Compact<u32>;814      readonly beneficiary: XcmV1MultiLocation;815    } & Struct;816    readonly isDepositReserveAsset: boolean;817    readonly asDepositReserveAsset: {818      readonly assets: XcmV1MultiassetMultiAssetFilter;819      readonly maxAssets: Compact<u32>;820      readonly dest: XcmV1MultiLocation;821      readonly xcm: XcmV2Xcm;822    } & Struct;823    readonly isExchangeAsset: boolean;824    readonly asExchangeAsset: {825      readonly give: XcmV1MultiassetMultiAssetFilter;826      readonly receive: XcmV1MultiassetMultiAssets;827    } & Struct;828    readonly isInitiateReserveWithdraw: boolean;829    readonly asInitiateReserveWithdraw: {830      readonly assets: XcmV1MultiassetMultiAssetFilter;831      readonly reserve: XcmV1MultiLocation;832      readonly xcm: XcmV2Xcm;833    } & Struct;834    readonly isInitiateTeleport: boolean;835    readonly asInitiateTeleport: {836      readonly assets: XcmV1MultiassetMultiAssetFilter;837      readonly dest: XcmV1MultiLocation;838      readonly xcm: XcmV2Xcm;839    } & Struct;840    readonly isQueryHolding: boolean;841    readonly asQueryHolding: {842      readonly queryId: Compact<u64>;843      readonly dest: XcmV1MultiLocation;844      readonly assets: XcmV1MultiassetMultiAssetFilter;845      readonly maxResponseWeight: Compact<u64>;846    } & Struct;847    readonly isBuyExecution: boolean;848    readonly asBuyExecution: {849      readonly fees: XcmV1MultiAsset;850      readonly weightLimit: XcmV2WeightLimit;851    } & Struct;852    readonly isRefundSurplus: boolean;853    readonly isSetErrorHandler: boolean;854    readonly asSetErrorHandler: XcmV2Xcm;855    readonly isSetAppendix: boolean;856    readonly asSetAppendix: XcmV2Xcm;857    readonly isClearError: boolean;858    readonly isClaimAsset: boolean;859    readonly asClaimAsset: {860      readonly assets: XcmV1MultiassetMultiAssets;861      readonly ticket: XcmV1MultiLocation;862    } & Struct;863    readonly isTrap: boolean;864    readonly asTrap: Compact<u64>;865    readonly isSubscribeVersion: boolean;866    readonly asSubscribeVersion: {867      readonly queryId: Compact<u64>;868      readonly maxResponseWeight: Compact<u64>;869    } & Struct;870    readonly isUnsubscribeVersion: boolean;871    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';872  }873874  /** @name XcmV2Response (70) */875  interface XcmV2Response extends Enum {876    readonly isNull: boolean;877    readonly isAssets: boolean;878    readonly asAssets: XcmV1MultiassetMultiAssets;879    readonly isExecutionResult: boolean;880    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;881    readonly isVersion: boolean;882    readonly asVersion: u32;883    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';884  }885886  /** @name XcmV0OriginKind (73) */887  interface XcmV0OriginKind extends Enum {888    readonly isNative: boolean;889    readonly isSovereignAccount: boolean;890    readonly isSuperuser: boolean;891    readonly isXcm: boolean;892    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';893  }894895  /** @name XcmDoubleEncoded (74) */896  interface XcmDoubleEncoded extends Struct {897    readonly encoded: Bytes;898  }899900  /** @name XcmV1MultiassetMultiAssetFilter (75) */901  interface XcmV1MultiassetMultiAssetFilter extends Enum {902    readonly isDefinite: boolean;903    readonly asDefinite: XcmV1MultiassetMultiAssets;904    readonly isWild: boolean;905    readonly asWild: XcmV1MultiassetWildMultiAsset;906    readonly type: 'Definite' | 'Wild';907  }908909  /** @name XcmV1MultiassetWildMultiAsset (76) */910  interface XcmV1MultiassetWildMultiAsset extends Enum {911    readonly isAll: boolean;912    readonly isAllOf: boolean;913    readonly asAllOf: {914      readonly id: XcmV1MultiassetAssetId;915      readonly fun: XcmV1MultiassetWildFungibility;916    } & Struct;917    readonly type: 'All' | 'AllOf';918  }919920  /** @name XcmV1MultiassetWildFungibility (77) */921  interface XcmV1MultiassetWildFungibility extends Enum {922    readonly isFungible: boolean;923    readonly isNonFungible: boolean;924    readonly type: 'Fungible' | 'NonFungible';925  }926927  /** @name XcmV2WeightLimit (78) */928  interface XcmV2WeightLimit extends Enum {929    readonly isUnlimited: boolean;930    readonly isLimited: boolean;931    readonly asLimited: Compact<u64>;932    readonly type: 'Unlimited' | 'Limited';933  }934935  /** @name XcmVersionedMultiAssets (80) */936  interface XcmVersionedMultiAssets extends Enum {937    readonly isV0: boolean;938    readonly asV0: Vec<XcmV0MultiAsset>;939    readonly isV1: boolean;940    readonly asV1: XcmV1MultiassetMultiAssets;941    readonly type: 'V0' | 'V1';942  }943944  /** @name XcmV0MultiAsset (82) */945  interface XcmV0MultiAsset extends Enum {946    readonly isNone: boolean;947    readonly isAll: boolean;948    readonly isAllFungible: boolean;949    readonly isAllNonFungible: boolean;950    readonly isAllAbstractFungible: boolean;951    readonly asAllAbstractFungible: {952      readonly id: Bytes;953    } & Struct;954    readonly isAllAbstractNonFungible: boolean;955    readonly asAllAbstractNonFungible: {956      readonly class: Bytes;957    } & Struct;958    readonly isAllConcreteFungible: boolean;959    readonly asAllConcreteFungible: {960      readonly id: XcmV0MultiLocation;961    } & Struct;962    readonly isAllConcreteNonFungible: boolean;963    readonly asAllConcreteNonFungible: {964      readonly class: XcmV0MultiLocation;965    } & Struct;966    readonly isAbstractFungible: boolean;967    readonly asAbstractFungible: {968      readonly id: Bytes;969      readonly amount: Compact<u128>;970    } & Struct;971    readonly isAbstractNonFungible: boolean;972    readonly asAbstractNonFungible: {973      readonly class: Bytes;974      readonly instance: XcmV1MultiassetAssetInstance;975    } & Struct;976    readonly isConcreteFungible: boolean;977    readonly asConcreteFungible: {978      readonly id: XcmV0MultiLocation;979      readonly amount: Compact<u128>;980    } & Struct;981    readonly isConcreteNonFungible: boolean;982    readonly asConcreteNonFungible: {983      readonly class: XcmV0MultiLocation;984      readonly instance: XcmV1MultiassetAssetInstance;985    } & Struct;986    readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';987  }988989  /** @name XcmV0MultiLocation (83) */990  interface XcmV0MultiLocation extends Enum {991    readonly isNull: boolean;992    readonly isX1: boolean;993    readonly asX1: XcmV0Junction;994    readonly isX2: boolean;995    readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;996    readonly isX3: boolean;997    readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;998    readonly isX4: boolean;999    readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1000    readonly isX5: boolean;1001    readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1002    readonly isX6: boolean;1003    readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1004    readonly isX7: boolean;1005    readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1006    readonly isX8: boolean;1007    readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1008    readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1009  }10101011  /** @name XcmV0Junction (84) */1012  interface XcmV0Junction extends Enum {1013    readonly isParent: boolean;1014    readonly isParachain: boolean;1015    readonly asParachain: Compact<u32>;1016    readonly isAccountId32: boolean;1017    readonly asAccountId32: {1018      readonly network: XcmV0JunctionNetworkId;1019      readonly id: U8aFixed;1020    } & Struct;1021    readonly isAccountIndex64: boolean;1022    readonly asAccountIndex64: {1023      readonly network: XcmV0JunctionNetworkId;1024      readonly index: Compact<u64>;1025    } & Struct;1026    readonly isAccountKey20: boolean;1027    readonly asAccountKey20: {1028      readonly network: XcmV0JunctionNetworkId;1029      readonly key: U8aFixed;1030    } & Struct;1031    readonly isPalletInstance: boolean;1032    readonly asPalletInstance: u8;1033    readonly isGeneralIndex: boolean;1034    readonly asGeneralIndex: Compact<u128>;1035    readonly isGeneralKey: boolean;1036    readonly asGeneralKey: Bytes;1037    readonly isOnlyChild: boolean;1038    readonly isPlurality: boolean;1039    readonly asPlurality: {1040      readonly id: XcmV0JunctionBodyId;1041      readonly part: XcmV0JunctionBodyPart;1042    } & Struct;1043    readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1044  }10451046  /** @name XcmVersionedMultiLocation (85) */1047  interface XcmVersionedMultiLocation extends Enum {1048    readonly isV0: boolean;1049    readonly asV0: XcmV0MultiLocation;1050    readonly isV1: boolean;1051    readonly asV1: XcmV1MultiLocation;1052    readonly type: 'V0' | 'V1';1053  }10541055  /** @name CumulusPalletXcmEvent (86) */1056  interface CumulusPalletXcmEvent extends Enum {1057    readonly isInvalidFormat: boolean;1058    readonly asInvalidFormat: U8aFixed;1059    readonly isUnsupportedVersion: boolean;1060    readonly asUnsupportedVersion: U8aFixed;1061    readonly isExecutedDownward: boolean;1062    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;1063    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1064  }10651066  /** @name CumulusPalletDmpQueueEvent (87) */1067  interface CumulusPalletDmpQueueEvent extends Enum {1068    readonly isInvalidFormat: boolean;1069    readonly asInvalidFormat: {1070      readonly messageId: U8aFixed;1071    } & Struct;1072    readonly isUnsupportedVersion: boolean;1073    readonly asUnsupportedVersion: {1074      readonly messageId: U8aFixed;1075    } & Struct;1076    readonly isExecutedDownward: boolean;1077    readonly asExecutedDownward: {1078      readonly messageId: U8aFixed;1079      readonly outcome: XcmV2TraitsOutcome;1080    } & Struct;1081    readonly isWeightExhausted: boolean;1082    readonly asWeightExhausted: {1083      readonly messageId: U8aFixed;1084      readonly remainingWeight: u64;1085      readonly requiredWeight: u64;1086    } & Struct;1087    readonly isOverweightEnqueued: boolean;1088    readonly asOverweightEnqueued: {1089      readonly messageId: U8aFixed;1090      readonly overweightIndex: u64;1091      readonly requiredWeight: u64;1092    } & Struct;1093    readonly isOverweightServiced: boolean;1094    readonly asOverweightServiced: {1095      readonly overweightIndex: u64;1096      readonly weightUsed: u64;1097    } & Struct;1098    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1099  }11001101  /** @name PalletUniqueRawEvent (88) */1102  interface PalletUniqueRawEvent extends Enum {1103    readonly isCollectionSponsorRemoved: boolean;1104    readonly asCollectionSponsorRemoved: u32;1105    readonly isCollectionAdminAdded: boolean;1106    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1107    readonly isCollectionOwnedChanged: boolean;1108    readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1109    readonly isCollectionSponsorSet: boolean;1110    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1111    readonly isSponsorshipConfirmed: boolean;1112    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1113    readonly isCollectionAdminRemoved: boolean;1114    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1115    readonly isAllowListAddressRemoved: boolean;1116    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1117    readonly isAllowListAddressAdded: boolean;1118    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1119    readonly isCollectionLimitSet: boolean;1120    readonly asCollectionLimitSet: u32;1121    readonly isCollectionPermissionSet: boolean;1122    readonly asCollectionPermissionSet: u32;1123    readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1124  }11251126  /** @name PalletEvmAccountBasicCrossAccountIdRepr (89) */1127  interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1128    readonly isSubstrate: boolean;1129    readonly asSubstrate: AccountId32;1130    readonly isEthereum: boolean;1131    readonly asEthereum: H160;1132    readonly type: 'Substrate' | 'Ethereum';1133  }11341135  /** @name PalletUniqueSchedulerEvent (92) */1136  interface PalletUniqueSchedulerEvent extends Enum {1137    readonly isScheduled: boolean;1138    readonly asScheduled: {1139      readonly when: u32;1140      readonly index: u32;1141    } & Struct;1142    readonly isCanceled: boolean;1143    readonly asCanceled: {1144      readonly when: u32;1145      readonly index: u32;1146    } & Struct;1147    readonly isDispatched: boolean;1148    readonly asDispatched: {1149      readonly task: ITuple<[u32, u32]>;1150      readonly id: Option<U8aFixed>;1151      readonly result: Result<Null, SpRuntimeDispatchError>;1152    } & Struct;1153    readonly isCallLookupFailed: boolean;1154    readonly asCallLookupFailed: {1155      readonly task: ITuple<[u32, u32]>;1156      readonly id: Option<U8aFixed>;1157      readonly error: FrameSupportScheduleLookupError;1158    } & Struct;1159    readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';1160  }11611162  /** @name FrameSupportScheduleLookupError (95) */1163  interface FrameSupportScheduleLookupError extends Enum {1164    readonly isUnknown: boolean;1165    readonly isBadFormat: boolean;1166    readonly type: 'Unknown' | 'BadFormat';1167  }11681169  /** @name PalletCommonEvent (96) */1170  interface PalletCommonEvent extends Enum {1171    readonly isCollectionCreated: boolean;1172    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1173    readonly isCollectionDestroyed: boolean;1174    readonly asCollectionDestroyed: u32;1175    readonly isItemCreated: boolean;1176    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1177    readonly isItemDestroyed: boolean;1178    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1179    readonly isTransfer: boolean;1180    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1181    readonly isApproved: boolean;1182    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1183    readonly isCollectionPropertySet: boolean;1184    readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1185    readonly isCollectionPropertyDeleted: boolean;1186    readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1187    readonly isTokenPropertySet: boolean;1188    readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1189    readonly isTokenPropertyDeleted: boolean;1190    readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1191    readonly isPropertyPermissionSet: boolean;1192    readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1193    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1194  }11951196  /** @name PalletStructureEvent (99) */1197  interface PalletStructureEvent extends Enum {1198    readonly isExecuted: boolean;1199    readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1200    readonly type: 'Executed';1201  }12021203  /** @name PalletRmrkCoreEvent (100) */1204  interface PalletRmrkCoreEvent extends Enum {1205    readonly isCollectionCreated: boolean;1206    readonly asCollectionCreated: {1207      readonly issuer: AccountId32;1208      readonly collectionId: u32;1209    } & Struct;1210    readonly isCollectionDestroyed: boolean;1211    readonly asCollectionDestroyed: {1212      readonly issuer: AccountId32;1213      readonly collectionId: u32;1214    } & Struct;1215    readonly isIssuerChanged: boolean;1216    readonly asIssuerChanged: {1217      readonly oldIssuer: AccountId32;1218      readonly newIssuer: AccountId32;1219      readonly collectionId: u32;1220    } & Struct;1221    readonly isCollectionLocked: boolean;1222    readonly asCollectionLocked: {1223      readonly issuer: AccountId32;1224      readonly collectionId: u32;1225    } & Struct;1226    readonly isNftMinted: boolean;1227    readonly asNftMinted: {1228      readonly owner: AccountId32;1229      readonly collectionId: u32;1230      readonly nftId: u32;1231    } & Struct;1232    readonly isNftBurned: boolean;1233    readonly asNftBurned: {1234      readonly owner: AccountId32;1235      readonly nftId: u32;1236    } & Struct;1237    readonly isNftSent: boolean;1238    readonly asNftSent: {1239      readonly sender: AccountId32;1240      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1241      readonly collectionId: u32;1242      readonly nftId: u32;1243      readonly approvalRequired: bool;1244    } & Struct;1245    readonly isNftAccepted: boolean;1246    readonly asNftAccepted: {1247      readonly sender: AccountId32;1248      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1249      readonly collectionId: u32;1250      readonly nftId: u32;1251    } & Struct;1252    readonly isNftRejected: boolean;1253    readonly asNftRejected: {1254      readonly sender: AccountId32;1255      readonly collectionId: u32;1256      readonly nftId: u32;1257    } & Struct;1258    readonly isPropertySet: boolean;1259    readonly asPropertySet: {1260      readonly collectionId: u32;1261      readonly maybeNftId: Option<u32>;1262      readonly key: Bytes;1263      readonly value: Bytes;1264    } & Struct;1265    readonly isResourceAdded: boolean;1266    readonly asResourceAdded: {1267      readonly nftId: u32;1268      readonly resourceId: u32;1269    } & Struct;1270    readonly isResourceRemoval: boolean;1271    readonly asResourceRemoval: {1272      readonly nftId: u32;1273      readonly resourceId: u32;1274    } & Struct;1275    readonly isResourceAccepted: boolean;1276    readonly asResourceAccepted: {1277      readonly nftId: u32;1278      readonly resourceId: u32;1279    } & Struct;1280    readonly isResourceRemovalAccepted: boolean;1281    readonly asResourceRemovalAccepted: {1282      readonly nftId: u32;1283      readonly resourceId: u32;1284    } & Struct;1285    readonly isPrioritySet: boolean;1286    readonly asPrioritySet: {1287      readonly collectionId: u32;1288      readonly nftId: u32;1289    } & Struct;1290    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1291  }12921293  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */1294  interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1295    readonly isAccountId: boolean;1296    readonly asAccountId: AccountId32;1297    readonly isCollectionAndNftTuple: boolean;1298    readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1299    readonly type: 'AccountId' | 'CollectionAndNftTuple';1300  }13011302  /** @name PalletRmrkEquipEvent (106) */1303  interface PalletRmrkEquipEvent extends Enum {1304    readonly isBaseCreated: boolean;1305    readonly asBaseCreated: {1306      readonly issuer: AccountId32;1307      readonly baseId: u32;1308    } & Struct;1309    readonly isEquippablesUpdated: boolean;1310    readonly asEquippablesUpdated: {1311      readonly baseId: u32;1312      readonly slotId: u32;1313    } & Struct;1314    readonly type: 'BaseCreated' | 'EquippablesUpdated';1315  }13161317  /** @name PalletAppPromotionEvent (107) */1318  interface PalletAppPromotionEvent extends Enum {1319    readonly isStakingRecalculation: boolean;1320    readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1321    readonly isStake: boolean;1322    readonly asStake: ITuple<[AccountId32, u128]>;1323    readonly isUnstake: boolean;1324    readonly asUnstake: ITuple<[AccountId32, u128]>;1325    readonly isSetAdmin: boolean;1326    readonly asSetAdmin: AccountId32;1327    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1328  }13291330  /** @name PalletForeignAssetsModuleEvent (108) */1331  interface PalletForeignAssetsModuleEvent extends Enum {1332    readonly isForeignAssetRegistered: boolean;1333    readonly asForeignAssetRegistered: {1334      readonly assetId: u32;1335      readonly assetAddress: XcmV1MultiLocation;1336      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1337    } & Struct;1338    readonly isForeignAssetUpdated: boolean;1339    readonly asForeignAssetUpdated: {1340      readonly assetId: u32;1341      readonly assetAddress: XcmV1MultiLocation;1342      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1343    } & Struct;1344    readonly isAssetRegistered: boolean;1345    readonly asAssetRegistered: {1346      readonly assetId: PalletForeignAssetsAssetIds;1347      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1348    } & Struct;1349    readonly isAssetUpdated: boolean;1350    readonly asAssetUpdated: {1351      readonly assetId: PalletForeignAssetsAssetIds;1352      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1353    } & Struct;1354    readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1355  }13561357  /** @name PalletForeignAssetsModuleAssetMetadata (109) */1358  interface PalletForeignAssetsModuleAssetMetadata extends Struct {1359    readonly name: Bytes;1360    readonly symbol: Bytes;1361    readonly decimals: u8;1362    readonly minimalBalance: u128;1363  }13641365  /** @name PalletEvmEvent (110) */1366  interface PalletEvmEvent extends Enum {1367    readonly isLog: boolean;1368    readonly asLog: EthereumLog;1369    readonly isCreated: boolean;1370    readonly asCreated: H160;1371    readonly isCreatedFailed: boolean;1372    readonly asCreatedFailed: H160;1373    readonly isExecuted: boolean;1374    readonly asExecuted: H160;1375    readonly isExecutedFailed: boolean;1376    readonly asExecutedFailed: H160;1377    readonly isBalanceDeposit: boolean;1378    readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1379    readonly isBalanceWithdraw: boolean;1380    readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1381    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1382  }13831384  /** @name EthereumLog (111) */1385  interface EthereumLog extends Struct {1386    readonly address: H160;1387    readonly topics: Vec<H256>;1388    readonly data: Bytes;1389  }13901391  /** @name PalletEthereumEvent (115) */1392  interface PalletEthereumEvent extends Enum {1393    readonly isExecuted: boolean;1394    readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1395    readonly type: 'Executed';1396  }13971398  /** @name EvmCoreErrorExitReason (116) */1399  interface EvmCoreErrorExitReason extends Enum {1400    readonly isSucceed: boolean;1401    readonly asSucceed: EvmCoreErrorExitSucceed;1402    readonly isError: boolean;1403    readonly asError: EvmCoreErrorExitError;1404    readonly isRevert: boolean;1405    readonly asRevert: EvmCoreErrorExitRevert;1406    readonly isFatal: boolean;1407    readonly asFatal: EvmCoreErrorExitFatal;1408    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1409  }14101411  /** @name EvmCoreErrorExitSucceed (117) */1412  interface EvmCoreErrorExitSucceed extends Enum {1413    readonly isStopped: boolean;1414    readonly isReturned: boolean;1415    readonly isSuicided: boolean;1416    readonly type: 'Stopped' | 'Returned' | 'Suicided';1417  }14181419  /** @name EvmCoreErrorExitError (118) */1420  interface EvmCoreErrorExitError extends Enum {1421    readonly isStackUnderflow: boolean;1422    readonly isStackOverflow: boolean;1423    readonly isInvalidJump: boolean;1424    readonly isInvalidRange: boolean;1425    readonly isDesignatedInvalid: boolean;1426    readonly isCallTooDeep: boolean;1427    readonly isCreateCollision: boolean;1428    readonly isCreateContractLimit: boolean;1429    readonly isOutOfOffset: boolean;1430    readonly isOutOfGas: boolean;1431    readonly isOutOfFund: boolean;1432    readonly isPcUnderflow: boolean;1433    readonly isCreateEmpty: boolean;1434    readonly isOther: boolean;1435    readonly asOther: Text;1436    readonly isInvalidCode: boolean;1437    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1438  }14391440  /** @name EvmCoreErrorExitRevert (121) */1441  interface EvmCoreErrorExitRevert extends Enum {1442    readonly isReverted: boolean;1443    readonly type: 'Reverted';1444  }14451446  /** @name EvmCoreErrorExitFatal (122) */1447  interface EvmCoreErrorExitFatal extends Enum {1448    readonly isNotSupported: boolean;1449    readonly isUnhandledInterrupt: boolean;1450    readonly isCallErrorAsFatal: boolean;1451    readonly asCallErrorAsFatal: EvmCoreErrorExitError;1452    readonly isOther: boolean;1453    readonly asOther: Text;1454    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1455  }14561457  /** @name PalletEvmContractHelpersEvent (123) */1458  interface PalletEvmContractHelpersEvent extends Enum {1459    readonly isContractSponsorSet: boolean;1460    readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1461    readonly isContractSponsorshipConfirmed: boolean;1462    readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1463    readonly isContractSponsorRemoved: boolean;1464    readonly asContractSponsorRemoved: H160;1465    readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1466  }14671468  /** @name FrameSystemPhase (124) */1469  interface FrameSystemPhase extends Enum {1470    readonly isApplyExtrinsic: boolean;1471    readonly asApplyExtrinsic: u32;1472    readonly isFinalization: boolean;1473    readonly isInitialization: boolean;1474    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1475  }14761477  /** @name FrameSystemLastRuntimeUpgradeInfo (126) */1478  interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1479    readonly specVersion: Compact<u32>;1480    readonly specName: Text;1481  }14821483  /** @name FrameSystemCall (127) */1484  interface FrameSystemCall extends Enum {1485    readonly isFillBlock: boolean;1486    readonly asFillBlock: {1487      readonly ratio: Perbill;1488    } & Struct;1489    readonly isRemark: boolean;1490    readonly asRemark: {1491      readonly remark: Bytes;1492    } & Struct;1493    readonly isSetHeapPages: boolean;1494    readonly asSetHeapPages: {1495      readonly pages: u64;1496    } & Struct;1497    readonly isSetCode: boolean;1498    readonly asSetCode: {1499      readonly code: Bytes;1500    } & Struct;1501    readonly isSetCodeWithoutChecks: boolean;1502    readonly asSetCodeWithoutChecks: {1503      readonly code: Bytes;1504    } & Struct;1505    readonly isSetStorage: boolean;1506    readonly asSetStorage: {1507      readonly items: Vec<ITuple<[Bytes, Bytes]>>;1508    } & Struct;1509    readonly isKillStorage: boolean;1510    readonly asKillStorage: {1511      readonly keys_: Vec<Bytes>;1512    } & Struct;1513    readonly isKillPrefix: boolean;1514    readonly asKillPrefix: {1515      readonly prefix: Bytes;1516      readonly subkeys: u32;1517    } & Struct;1518    readonly isRemarkWithEvent: boolean;1519    readonly asRemarkWithEvent: {1520      readonly remark: Bytes;1521    } & Struct;1522    readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1523  }15241525  /** @name FrameSystemLimitsBlockWeights (132) */1526  interface FrameSystemLimitsBlockWeights extends Struct {1527    readonly baseBlock: u64;1528    readonly maxBlock: u64;1529    readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;1530  }15311532  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (133) */1533  interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {1534    readonly normal: FrameSystemLimitsWeightsPerClass;1535    readonly operational: FrameSystemLimitsWeightsPerClass;1536    readonly mandatory: FrameSystemLimitsWeightsPerClass;1537  }15381539  /** @name FrameSystemLimitsWeightsPerClass (134) */1540  interface FrameSystemLimitsWeightsPerClass extends Struct {1541    readonly baseExtrinsic: u64;1542    readonly maxExtrinsic: Option<u64>;1543    readonly maxTotal: Option<u64>;1544    readonly reserved: Option<u64>;1545  }15461547  /** @name FrameSystemLimitsBlockLength (136) */1548  interface FrameSystemLimitsBlockLength extends Struct {1549    readonly max: FrameSupportWeightsPerDispatchClassU32;1550  }15511552  /** @name FrameSupportWeightsPerDispatchClassU32 (137) */1553  interface FrameSupportWeightsPerDispatchClassU32 extends Struct {1554    readonly normal: u32;1555    readonly operational: u32;1556    readonly mandatory: u32;1557  }15581559  /** @name FrameSupportWeightsRuntimeDbWeight (138) */1560  interface FrameSupportWeightsRuntimeDbWeight extends Struct {1561    readonly read: u64;1562    readonly write: u64;1563  }15641565  /** @name SpVersionRuntimeVersion (139) */1566  interface SpVersionRuntimeVersion extends Struct {1567    readonly specName: Text;1568    readonly implName: Text;1569    readonly authoringVersion: u32;1570    readonly specVersion: u32;1571    readonly implVersion: u32;1572    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1573    readonly transactionVersion: u32;1574    readonly stateVersion: u8;1575  }15761577  /** @name FrameSystemError (144) */1578  interface FrameSystemError extends Enum {1579    readonly isInvalidSpecName: boolean;1580    readonly isSpecVersionNeedsToIncrease: boolean;1581    readonly isFailedToExtractRuntimeVersion: boolean;1582    readonly isNonDefaultComposite: boolean;1583    readonly isNonZeroRefCount: boolean;1584    readonly isCallFiltered: boolean;1585    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1586  }15871588  /** @name PolkadotPrimitivesV2PersistedValidationData (145) */1589  interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1590    readonly parentHead: Bytes;1591    readonly relayParentNumber: u32;1592    readonly relayParentStorageRoot: H256;1593    readonly maxPovSize: u32;1594  }15951596  /** @name PolkadotPrimitivesV2UpgradeRestriction (148) */1597  interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1598    readonly isPresent: boolean;1599    readonly type: 'Present';1600  }16011602  /** @name SpTrieStorageProof (149) */1603  interface SpTrieStorageProof extends Struct {1604    readonly trieNodes: BTreeSet<Bytes>;1605  }16061607  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (151) */1608  interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1609    readonly dmqMqcHead: H256;1610    readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1611    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1612    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1613  }16141615  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (154) */1616  interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1617    readonly maxCapacity: u32;1618    readonly maxTotalSize: u32;1619    readonly maxMessageSize: u32;1620    readonly msgCount: u32;1621    readonly totalSize: u32;1622    readonly mqcHead: Option<H256>;1623  }16241625  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (155) */1626  interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1627    readonly maxCodeSize: u32;1628    readonly maxHeadDataSize: u32;1629    readonly maxUpwardQueueCount: u32;1630    readonly maxUpwardQueueSize: u32;1631    readonly maxUpwardMessageSize: u32;1632    readonly maxUpwardMessageNumPerCandidate: u32;1633    readonly hrmpMaxMessageNumPerCandidate: u32;1634    readonly validationUpgradeCooldown: u32;1635    readonly validationUpgradeDelay: u32;1636  }16371638  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (161) */1639  interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1640    readonly recipient: u32;1641    readonly data: Bytes;1642  }16431644  /** @name CumulusPalletParachainSystemCall (162) */1645  interface CumulusPalletParachainSystemCall extends Enum {1646    readonly isSetValidationData: boolean;1647    readonly asSetValidationData: {1648      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1649    } & Struct;1650    readonly isSudoSendUpwardMessage: boolean;1651    readonly asSudoSendUpwardMessage: {1652      readonly message: Bytes;1653    } & Struct;1654    readonly isAuthorizeUpgrade: boolean;1655    readonly asAuthorizeUpgrade: {1656      readonly codeHash: H256;1657    } & Struct;1658    readonly isEnactAuthorizedUpgrade: boolean;1659    readonly asEnactAuthorizedUpgrade: {1660      readonly code: Bytes;1661    } & Struct;1662    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1663  }16641665  /** @name CumulusPrimitivesParachainInherentParachainInherentData (163) */1666  interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1667    readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1668    readonly relayChainState: SpTrieStorageProof;1669    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1670    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1671  }16721673  /** @name PolkadotCorePrimitivesInboundDownwardMessage (165) */1674  interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1675    readonly sentAt: u32;1676    readonly msg: Bytes;1677  }16781679  /** @name PolkadotCorePrimitivesInboundHrmpMessage (168) */1680  interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1681    readonly sentAt: u32;1682    readonly data: Bytes;1683  }16841685  /** @name CumulusPalletParachainSystemError (171) */1686  interface CumulusPalletParachainSystemError extends Enum {1687    readonly isOverlappingUpgrades: boolean;1688    readonly isProhibitedByPolkadot: boolean;1689    readonly isTooBig: boolean;1690    readonly isValidationDataNotAvailable: boolean;1691    readonly isHostConfigurationNotAvailable: boolean;1692    readonly isNotScheduled: boolean;1693    readonly isNothingAuthorized: boolean;1694    readonly isUnauthorized: boolean;1695    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1696  }16971698  /** @name PalletBalancesBalanceLock (173) */1699  interface PalletBalancesBalanceLock extends Struct {1700    readonly id: U8aFixed;1701    readonly amount: u128;1702    readonly reasons: PalletBalancesReasons;1703  }17041705  /** @name PalletBalancesReasons (174) */1706  interface PalletBalancesReasons extends Enum {1707    readonly isFee: boolean;1708    readonly isMisc: boolean;1709    readonly isAll: boolean;1710    readonly type: 'Fee' | 'Misc' | 'All';1711  }17121713  /** @name PalletBalancesReserveData (177) */1714  interface PalletBalancesReserveData extends Struct {1715    readonly id: U8aFixed;1716    readonly amount: u128;1717  }17181719  /** @name PalletBalancesReleases (179) */1720  interface PalletBalancesReleases extends Enum {1721    readonly isV100: boolean;1722    readonly isV200: boolean;1723    readonly type: 'V100' | 'V200';1724  }17251726  /** @name PalletBalancesCall (180) */1727  interface PalletBalancesCall extends Enum {1728    readonly isTransfer: boolean;1729    readonly asTransfer: {1730      readonly dest: MultiAddress;1731      readonly value: Compact<u128>;1732    } & Struct;1733    readonly isSetBalance: boolean;1734    readonly asSetBalance: {1735      readonly who: MultiAddress;1736      readonly newFree: Compact<u128>;1737      readonly newReserved: Compact<u128>;1738    } & Struct;1739    readonly isForceTransfer: boolean;1740    readonly asForceTransfer: {1741      readonly source: MultiAddress;1742      readonly dest: MultiAddress;1743      readonly value: Compact<u128>;1744    } & Struct;1745    readonly isTransferKeepAlive: boolean;1746    readonly asTransferKeepAlive: {1747      readonly dest: MultiAddress;1748      readonly value: Compact<u128>;1749    } & Struct;1750    readonly isTransferAll: boolean;1751    readonly asTransferAll: {1752      readonly dest: MultiAddress;1753      readonly keepAlive: bool;1754    } & Struct;1755    readonly isForceUnreserve: boolean;1756    readonly asForceUnreserve: {1757      readonly who: MultiAddress;1758      readonly amount: u128;1759    } & Struct;1760    readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1761  }17621763  /** @name PalletBalancesError (183) */1764  interface PalletBalancesError extends Enum {1765    readonly isVestingBalance: boolean;1766    readonly isLiquidityRestrictions: boolean;1767    readonly isInsufficientBalance: boolean;1768    readonly isExistentialDeposit: boolean;1769    readonly isKeepAlive: boolean;1770    readonly isExistingVestingSchedule: boolean;1771    readonly isDeadAccount: boolean;1772    readonly isTooManyReserves: boolean;1773    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1774  }17751776  /** @name PalletTimestampCall (185) */1777  interface PalletTimestampCall extends Enum {1778    readonly isSet: boolean;1779    readonly asSet: {1780      readonly now: Compact<u64>;1781    } & Struct;1782    readonly type: 'Set';1783  }17841785  /** @name PalletTransactionPaymentReleases (187) */1786  interface PalletTransactionPaymentReleases extends Enum {1787    readonly isV1Ancient: boolean;1788    readonly isV2: boolean;1789    readonly type: 'V1Ancient' | 'V2';1790  }17911792  /** @name PalletTreasuryProposal (188) */1793  interface PalletTreasuryProposal extends Struct {1794    readonly proposer: AccountId32;1795    readonly value: u128;1796    readonly beneficiary: AccountId32;1797    readonly bond: u128;1798  }17991800  /** @name PalletTreasuryCall (191) */1801  interface PalletTreasuryCall extends Enum {1802    readonly isProposeSpend: boolean;1803    readonly asProposeSpend: {1804      readonly value: Compact<u128>;1805      readonly beneficiary: MultiAddress;1806    } & Struct;1807    readonly isRejectProposal: boolean;1808    readonly asRejectProposal: {1809      readonly proposalId: Compact<u32>;1810    } & Struct;1811    readonly isApproveProposal: boolean;1812    readonly asApproveProposal: {1813      readonly proposalId: Compact<u32>;1814    } & Struct;1815    readonly isSpend: boolean;1816    readonly asSpend: {1817      readonly amount: Compact<u128>;1818      readonly beneficiary: MultiAddress;1819    } & Struct;1820    readonly isRemoveApproval: boolean;1821    readonly asRemoveApproval: {1822      readonly proposalId: Compact<u32>;1823    } & Struct;1824    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1825  }18261827  /** @name FrameSupportPalletId (194) */1828  interface FrameSupportPalletId extends U8aFixed {}18291830  /** @name PalletTreasuryError (195) */1831  interface PalletTreasuryError extends Enum {1832    readonly isInsufficientProposersBalance: boolean;1833    readonly isInvalidIndex: boolean;1834    readonly isTooManyApprovals: boolean;1835    readonly isInsufficientPermission: boolean;1836    readonly isProposalNotApproved: boolean;1837    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1838  }18391840  /** @name PalletSudoCall (196) */1841  interface PalletSudoCall extends Enum {1842    readonly isSudo: boolean;1843    readonly asSudo: {1844      readonly call: Call;1845    } & Struct;1846    readonly isSudoUncheckedWeight: boolean;1847    readonly asSudoUncheckedWeight: {1848      readonly call: Call;1849      readonly weight: u64;1850    } & Struct;1851    readonly isSetKey: boolean;1852    readonly asSetKey: {1853      readonly new_: MultiAddress;1854    } & Struct;1855    readonly isSudoAs: boolean;1856    readonly asSudoAs: {1857      readonly who: MultiAddress;1858      readonly call: Call;1859    } & Struct;1860    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1861  }18621863  /** @name OrmlVestingModuleCall (198) */1864  interface OrmlVestingModuleCall extends Enum {1865    readonly isClaim: boolean;1866    readonly isVestedTransfer: boolean;1867    readonly asVestedTransfer: {1868      readonly dest: MultiAddress;1869      readonly schedule: OrmlVestingVestingSchedule;1870    } & Struct;1871    readonly isUpdateVestingSchedules: boolean;1872    readonly asUpdateVestingSchedules: {1873      readonly who: MultiAddress;1874      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1875    } & Struct;1876    readonly isClaimFor: boolean;1877    readonly asClaimFor: {1878      readonly dest: MultiAddress;1879    } & Struct;1880    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1881  }18821883  /** @name OrmlXtokensModuleCall (200) */1884  interface OrmlXtokensModuleCall extends Enum {1885    readonly isTransfer: boolean;1886    readonly asTransfer: {1887      readonly currencyId: PalletForeignAssetsAssetIds;1888      readonly amount: u128;1889      readonly dest: XcmVersionedMultiLocation;1890      readonly destWeight: u64;1891    } & Struct;1892    readonly isTransferMultiasset: boolean;1893    readonly asTransferMultiasset: {1894      readonly asset: XcmVersionedMultiAsset;1895      readonly dest: XcmVersionedMultiLocation;1896      readonly destWeight: u64;1897    } & Struct;1898    readonly isTransferWithFee: boolean;1899    readonly asTransferWithFee: {1900      readonly currencyId: PalletForeignAssetsAssetIds;1901      readonly amount: u128;1902      readonly fee: u128;1903      readonly dest: XcmVersionedMultiLocation;1904      readonly destWeight: u64;1905    } & Struct;1906    readonly isTransferMultiassetWithFee: boolean;1907    readonly asTransferMultiassetWithFee: {1908      readonly asset: XcmVersionedMultiAsset;1909      readonly fee: XcmVersionedMultiAsset;1910      readonly dest: XcmVersionedMultiLocation;1911      readonly destWeight: u64;1912    } & Struct;1913    readonly isTransferMulticurrencies: boolean;1914    readonly asTransferMulticurrencies: {1915      readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1916      readonly feeItem: u32;1917      readonly dest: XcmVersionedMultiLocation;1918      readonly destWeight: u64;1919    } & Struct;1920    readonly isTransferMultiassets: boolean;1921    readonly asTransferMultiassets: {1922      readonly assets: XcmVersionedMultiAssets;1923      readonly feeItem: u32;1924      readonly dest: XcmVersionedMultiLocation;1925      readonly destWeight: u64;1926    } & Struct;1927    readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1928  }19291930  /** @name XcmVersionedMultiAsset (201) */1931  interface XcmVersionedMultiAsset extends Enum {1932    readonly isV0: boolean;1933    readonly asV0: XcmV0MultiAsset;1934    readonly isV1: boolean;1935    readonly asV1: XcmV1MultiAsset;1936    readonly type: 'V0' | 'V1';1937  }19381939  /** @name OrmlTokensModuleCall (204) */1940  interface OrmlTokensModuleCall extends Enum {1941    readonly isTransfer: boolean;1942    readonly asTransfer: {1943      readonly dest: MultiAddress;1944      readonly currencyId: PalletForeignAssetsAssetIds;1945      readonly amount: Compact<u128>;1946    } & Struct;1947    readonly isTransferAll: boolean;1948    readonly asTransferAll: {1949      readonly dest: MultiAddress;1950      readonly currencyId: PalletForeignAssetsAssetIds;1951      readonly keepAlive: bool;1952    } & Struct;1953    readonly isTransferKeepAlive: boolean;1954    readonly asTransferKeepAlive: {1955      readonly dest: MultiAddress;1956      readonly currencyId: PalletForeignAssetsAssetIds;1957      readonly amount: Compact<u128>;1958    } & Struct;1959    readonly isForceTransfer: boolean;1960    readonly asForceTransfer: {1961      readonly source: MultiAddress;1962      readonly dest: MultiAddress;1963      readonly currencyId: PalletForeignAssetsAssetIds;1964      readonly amount: Compact<u128>;1965    } & Struct;1966    readonly isSetBalance: boolean;1967    readonly asSetBalance: {1968      readonly who: MultiAddress;1969      readonly currencyId: PalletForeignAssetsAssetIds;1970      readonly newFree: Compact<u128>;1971      readonly newReserved: Compact<u128>;1972    } & Struct;1973    readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1974  }19751976  /** @name CumulusPalletXcmpQueueCall (205) */1977  interface CumulusPalletXcmpQueueCall extends Enum {1978    readonly isServiceOverweight: boolean;1979    readonly asServiceOverweight: {1980      readonly index: u64;1981      readonly weightLimit: u64;1982    } & Struct;1983    readonly isSuspendXcmExecution: boolean;1984    readonly isResumeXcmExecution: boolean;1985    readonly isUpdateSuspendThreshold: boolean;1986    readonly asUpdateSuspendThreshold: {1987      readonly new_: u32;1988    } & Struct;1989    readonly isUpdateDropThreshold: boolean;1990    readonly asUpdateDropThreshold: {1991      readonly new_: u32;1992    } & Struct;1993    readonly isUpdateResumeThreshold: boolean;1994    readonly asUpdateResumeThreshold: {1995      readonly new_: u32;1996    } & Struct;1997    readonly isUpdateThresholdWeight: boolean;1998    readonly asUpdateThresholdWeight: {1999      readonly new_: u64;2000    } & Struct;2001    readonly isUpdateWeightRestrictDecay: boolean;2002    readonly asUpdateWeightRestrictDecay: {2003      readonly new_: u64;2004    } & Struct;2005    readonly isUpdateXcmpMaxIndividualWeight: boolean;2006    readonly asUpdateXcmpMaxIndividualWeight: {2007      readonly new_: u64;2008    } & Struct;2009    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2010  }20112012  /** @name PalletXcmCall (206) */2013  interface PalletXcmCall extends Enum {2014    readonly isSend: boolean;2015    readonly asSend: {2016      readonly dest: XcmVersionedMultiLocation;2017      readonly message: XcmVersionedXcm;2018    } & Struct;2019    readonly isTeleportAssets: boolean;2020    readonly asTeleportAssets: {2021      readonly dest: XcmVersionedMultiLocation;2022      readonly beneficiary: XcmVersionedMultiLocation;2023      readonly assets: XcmVersionedMultiAssets;2024      readonly feeAssetItem: u32;2025    } & Struct;2026    readonly isReserveTransferAssets: boolean;2027    readonly asReserveTransferAssets: {2028      readonly dest: XcmVersionedMultiLocation;2029      readonly beneficiary: XcmVersionedMultiLocation;2030      readonly assets: XcmVersionedMultiAssets;2031      readonly feeAssetItem: u32;2032    } & Struct;2033    readonly isExecute: boolean;2034    readonly asExecute: {2035      readonly message: XcmVersionedXcm;2036      readonly maxWeight: u64;2037    } & Struct;2038    readonly isForceXcmVersion: boolean;2039    readonly asForceXcmVersion: {2040      readonly location: XcmV1MultiLocation;2041      readonly xcmVersion: u32;2042    } & Struct;2043    readonly isForceDefaultXcmVersion: boolean;2044    readonly asForceDefaultXcmVersion: {2045      readonly maybeXcmVersion: Option<u32>;2046    } & Struct;2047    readonly isForceSubscribeVersionNotify: boolean;2048    readonly asForceSubscribeVersionNotify: {2049      readonly location: XcmVersionedMultiLocation;2050    } & Struct;2051    readonly isForceUnsubscribeVersionNotify: boolean;2052    readonly asForceUnsubscribeVersionNotify: {2053      readonly location: XcmVersionedMultiLocation;2054    } & Struct;2055    readonly isLimitedReserveTransferAssets: boolean;2056    readonly asLimitedReserveTransferAssets: {2057      readonly dest: XcmVersionedMultiLocation;2058      readonly beneficiary: XcmVersionedMultiLocation;2059      readonly assets: XcmVersionedMultiAssets;2060      readonly feeAssetItem: u32;2061      readonly weightLimit: XcmV2WeightLimit;2062    } & Struct;2063    readonly isLimitedTeleportAssets: boolean;2064    readonly asLimitedTeleportAssets: {2065      readonly dest: XcmVersionedMultiLocation;2066      readonly beneficiary: XcmVersionedMultiLocation;2067      readonly assets: XcmVersionedMultiAssets;2068      readonly feeAssetItem: u32;2069      readonly weightLimit: XcmV2WeightLimit;2070    } & Struct;2071    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2072  }20732074  /** @name XcmVersionedXcm (207) */2075  interface XcmVersionedXcm extends Enum {2076    readonly isV0: boolean;2077    readonly asV0: XcmV0Xcm;2078    readonly isV1: boolean;2079    readonly asV1: XcmV1Xcm;2080    readonly isV2: boolean;2081    readonly asV2: XcmV2Xcm;2082    readonly type: 'V0' | 'V1' | 'V2';2083  }20842085  /** @name XcmV0Xcm (208) */2086  interface XcmV0Xcm extends Enum {2087    readonly isWithdrawAsset: boolean;2088    readonly asWithdrawAsset: {2089      readonly assets: Vec<XcmV0MultiAsset>;2090      readonly effects: Vec<XcmV0Order>;2091    } & Struct;2092    readonly isReserveAssetDeposit: boolean;2093    readonly asReserveAssetDeposit: {2094      readonly assets: Vec<XcmV0MultiAsset>;2095      readonly effects: Vec<XcmV0Order>;2096    } & Struct;2097    readonly isTeleportAsset: boolean;2098    readonly asTeleportAsset: {2099      readonly assets: Vec<XcmV0MultiAsset>;2100      readonly effects: Vec<XcmV0Order>;2101    } & Struct;2102    readonly isQueryResponse: boolean;2103    readonly asQueryResponse: {2104      readonly queryId: Compact<u64>;2105      readonly response: XcmV0Response;2106    } & Struct;2107    readonly isTransferAsset: boolean;2108    readonly asTransferAsset: {2109      readonly assets: Vec<XcmV0MultiAsset>;2110      readonly dest: XcmV0MultiLocation;2111    } & Struct;2112    readonly isTransferReserveAsset: boolean;2113    readonly asTransferReserveAsset: {2114      readonly assets: Vec<XcmV0MultiAsset>;2115      readonly dest: XcmV0MultiLocation;2116      readonly effects: Vec<XcmV0Order>;2117    } & Struct;2118    readonly isTransact: boolean;2119    readonly asTransact: {2120      readonly originType: XcmV0OriginKind;2121      readonly requireWeightAtMost: u64;2122      readonly call: XcmDoubleEncoded;2123    } & Struct;2124    readonly isHrmpNewChannelOpenRequest: boolean;2125    readonly asHrmpNewChannelOpenRequest: {2126      readonly sender: Compact<u32>;2127      readonly maxMessageSize: Compact<u32>;2128      readonly maxCapacity: Compact<u32>;2129    } & Struct;2130    readonly isHrmpChannelAccepted: boolean;2131    readonly asHrmpChannelAccepted: {2132      readonly recipient: Compact<u32>;2133    } & Struct;2134    readonly isHrmpChannelClosing: boolean;2135    readonly asHrmpChannelClosing: {2136      readonly initiator: Compact<u32>;2137      readonly sender: Compact<u32>;2138      readonly recipient: Compact<u32>;2139    } & Struct;2140    readonly isRelayedFrom: boolean;2141    readonly asRelayedFrom: {2142      readonly who: XcmV0MultiLocation;2143      readonly message: XcmV0Xcm;2144    } & Struct;2145    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2146  }21472148  /** @name XcmV0Order (210) */2149  interface XcmV0Order extends Enum {2150    readonly isNull: boolean;2151    readonly isDepositAsset: boolean;2152    readonly asDepositAsset: {2153      readonly assets: Vec<XcmV0MultiAsset>;2154      readonly dest: XcmV0MultiLocation;2155    } & Struct;2156    readonly isDepositReserveAsset: boolean;2157    readonly asDepositReserveAsset: {2158      readonly assets: Vec<XcmV0MultiAsset>;2159      readonly dest: XcmV0MultiLocation;2160      readonly effects: Vec<XcmV0Order>;2161    } & Struct;2162    readonly isExchangeAsset: boolean;2163    readonly asExchangeAsset: {2164      readonly give: Vec<XcmV0MultiAsset>;2165      readonly receive: Vec<XcmV0MultiAsset>;2166    } & Struct;2167    readonly isInitiateReserveWithdraw: boolean;2168    readonly asInitiateReserveWithdraw: {2169      readonly assets: Vec<XcmV0MultiAsset>;2170      readonly reserve: XcmV0MultiLocation;2171      readonly effects: Vec<XcmV0Order>;2172    } & Struct;2173    readonly isInitiateTeleport: boolean;2174    readonly asInitiateTeleport: {2175      readonly assets: Vec<XcmV0MultiAsset>;2176      readonly dest: XcmV0MultiLocation;2177      readonly effects: Vec<XcmV0Order>;2178    } & Struct;2179    readonly isQueryHolding: boolean;2180    readonly asQueryHolding: {2181      readonly queryId: Compact<u64>;2182      readonly dest: XcmV0MultiLocation;2183      readonly assets: Vec<XcmV0MultiAsset>;2184    } & Struct;2185    readonly isBuyExecution: boolean;2186    readonly asBuyExecution: {2187      readonly fees: XcmV0MultiAsset;2188      readonly weight: u64;2189      readonly debt: u64;2190      readonly haltOnError: bool;2191      readonly xcm: Vec<XcmV0Xcm>;2192    } & Struct;2193    readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2194  }21952196  /** @name XcmV0Response (212) */2197  interface XcmV0Response extends Enum {2198    readonly isAssets: boolean;2199    readonly asAssets: Vec<XcmV0MultiAsset>;2200    readonly type: 'Assets';2201  }22022203  /** @name XcmV1Xcm (213) */2204  interface XcmV1Xcm extends Enum {2205    readonly isWithdrawAsset: boolean;2206    readonly asWithdrawAsset: {2207      readonly assets: XcmV1MultiassetMultiAssets;2208      readonly effects: Vec<XcmV1Order>;2209    } & Struct;2210    readonly isReserveAssetDeposited: boolean;2211    readonly asReserveAssetDeposited: {2212      readonly assets: XcmV1MultiassetMultiAssets;2213      readonly effects: Vec<XcmV1Order>;2214    } & Struct;2215    readonly isReceiveTeleportedAsset: boolean;2216    readonly asReceiveTeleportedAsset: {2217      readonly assets: XcmV1MultiassetMultiAssets;2218      readonly effects: Vec<XcmV1Order>;2219    } & Struct;2220    readonly isQueryResponse: boolean;2221    readonly asQueryResponse: {2222      readonly queryId: Compact<u64>;2223      readonly response: XcmV1Response;2224    } & Struct;2225    readonly isTransferAsset: boolean;2226    readonly asTransferAsset: {2227      readonly assets: XcmV1MultiassetMultiAssets;2228      readonly beneficiary: XcmV1MultiLocation;2229    } & Struct;2230    readonly isTransferReserveAsset: boolean;2231    readonly asTransferReserveAsset: {2232      readonly assets: XcmV1MultiassetMultiAssets;2233      readonly dest: XcmV1MultiLocation;2234      readonly effects: Vec<XcmV1Order>;2235    } & Struct;2236    readonly isTransact: boolean;2237    readonly asTransact: {2238      readonly originType: XcmV0OriginKind;2239      readonly requireWeightAtMost: u64;2240      readonly call: XcmDoubleEncoded;2241    } & Struct;2242    readonly isHrmpNewChannelOpenRequest: boolean;2243    readonly asHrmpNewChannelOpenRequest: {2244      readonly sender: Compact<u32>;2245      readonly maxMessageSize: Compact<u32>;2246      readonly maxCapacity: Compact<u32>;2247    } & Struct;2248    readonly isHrmpChannelAccepted: boolean;2249    readonly asHrmpChannelAccepted: {2250      readonly recipient: Compact<u32>;2251    } & Struct;2252    readonly isHrmpChannelClosing: boolean;2253    readonly asHrmpChannelClosing: {2254      readonly initiator: Compact<u32>;2255      readonly sender: Compact<u32>;2256      readonly recipient: Compact<u32>;2257    } & Struct;2258    readonly isRelayedFrom: boolean;2259    readonly asRelayedFrom: {2260      readonly who: XcmV1MultilocationJunctions;2261      readonly message: XcmV1Xcm;2262    } & Struct;2263    readonly isSubscribeVersion: boolean;2264    readonly asSubscribeVersion: {2265      readonly queryId: Compact<u64>;2266      readonly maxResponseWeight: Compact<u64>;2267    } & Struct;2268    readonly isUnsubscribeVersion: boolean;2269    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2270  }22712272  /** @name XcmV1Order (215) */2273  interface XcmV1Order extends Enum {2274    readonly isNoop: boolean;2275    readonly isDepositAsset: boolean;2276    readonly asDepositAsset: {2277      readonly assets: XcmV1MultiassetMultiAssetFilter;2278      readonly maxAssets: u32;2279      readonly beneficiary: XcmV1MultiLocation;2280    } & Struct;2281    readonly isDepositReserveAsset: boolean;2282    readonly asDepositReserveAsset: {2283      readonly assets: XcmV1MultiassetMultiAssetFilter;2284      readonly maxAssets: u32;2285      readonly dest: XcmV1MultiLocation;2286      readonly effects: Vec<XcmV1Order>;2287    } & Struct;2288    readonly isExchangeAsset: boolean;2289    readonly asExchangeAsset: {2290      readonly give: XcmV1MultiassetMultiAssetFilter;2291      readonly receive: XcmV1MultiassetMultiAssets;2292    } & Struct;2293    readonly isInitiateReserveWithdraw: boolean;2294    readonly asInitiateReserveWithdraw: {2295      readonly assets: XcmV1MultiassetMultiAssetFilter;2296      readonly reserve: XcmV1MultiLocation;2297      readonly effects: Vec<XcmV1Order>;2298    } & Struct;2299    readonly isInitiateTeleport: boolean;2300    readonly asInitiateTeleport: {2301      readonly assets: XcmV1MultiassetMultiAssetFilter;2302      readonly dest: XcmV1MultiLocation;2303      readonly effects: Vec<XcmV1Order>;2304    } & Struct;2305    readonly isQueryHolding: boolean;2306    readonly asQueryHolding: {2307      readonly queryId: Compact<u64>;2308      readonly dest: XcmV1MultiLocation;2309      readonly assets: XcmV1MultiassetMultiAssetFilter;2310    } & Struct;2311    readonly isBuyExecution: boolean;2312    readonly asBuyExecution: {2313      readonly fees: XcmV1MultiAsset;2314      readonly weight: u64;2315      readonly debt: u64;2316      readonly haltOnError: bool;2317      readonly instructions: Vec<XcmV1Xcm>;2318    } & Struct;2319    readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2320  }23212322  /** @name XcmV1Response (217) */2323  interface XcmV1Response extends Enum {2324    readonly isAssets: boolean;2325    readonly asAssets: XcmV1MultiassetMultiAssets;2326    readonly isVersion: boolean;2327    readonly asVersion: u32;2328    readonly type: 'Assets' | 'Version';2329  }23302331  /** @name CumulusPalletXcmCall (231) */2332  type CumulusPalletXcmCall = Null;23332334  /** @name CumulusPalletDmpQueueCall (232) */2335  interface CumulusPalletDmpQueueCall extends Enum {2336    readonly isServiceOverweight: boolean;2337    readonly asServiceOverweight: {2338      readonly index: u64;2339      readonly weightLimit: u64;2340    } & Struct;2341    readonly type: 'ServiceOverweight';2342  }23432344  /** @name PalletInflationCall (233) */2345  interface PalletInflationCall extends Enum {2346    readonly isStartInflation: boolean;2347    readonly asStartInflation: {2348      readonly inflationStartRelayBlock: u32;2349    } & Struct;2350    readonly type: 'StartInflation';2351  }23522353  /** @name PalletUniqueCall (234) */2354  interface PalletUniqueCall extends Enum {2355    readonly isCreateCollection: boolean;2356    readonly asCreateCollection: {2357      readonly collectionName: Vec<u16>;2358      readonly collectionDescription: Vec<u16>;2359      readonly tokenPrefix: Bytes;2360      readonly mode: UpDataStructsCollectionMode;2361    } & Struct;2362    readonly isCreateCollectionEx: boolean;2363    readonly asCreateCollectionEx: {2364      readonly data: UpDataStructsCreateCollectionData;2365    } & Struct;2366    readonly isDestroyCollection: boolean;2367    readonly asDestroyCollection: {2368      readonly collectionId: u32;2369    } & Struct;2370    readonly isAddToAllowList: boolean;2371    readonly asAddToAllowList: {2372      readonly collectionId: u32;2373      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2374    } & Struct;2375    readonly isRemoveFromAllowList: boolean;2376    readonly asRemoveFromAllowList: {2377      readonly collectionId: u32;2378      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2379    } & Struct;2380    readonly isChangeCollectionOwner: boolean;2381    readonly asChangeCollectionOwner: {2382      readonly collectionId: u32;2383      readonly newOwner: AccountId32;2384    } & Struct;2385    readonly isAddCollectionAdmin: boolean;2386    readonly asAddCollectionAdmin: {2387      readonly collectionId: u32;2388      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2389    } & Struct;2390    readonly isRemoveCollectionAdmin: boolean;2391    readonly asRemoveCollectionAdmin: {2392      readonly collectionId: u32;2393      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2394    } & Struct;2395    readonly isSetCollectionSponsor: boolean;2396    readonly asSetCollectionSponsor: {2397      readonly collectionId: u32;2398      readonly newSponsor: AccountId32;2399    } & Struct;2400    readonly isConfirmSponsorship: boolean;2401    readonly asConfirmSponsorship: {2402      readonly collectionId: u32;2403    } & Struct;2404    readonly isRemoveCollectionSponsor: boolean;2405    readonly asRemoveCollectionSponsor: {2406      readonly collectionId: u32;2407    } & Struct;2408    readonly isCreateItem: boolean;2409    readonly asCreateItem: {2410      readonly collectionId: u32;2411      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2412      readonly data: UpDataStructsCreateItemData;2413    } & Struct;2414    readonly isCreateMultipleItems: boolean;2415    readonly asCreateMultipleItems: {2416      readonly collectionId: u32;2417      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2418      readonly itemsData: Vec<UpDataStructsCreateItemData>;2419    } & Struct;2420    readonly isSetCollectionProperties: boolean;2421    readonly asSetCollectionProperties: {2422      readonly collectionId: u32;2423      readonly properties: Vec<UpDataStructsProperty>;2424    } & Struct;2425    readonly isDeleteCollectionProperties: boolean;2426    readonly asDeleteCollectionProperties: {2427      readonly collectionId: u32;2428      readonly propertyKeys: Vec<Bytes>;2429    } & Struct;2430    readonly isSetTokenProperties: boolean;2431    readonly asSetTokenProperties: {2432      readonly collectionId: u32;2433      readonly tokenId: u32;2434      readonly properties: Vec<UpDataStructsProperty>;2435    } & Struct;2436    readonly isDeleteTokenProperties: boolean;2437    readonly asDeleteTokenProperties: {2438      readonly collectionId: u32;2439      readonly tokenId: u32;2440      readonly propertyKeys: Vec<Bytes>;2441    } & Struct;2442    readonly isSetTokenPropertyPermissions: boolean;2443    readonly asSetTokenPropertyPermissions: {2444      readonly collectionId: u32;2445      readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2446    } & Struct;2447    readonly isCreateMultipleItemsEx: boolean;2448    readonly asCreateMultipleItemsEx: {2449      readonly collectionId: u32;2450      readonly data: UpDataStructsCreateItemExData;2451    } & Struct;2452    readonly isSetTransfersEnabledFlag: boolean;2453    readonly asSetTransfersEnabledFlag: {2454      readonly collectionId: u32;2455      readonly value: bool;2456    } & Struct;2457    readonly isBurnItem: boolean;2458    readonly asBurnItem: {2459      readonly collectionId: u32;2460      readonly itemId: u32;2461      readonly value: u128;2462    } & Struct;2463    readonly isBurnFrom: boolean;2464    readonly asBurnFrom: {2465      readonly collectionId: u32;2466      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2467      readonly itemId: u32;2468      readonly value: u128;2469    } & Struct;2470    readonly isTransfer: boolean;2471    readonly asTransfer: {2472      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2473      readonly collectionId: u32;2474      readonly itemId: u32;2475      readonly value: u128;2476    } & Struct;2477    readonly isApprove: boolean;2478    readonly asApprove: {2479      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2480      readonly collectionId: u32;2481      readonly itemId: u32;2482      readonly amount: u128;2483    } & Struct;2484    readonly isTransferFrom: boolean;2485    readonly asTransferFrom: {2486      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2487      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2488      readonly collectionId: u32;2489      readonly itemId: u32;2490      readonly value: u128;2491    } & Struct;2492    readonly isSetCollectionLimits: boolean;2493    readonly asSetCollectionLimits: {2494      readonly collectionId: u32;2495      readonly newLimit: UpDataStructsCollectionLimits;2496    } & Struct;2497    readonly isSetCollectionPermissions: boolean;2498    readonly asSetCollectionPermissions: {2499      readonly collectionId: u32;2500      readonly newPermission: UpDataStructsCollectionPermissions;2501    } & Struct;2502    readonly isRepartition: boolean;2503    readonly asRepartition: {2504      readonly collectionId: u32;2505      readonly tokenId: u32;2506      readonly amount: u128;2507    } & Struct;2508    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';2509  }25102511  /** @name UpDataStructsCollectionMode (239) */2512  interface UpDataStructsCollectionMode extends Enum {2513    readonly isNft: boolean;2514    readonly isFungible: boolean;2515    readonly asFungible: u8;2516    readonly isReFungible: boolean;2517    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2518  }25192520  /** @name UpDataStructsCreateCollectionData (240) */2521  interface UpDataStructsCreateCollectionData extends Struct {2522    readonly mode: UpDataStructsCollectionMode;2523    readonly access: Option<UpDataStructsAccessMode>;2524    readonly name: Vec<u16>;2525    readonly description: Vec<u16>;2526    readonly tokenPrefix: Bytes;2527    readonly pendingSponsor: Option<AccountId32>;2528    readonly limits: Option<UpDataStructsCollectionLimits>;2529    readonly permissions: Option<UpDataStructsCollectionPermissions>;2530    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2531    readonly properties: Vec<UpDataStructsProperty>;2532  }25332534  /** @name UpDataStructsAccessMode (242) */2535  interface UpDataStructsAccessMode extends Enum {2536    readonly isNormal: boolean;2537    readonly isAllowList: boolean;2538    readonly type: 'Normal' | 'AllowList';2539  }25402541  /** @name UpDataStructsCollectionLimits (244) */2542  interface UpDataStructsCollectionLimits extends Struct {2543    readonly accountTokenOwnershipLimit: Option<u32>;2544    readonly sponsoredDataSize: Option<u32>;2545    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2546    readonly tokenLimit: Option<u32>;2547    readonly sponsorTransferTimeout: Option<u32>;2548    readonly sponsorApproveTimeout: Option<u32>;2549    readonly ownerCanTransfer: Option<bool>;2550    readonly ownerCanDestroy: Option<bool>;2551    readonly transfersEnabled: Option<bool>;2552  }25532554  /** @name UpDataStructsSponsoringRateLimit (246) */2555  interface UpDataStructsSponsoringRateLimit extends Enum {2556    readonly isSponsoringDisabled: boolean;2557    readonly isBlocks: boolean;2558    readonly asBlocks: u32;2559    readonly type: 'SponsoringDisabled' | 'Blocks';2560  }25612562  /** @name UpDataStructsCollectionPermissions (249) */2563  interface UpDataStructsCollectionPermissions extends Struct {2564    readonly access: Option<UpDataStructsAccessMode>;2565    readonly mintMode: Option<bool>;2566    readonly nesting: Option<UpDataStructsNestingPermissions>;2567  }25682569  /** @name UpDataStructsNestingPermissions (251) */2570  interface UpDataStructsNestingPermissions extends Struct {2571    readonly tokenOwner: bool;2572    readonly collectionAdmin: bool;2573    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2574  }25752576  /** @name UpDataStructsOwnerRestrictedSet (253) */2577  interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}25782579  /** @name UpDataStructsPropertyKeyPermission (258) */2580  interface UpDataStructsPropertyKeyPermission extends Struct {2581    readonly key: Bytes;2582    readonly permission: UpDataStructsPropertyPermission;2583  }25842585  /** @name UpDataStructsPropertyPermission (259) */2586  interface UpDataStructsPropertyPermission extends Struct {2587    readonly mutable: bool;2588    readonly collectionAdmin: bool;2589    readonly tokenOwner: bool;2590  }25912592  /** @name UpDataStructsProperty (262) */2593  interface UpDataStructsProperty extends Struct {2594    readonly key: Bytes;2595    readonly value: Bytes;2596  }25972598  /** @name UpDataStructsCreateItemData (265) */2599  interface UpDataStructsCreateItemData extends Enum {2600    readonly isNft: boolean;2601    readonly asNft: UpDataStructsCreateNftData;2602    readonly isFungible: boolean;2603    readonly asFungible: UpDataStructsCreateFungibleData;2604    readonly isReFungible: boolean;2605    readonly asReFungible: UpDataStructsCreateReFungibleData;2606    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2607  }26082609  /** @name UpDataStructsCreateNftData (266) */2610  interface UpDataStructsCreateNftData extends Struct {2611    readonly properties: Vec<UpDataStructsProperty>;2612  }26132614  /** @name UpDataStructsCreateFungibleData (267) */2615  interface UpDataStructsCreateFungibleData extends Struct {2616    readonly value: u128;2617  }26182619  /** @name UpDataStructsCreateReFungibleData (268) */2620  interface UpDataStructsCreateReFungibleData extends Struct {2621    readonly pieces: u128;2622    readonly properties: Vec<UpDataStructsProperty>;2623  }26242625  /** @name UpDataStructsCreateItemExData (271) */2626  interface UpDataStructsCreateItemExData extends Enum {2627    readonly isNft: boolean;2628    readonly asNft: Vec<UpDataStructsCreateNftExData>;2629    readonly isFungible: boolean;2630    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2631    readonly isRefungibleMultipleItems: boolean;2632    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2633    readonly isRefungibleMultipleOwners: boolean;2634    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2635    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2636  }26372638  /** @name UpDataStructsCreateNftExData (273) */2639  interface UpDataStructsCreateNftExData extends Struct {2640    readonly properties: Vec<UpDataStructsProperty>;2641    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2642  }26432644  /** @name UpDataStructsCreateRefungibleExSingleOwner (280) */2645  interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2646    readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2647    readonly pieces: u128;2648    readonly properties: Vec<UpDataStructsProperty>;2649  }26502651  /** @name UpDataStructsCreateRefungibleExMultipleOwners (282) */2652  interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2653    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2654    readonly properties: Vec<UpDataStructsProperty>;2655  }26562657  /** @name PalletUniqueSchedulerCall (283) */2658  interface PalletUniqueSchedulerCall extends Enum {2659    readonly isScheduleNamed: boolean;2660    readonly asScheduleNamed: {2661      readonly id: U8aFixed;2662      readonly when: u32;2663      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2664      readonly priority: u8;2665      readonly call: FrameSupportScheduleMaybeHashed;2666    } & Struct;2667    readonly isCancelNamed: boolean;2668    readonly asCancelNamed: {2669      readonly id: U8aFixed;2670    } & Struct;2671    readonly isScheduleNamedAfter: boolean;2672    readonly asScheduleNamedAfter: {2673      readonly id: U8aFixed;2674      readonly after: u32;2675      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2676      readonly priority: u8;2677      readonly call: FrameSupportScheduleMaybeHashed;2678    } & Struct;2679    readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter';2680  }26812682  /** @name FrameSupportScheduleMaybeHashed (285) */2683  interface FrameSupportScheduleMaybeHashed extends Enum {2684    readonly isValue: boolean;2685    readonly asValue: Call;2686    readonly isHash: boolean;2687    readonly asHash: H256;2688    readonly type: 'Value' | 'Hash';2689  }26902691  /** @name PalletConfigurationCall (286) */2692  interface PalletConfigurationCall extends Enum {2693    readonly isSetWeightToFeeCoefficientOverride: boolean;2694    readonly asSetWeightToFeeCoefficientOverride: {2695      readonly coeff: Option<u32>;2696    } & Struct;2697    readonly isSetMinGasPriceOverride: boolean;2698    readonly asSetMinGasPriceOverride: {2699      readonly coeff: Option<u64>;2700    } & Struct;2701    readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';2702  }27032704  /** @name PalletTemplateTransactionPaymentCall (287) */2705  type PalletTemplateTransactionPaymentCall = Null;27062707  /** @name PalletStructureCall (288) */2708  type PalletStructureCall = Null;27092710  /** @name PalletRmrkCoreCall (289) */2711  interface PalletRmrkCoreCall extends Enum {2712    readonly isCreateCollection: boolean;2713    readonly asCreateCollection: {2714      readonly metadata: Bytes;2715      readonly max: Option<u32>;2716      readonly symbol: Bytes;2717    } & Struct;2718    readonly isDestroyCollection: boolean;2719    readonly asDestroyCollection: {2720      readonly collectionId: u32;2721    } & Struct;2722    readonly isChangeCollectionIssuer: boolean;2723    readonly asChangeCollectionIssuer: {2724      readonly collectionId: u32;2725      readonly newIssuer: MultiAddress;2726    } & Struct;2727    readonly isLockCollection: boolean;2728    readonly asLockCollection: {2729      readonly collectionId: u32;2730    } & Struct;2731    readonly isMintNft: boolean;2732    readonly asMintNft: {2733      readonly owner: Option<AccountId32>;2734      readonly collectionId: u32;2735      readonly recipient: Option<AccountId32>;2736      readonly royaltyAmount: Option<Permill>;2737      readonly metadata: Bytes;2738      readonly transferable: bool;2739      readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;2740    } & Struct;2741    readonly isBurnNft: boolean;2742    readonly asBurnNft: {2743      readonly collectionId: u32;2744      readonly nftId: u32;2745      readonly maxBurns: u32;2746    } & Struct;2747    readonly isSend: boolean;2748    readonly asSend: {2749      readonly rmrkCollectionId: u32;2750      readonly rmrkNftId: u32;2751      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2752    } & Struct;2753    readonly isAcceptNft: boolean;2754    readonly asAcceptNft: {2755      readonly rmrkCollectionId: u32;2756      readonly rmrkNftId: u32;2757      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2758    } & Struct;2759    readonly isRejectNft: boolean;2760    readonly asRejectNft: {2761      readonly rmrkCollectionId: u32;2762      readonly rmrkNftId: u32;2763    } & Struct;2764    readonly isAcceptResource: boolean;2765    readonly asAcceptResource: {2766      readonly rmrkCollectionId: u32;2767      readonly rmrkNftId: u32;2768      readonly resourceId: u32;2769    } & Struct;2770    readonly isAcceptResourceRemoval: boolean;2771    readonly asAcceptResourceRemoval: {2772      readonly rmrkCollectionId: u32;2773      readonly rmrkNftId: u32;2774      readonly resourceId: u32;2775    } & Struct;2776    readonly isSetProperty: boolean;2777    readonly asSetProperty: {2778      readonly rmrkCollectionId: Compact<u32>;2779      readonly maybeNftId: Option<u32>;2780      readonly key: Bytes;2781      readonly value: Bytes;2782    } & Struct;2783    readonly isSetPriority: boolean;2784    readonly asSetPriority: {2785      readonly rmrkCollectionId: u32;2786      readonly rmrkNftId: u32;2787      readonly priorities: Vec<u32>;2788    } & Struct;2789    readonly isAddBasicResource: boolean;2790    readonly asAddBasicResource: {2791      readonly rmrkCollectionId: u32;2792      readonly nftId: u32;2793      readonly resource: RmrkTraitsResourceBasicResource;2794    } & Struct;2795    readonly isAddComposableResource: boolean;2796    readonly asAddComposableResource: {2797      readonly rmrkCollectionId: u32;2798      readonly nftId: u32;2799      readonly resource: RmrkTraitsResourceComposableResource;2800    } & Struct;2801    readonly isAddSlotResource: boolean;2802    readonly asAddSlotResource: {2803      readonly rmrkCollectionId: u32;2804      readonly nftId: u32;2805      readonly resource: RmrkTraitsResourceSlotResource;2806    } & Struct;2807    readonly isRemoveResource: boolean;2808    readonly asRemoveResource: {2809      readonly rmrkCollectionId: u32;2810      readonly nftId: u32;2811      readonly resourceId: u32;2812    } & Struct;2813    readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2814  }28152816  /** @name RmrkTraitsResourceResourceTypes (295) */2817  interface RmrkTraitsResourceResourceTypes extends Enum {2818    readonly isBasic: boolean;2819    readonly asBasic: RmrkTraitsResourceBasicResource;2820    readonly isComposable: boolean;2821    readonly asComposable: RmrkTraitsResourceComposableResource;2822    readonly isSlot: boolean;2823    readonly asSlot: RmrkTraitsResourceSlotResource;2824    readonly type: 'Basic' | 'Composable' | 'Slot';2825  }28262827  /** @name RmrkTraitsResourceBasicResource (297) */2828  interface RmrkTraitsResourceBasicResource extends Struct {2829    readonly src: Option<Bytes>;2830    readonly metadata: Option<Bytes>;2831    readonly license: Option<Bytes>;2832    readonly thumb: Option<Bytes>;2833  }28342835  /** @name RmrkTraitsResourceComposableResource (299) */2836  interface RmrkTraitsResourceComposableResource extends Struct {2837    readonly parts: Vec<u32>;2838    readonly base: u32;2839    readonly src: Option<Bytes>;2840    readonly metadata: Option<Bytes>;2841    readonly license: Option<Bytes>;2842    readonly thumb: Option<Bytes>;2843  }28442845  /** @name RmrkTraitsResourceSlotResource (300) */2846  interface RmrkTraitsResourceSlotResource extends Struct {2847    readonly base: u32;2848    readonly src: Option<Bytes>;2849    readonly metadata: Option<Bytes>;2850    readonly slot: u32;2851    readonly license: Option<Bytes>;2852    readonly thumb: Option<Bytes>;2853  }28542855  /** @name PalletRmrkEquipCall (303) */2856  interface PalletRmrkEquipCall extends Enum {2857    readonly isCreateBase: boolean;2858    readonly asCreateBase: {2859      readonly baseType: Bytes;2860      readonly symbol: Bytes;2861      readonly parts: Vec<RmrkTraitsPartPartType>;2862    } & Struct;2863    readonly isThemeAdd: boolean;2864    readonly asThemeAdd: {2865      readonly baseId: u32;2866      readonly theme: RmrkTraitsTheme;2867    } & Struct;2868    readonly isEquippable: boolean;2869    readonly asEquippable: {2870      readonly baseId: u32;2871      readonly slotId: u32;2872      readonly equippables: RmrkTraitsPartEquippableList;2873    } & Struct;2874    readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2875  }28762877  /** @name RmrkTraitsPartPartType (306) */2878  interface RmrkTraitsPartPartType extends Enum {2879    readonly isFixedPart: boolean;2880    readonly asFixedPart: RmrkTraitsPartFixedPart;2881    readonly isSlotPart: boolean;2882    readonly asSlotPart: RmrkTraitsPartSlotPart;2883    readonly type: 'FixedPart' | 'SlotPart';2884  }28852886  /** @name RmrkTraitsPartFixedPart (308) */2887  interface RmrkTraitsPartFixedPart extends Struct {2888    readonly id: u32;2889    readonly z: u32;2890    readonly src: Bytes;2891  }28922893  /** @name RmrkTraitsPartSlotPart (309) */2894  interface RmrkTraitsPartSlotPart extends Struct {2895    readonly id: u32;2896    readonly equippable: RmrkTraitsPartEquippableList;2897    readonly src: Bytes;2898    readonly z: u32;2899  }29002901  /** @name RmrkTraitsPartEquippableList (310) */2902  interface RmrkTraitsPartEquippableList extends Enum {2903    readonly isAll: boolean;2904    readonly isEmpty: boolean;2905    readonly isCustom: boolean;2906    readonly asCustom: Vec<u32>;2907    readonly type: 'All' | 'Empty' | 'Custom';2908  }29092910  /** @name RmrkTraitsTheme (312) */2911  interface RmrkTraitsTheme extends Struct {2912    readonly name: Bytes;2913    readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2914    readonly inherit: bool;2915  }29162917  /** @name RmrkTraitsThemeThemeProperty (314) */2918  interface RmrkTraitsThemeThemeProperty extends Struct {2919    readonly key: Bytes;2920    readonly value: Bytes;2921  }29222923  /** @name PalletAppPromotionCall (316) */2924  interface PalletAppPromotionCall extends Enum {2925    readonly isSetAdminAddress: boolean;2926    readonly asSetAdminAddress: {2927      readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;2928    } & Struct;2929    readonly isStake: boolean;2930    readonly asStake: {2931      readonly amount: u128;2932    } & Struct;2933    readonly isUnstake: boolean;2934    readonly isSponsorCollection: boolean;2935    readonly asSponsorCollection: {2936      readonly collectionId: u32;2937    } & Struct;2938    readonly isStopSponsoringCollection: boolean;2939    readonly asStopSponsoringCollection: {2940      readonly collectionId: u32;2941    } & Struct;2942    readonly isSponsorContract: boolean;2943    readonly asSponsorContract: {2944      readonly contractId: H160;2945    } & Struct;2946    readonly isStopSponsoringContract: boolean;2947    readonly asStopSponsoringContract: {2948      readonly contractId: H160;2949    } & Struct;2950    readonly isPayoutStakers: boolean;2951    readonly asPayoutStakers: {2952      readonly stakersNumber: Option<u8>;2953    } & Struct;2954    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2955  }29562957  /** @name PalletForeignAssetsModuleCall (318) */2958  interface PalletForeignAssetsModuleCall extends Enum {2959    readonly isRegisterForeignAsset: boolean;2960    readonly asRegisterForeignAsset: {2961      readonly owner: AccountId32;2962      readonly location: XcmVersionedMultiLocation;2963      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2964    } & Struct;2965    readonly isUpdateForeignAsset: boolean;2966    readonly asUpdateForeignAsset: {2967      readonly foreignAssetId: u32;2968      readonly location: XcmVersionedMultiLocation;2969      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2970    } & Struct;2971    readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2972  }29732974  /** @name PalletEvmCall (319) */2975  interface PalletEvmCall extends Enum {2976    readonly isWithdraw: boolean;2977    readonly asWithdraw: {2978      readonly address: H160;2979      readonly value: u128;2980    } & Struct;2981    readonly isCall: boolean;2982    readonly asCall: {2983      readonly source: H160;2984      readonly target: H160;2985      readonly input: Bytes;2986      readonly value: U256;2987      readonly gasLimit: u64;2988      readonly maxFeePerGas: U256;2989      readonly maxPriorityFeePerGas: Option<U256>;2990      readonly nonce: Option<U256>;2991      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;2992    } & Struct;2993    readonly isCreate: boolean;2994    readonly asCreate: {2995      readonly source: H160;2996      readonly init: Bytes;2997      readonly value: U256;2998      readonly gasLimit: u64;2999      readonly maxFeePerGas: U256;3000      readonly maxPriorityFeePerGas: Option<U256>;3001      readonly nonce: Option<U256>;3002      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3003    } & Struct;3004    readonly isCreate2: boolean;3005    readonly asCreate2: {3006      readonly source: H160;3007      readonly init: Bytes;3008      readonly salt: H256;3009      readonly value: U256;3010      readonly gasLimit: u64;3011      readonly maxFeePerGas: U256;3012      readonly maxPriorityFeePerGas: Option<U256>;3013      readonly nonce: Option<U256>;3014      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3015    } & Struct;3016    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3017  }30183019  /** @name PalletEthereumCall (323) */3020  interface PalletEthereumCall extends Enum {3021    readonly isTransact: boolean;3022    readonly asTransact: {3023      readonly transaction: EthereumTransactionTransactionV2;3024    } & Struct;3025    readonly type: 'Transact';3026  }30273028  /** @name EthereumTransactionTransactionV2 (324) */3029  interface EthereumTransactionTransactionV2 extends Enum {3030    readonly isLegacy: boolean;3031    readonly asLegacy: EthereumTransactionLegacyTransaction;3032    readonly isEip2930: boolean;3033    readonly asEip2930: EthereumTransactionEip2930Transaction;3034    readonly isEip1559: boolean;3035    readonly asEip1559: EthereumTransactionEip1559Transaction;3036    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3037  }30383039  /** @name EthereumTransactionLegacyTransaction (325) */3040  interface EthereumTransactionLegacyTransaction extends Struct {3041    readonly nonce: U256;3042    readonly gasPrice: U256;3043    readonly gasLimit: U256;3044    readonly action: EthereumTransactionTransactionAction;3045    readonly value: U256;3046    readonly input: Bytes;3047    readonly signature: EthereumTransactionTransactionSignature;3048  }30493050  /** @name EthereumTransactionTransactionAction (326) */3051  interface EthereumTransactionTransactionAction extends Enum {3052    readonly isCall: boolean;3053    readonly asCall: H160;3054    readonly isCreate: boolean;3055    readonly type: 'Call' | 'Create';3056  }30573058  /** @name EthereumTransactionTransactionSignature (327) */3059  interface EthereumTransactionTransactionSignature extends Struct {3060    readonly v: u64;3061    readonly r: H256;3062    readonly s: H256;3063  }30643065  /** @name EthereumTransactionEip2930Transaction (329) */3066  interface EthereumTransactionEip2930Transaction extends Struct {3067    readonly chainId: u64;3068    readonly nonce: U256;3069    readonly gasPrice: U256;3070    readonly gasLimit: U256;3071    readonly action: EthereumTransactionTransactionAction;3072    readonly value: U256;3073    readonly input: Bytes;3074    readonly accessList: Vec<EthereumTransactionAccessListItem>;3075    readonly oddYParity: bool;3076    readonly r: H256;3077    readonly s: H256;3078  }30793080  /** @name EthereumTransactionAccessListItem (331) */3081  interface EthereumTransactionAccessListItem extends Struct {3082    readonly address: H160;3083    readonly storageKeys: Vec<H256>;3084  }30853086  /** @name EthereumTransactionEip1559Transaction (332) */3087  interface EthereumTransactionEip1559Transaction extends Struct {3088    readonly chainId: u64;3089    readonly nonce: U256;3090    readonly maxPriorityFeePerGas: U256;3091    readonly maxFeePerGas: U256;3092    readonly gasLimit: U256;3093    readonly action: EthereumTransactionTransactionAction;3094    readonly value: U256;3095    readonly input: Bytes;3096    readonly accessList: Vec<EthereumTransactionAccessListItem>;3097    readonly oddYParity: bool;3098    readonly r: H256;3099    readonly s: H256;3100  }31013102  /** @name PalletEvmMigrationCall (333) */3103  interface PalletEvmMigrationCall extends Enum {3104    readonly isBegin: boolean;3105    readonly asBegin: {3106      readonly address: H160;3107    } & Struct;3108    readonly isSetData: boolean;3109    readonly asSetData: {3110      readonly address: H160;3111      readonly data: Vec<ITuple<[H256, H256]>>;3112    } & Struct;3113    readonly isFinish: boolean;3114    readonly asFinish: {3115      readonly address: H160;3116      readonly code: Bytes;3117    } & Struct;3118    readonly type: 'Begin' | 'SetData' | 'Finish';3119  }31203121  /** @name PalletSudoError (336) */3122  interface PalletSudoError extends Enum {3123    readonly isRequireSudo: boolean;3124    readonly type: 'RequireSudo';3125  }31263127  /** @name OrmlVestingModuleError (338) */3128  interface OrmlVestingModuleError extends Enum {3129    readonly isZeroVestingPeriod: boolean;3130    readonly isZeroVestingPeriodCount: boolean;3131    readonly isInsufficientBalanceToLock: boolean;3132    readonly isTooManyVestingSchedules: boolean;3133    readonly isAmountLow: boolean;3134    readonly isMaxVestingSchedulesExceeded: boolean;3135    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3136  }31373138  /** @name OrmlXtokensModuleError (339) */3139  interface OrmlXtokensModuleError extends Enum {3140    readonly isAssetHasNoReserve: boolean;3141    readonly isNotCrossChainTransfer: boolean;3142    readonly isInvalidDest: boolean;3143    readonly isNotCrossChainTransferableCurrency: boolean;3144    readonly isUnweighableMessage: boolean;3145    readonly isXcmExecutionFailed: boolean;3146    readonly isCannotReanchor: boolean;3147    readonly isInvalidAncestry: boolean;3148    readonly isInvalidAsset: boolean;3149    readonly isDestinationNotInvertible: boolean;3150    readonly isBadVersion: boolean;3151    readonly isDistinctReserveForAssetAndFee: boolean;3152    readonly isZeroFee: boolean;3153    readonly isZeroAmount: boolean;3154    readonly isTooManyAssetsBeingSent: boolean;3155    readonly isAssetIndexNonExistent: boolean;3156    readonly isFeeNotEnough: boolean;3157    readonly isNotSupportedMultiLocation: boolean;3158    readonly isMinXcmFeeNotDefined: boolean;3159    readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3160  }31613162  /** @name OrmlTokensBalanceLock (342) */3163  interface OrmlTokensBalanceLock extends Struct {3164    readonly id: U8aFixed;3165    readonly amount: u128;3166  }31673168  /** @name OrmlTokensAccountData (344) */3169  interface OrmlTokensAccountData extends Struct {3170    readonly free: u128;3171    readonly reserved: u128;3172    readonly frozen: u128;3173  }31743175  /** @name OrmlTokensReserveData (346) */3176  interface OrmlTokensReserveData extends Struct {3177    readonly id: Null;3178    readonly amount: u128;3179  }31803181  /** @name OrmlTokensModuleError (348) */3182  interface OrmlTokensModuleError extends Enum {3183    readonly isBalanceTooLow: boolean;3184    readonly isAmountIntoBalanceFailed: boolean;3185    readonly isLiquidityRestrictions: boolean;3186    readonly isMaxLocksExceeded: boolean;3187    readonly isKeepAlive: boolean;3188    readonly isExistentialDeposit: boolean;3189    readonly isDeadAccount: boolean;3190    readonly isTooManyReserves: boolean;3191    readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3192  }31933194  /** @name CumulusPalletXcmpQueueInboundChannelDetails (350) */3195  interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3196    readonly sender: u32;3197    readonly state: CumulusPalletXcmpQueueInboundState;3198    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3199  }32003201  /** @name CumulusPalletXcmpQueueInboundState (351) */3202  interface CumulusPalletXcmpQueueInboundState extends Enum {3203    readonly isOk: boolean;3204    readonly isSuspended: boolean;3205    readonly type: 'Ok' | 'Suspended';3206  }32073208  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (354) */3209  interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3210    readonly isConcatenatedVersionedXcm: boolean;3211    readonly isConcatenatedEncodedBlob: boolean;3212    readonly isSignals: boolean;3213    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3214  }32153216  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (357) */3217  interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3218    readonly recipient: u32;3219    readonly state: CumulusPalletXcmpQueueOutboundState;3220    readonly signalsExist: bool;3221    readonly firstIndex: u16;3222    readonly lastIndex: u16;3223  }32243225  /** @name CumulusPalletXcmpQueueOutboundState (358) */3226  interface CumulusPalletXcmpQueueOutboundState extends Enum {3227    readonly isOk: boolean;3228    readonly isSuspended: boolean;3229    readonly type: 'Ok' | 'Suspended';3230  }32313232  /** @name CumulusPalletXcmpQueueQueueConfigData (360) */3233  interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3234    readonly suspendThreshold: u32;3235    readonly dropThreshold: u32;3236    readonly resumeThreshold: u32;3237    readonly thresholdWeight: u64;3238    readonly weightRestrictDecay: u64;3239    readonly xcmpMaxIndividualWeight: u64;3240  }32413242  /** @name CumulusPalletXcmpQueueError (362) */3243  interface CumulusPalletXcmpQueueError extends Enum {3244    readonly isFailedToSend: boolean;3245    readonly isBadXcmOrigin: boolean;3246    readonly isBadXcm: boolean;3247    readonly isBadOverweightIndex: boolean;3248    readonly isWeightOverLimit: boolean;3249    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3250  }32513252  /** @name PalletXcmError (363) */3253  interface PalletXcmError extends Enum {3254    readonly isUnreachable: boolean;3255    readonly isSendFailure: boolean;3256    readonly isFiltered: boolean;3257    readonly isUnweighableMessage: boolean;3258    readonly isDestinationNotInvertible: boolean;3259    readonly isEmpty: boolean;3260    readonly isCannotReanchor: boolean;3261    readonly isTooManyAssets: boolean;3262    readonly isInvalidOrigin: boolean;3263    readonly isBadVersion: boolean;3264    readonly isBadLocation: boolean;3265    readonly isNoSubscription: boolean;3266    readonly isAlreadySubscribed: boolean;3267    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3268  }32693270  /** @name CumulusPalletXcmError (364) */3271  type CumulusPalletXcmError = Null;32723273  /** @name CumulusPalletDmpQueueConfigData (365) */3274  interface CumulusPalletDmpQueueConfigData extends Struct {3275    readonly maxIndividual: u64;3276  }32773278  /** @name CumulusPalletDmpQueuePageIndexData (366) */3279  interface CumulusPalletDmpQueuePageIndexData extends Struct {3280    readonly beginUsed: u32;3281    readonly endUsed: u32;3282    readonly overweightCount: u64;3283  }32843285  /** @name CumulusPalletDmpQueueError (369) */3286  interface CumulusPalletDmpQueueError extends Enum {3287    readonly isUnknown: boolean;3288    readonly isOverLimit: boolean;3289    readonly type: 'Unknown' | 'OverLimit';3290  }32913292  /** @name PalletUniqueError (373) */3293  interface PalletUniqueError extends Enum {3294    readonly isCollectionDecimalPointLimitExceeded: boolean;3295    readonly isConfirmUnsetSponsorFail: boolean;3296    readonly isEmptyArgument: boolean;3297    readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3298    readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3299  }33003301  /** @name PalletUniqueSchedulerScheduledV3 (376) */3302  interface PalletUniqueSchedulerScheduledV3 extends Struct {3303    readonly maybeId: Option<U8aFixed>;3304    readonly priority: u8;3305    readonly call: FrameSupportScheduleMaybeHashed;3306    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;3307    readonly origin: OpalRuntimeOriginCaller;3308  }33093310  /** @name OpalRuntimeOriginCaller (377) */3311  interface OpalRuntimeOriginCaller extends Enum {3312    readonly isSystem: boolean;3313    readonly asSystem: FrameSupportDispatchRawOrigin;3314    readonly isVoid: boolean;3315    readonly isPolkadotXcm: boolean;3316    readonly asPolkadotXcm: PalletXcmOrigin;3317    readonly isCumulusXcm: boolean;3318    readonly asCumulusXcm: CumulusPalletXcmOrigin;3319    readonly isEthereum: boolean;3320    readonly asEthereum: PalletEthereumRawOrigin;3321    readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';3322  }33233324  /** @name FrameSupportDispatchRawOrigin (378) */3325  interface FrameSupportDispatchRawOrigin extends Enum {3326    readonly isRoot: boolean;3327    readonly isSigned: boolean;3328    readonly asSigned: AccountId32;3329    readonly isNone: boolean;3330    readonly type: 'Root' | 'Signed' | 'None';3331  }33323333  /** @name PalletXcmOrigin (379) */3334  interface PalletXcmOrigin extends Enum {3335    readonly isXcm: boolean;3336    readonly asXcm: XcmV1MultiLocation;3337    readonly isResponse: boolean;3338    readonly asResponse: XcmV1MultiLocation;3339    readonly type: 'Xcm' | 'Response';3340  }33413342  /** @name CumulusPalletXcmOrigin (380) */3343  interface CumulusPalletXcmOrigin extends Enum {3344    readonly isRelay: boolean;3345    readonly isSiblingParachain: boolean;3346    readonly asSiblingParachain: u32;3347    readonly type: 'Relay' | 'SiblingParachain';3348  }33493350  /** @name PalletEthereumRawOrigin (381) */3351  interface PalletEthereumRawOrigin extends Enum {3352    readonly isEthereumTransaction: boolean;3353    readonly asEthereumTransaction: H160;3354    readonly type: 'EthereumTransaction';3355  }33563357  /** @name SpCoreVoid (382) */3358  type SpCoreVoid = Null;33593360  /** @name PalletUniqueSchedulerError (383) */3361  interface PalletUniqueSchedulerError extends Enum {3362    readonly isFailedToSchedule: boolean;3363    readonly isNotFound: boolean;3364    readonly isTargetBlockNumberInPast: boolean;3365    readonly isRescheduleNoChange: boolean;3366    readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';3367  }33683369  /** @name UpDataStructsCollection (384) */3370  interface UpDataStructsCollection extends Struct {3371    readonly owner: AccountId32;3372    readonly mode: UpDataStructsCollectionMode;3373    readonly name: Vec<u16>;3374    readonly description: Vec<u16>;3375    readonly tokenPrefix: Bytes;3376    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3377    readonly limits: UpDataStructsCollectionLimits;3378    readonly permissions: UpDataStructsCollectionPermissions;3379    readonly flags: U8aFixed;3380  }33813382  /** @name UpDataStructsSponsorshipStateAccountId32 (385) */3383  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3384    readonly isDisabled: boolean;3385    readonly isUnconfirmed: boolean;3386    readonly asUnconfirmed: AccountId32;3387    readonly isConfirmed: boolean;3388    readonly asConfirmed: AccountId32;3389    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3390  }33913392  /** @name UpDataStructsProperties (387) */3393  interface UpDataStructsProperties extends Struct {3394    readonly map: UpDataStructsPropertiesMapBoundedVec;3395    readonly consumedSpace: u32;3396    readonly spaceLimit: u32;3397  }33983399  /** @name UpDataStructsPropertiesMapBoundedVec (388) */3400  interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}34013402  /** @name UpDataStructsPropertiesMapPropertyPermission (393) */3403  interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}34043405  /** @name UpDataStructsCollectionStats (400) */3406  interface UpDataStructsCollectionStats extends Struct {3407    readonly created: u32;3408    readonly destroyed: u32;3409    readonly alive: u32;3410  }34113412  /** @name UpDataStructsTokenChild (401) */3413  interface UpDataStructsTokenChild extends Struct {3414    readonly token: u32;3415    readonly collection: u32;3416  }34173418  /** @name PhantomTypeUpDataStructs (402) */3419  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}34203421  /** @name UpDataStructsTokenData (404) */3422  interface UpDataStructsTokenData extends Struct {3423    readonly properties: Vec<UpDataStructsProperty>;3424    readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3425    readonly pieces: u128;3426  }34273428  /** @name UpDataStructsRpcCollection (406) */3429  interface UpDataStructsRpcCollection extends Struct {3430    readonly owner: AccountId32;3431    readonly mode: UpDataStructsCollectionMode;3432    readonly name: Vec<u16>;3433    readonly description: Vec<u16>;3434    readonly tokenPrefix: Bytes;3435    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3436    readonly limits: UpDataStructsCollectionLimits;3437    readonly permissions: UpDataStructsCollectionPermissions;3438    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3439    readonly properties: Vec<UpDataStructsProperty>;3440    readonly readOnly: bool;3441    readonly foreign: bool;3442  }34433444  /** @name RmrkTraitsCollectionCollectionInfo (407) */3445  interface RmrkTraitsCollectionCollectionInfo extends Struct {3446    readonly issuer: AccountId32;3447    readonly metadata: Bytes;3448    readonly max: Option<u32>;3449    readonly symbol: Bytes;3450    readonly nftsCount: u32;3451  }34523453  /** @name RmrkTraitsNftNftInfo (408) */3454  interface RmrkTraitsNftNftInfo extends Struct {3455    readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3456    readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3457    readonly metadata: Bytes;3458    readonly equipped: bool;3459    readonly pending: bool;3460  }34613462  /** @name RmrkTraitsNftRoyaltyInfo (410) */3463  interface RmrkTraitsNftRoyaltyInfo extends Struct {3464    readonly recipient: AccountId32;3465    readonly amount: Permill;3466  }34673468  /** @name RmrkTraitsResourceResourceInfo (411) */3469  interface RmrkTraitsResourceResourceInfo extends Struct {3470    readonly id: u32;3471    readonly resource: RmrkTraitsResourceResourceTypes;3472    readonly pending: bool;3473    readonly pendingRemoval: bool;3474  }34753476  /** @name RmrkTraitsPropertyPropertyInfo (412) */3477  interface RmrkTraitsPropertyPropertyInfo extends Struct {3478    readonly key: Bytes;3479    readonly value: Bytes;3480  }34813482  /** @name RmrkTraitsBaseBaseInfo (413) */3483  interface RmrkTraitsBaseBaseInfo extends Struct {3484    readonly issuer: AccountId32;3485    readonly baseType: Bytes;3486    readonly symbol: Bytes;3487  }34883489  /** @name RmrkTraitsNftNftChild (414) */3490  interface RmrkTraitsNftNftChild extends Struct {3491    readonly collectionId: u32;3492    readonly nftId: u32;3493  }34943495  /** @name PalletCommonError (416) */3496  interface PalletCommonError extends Enum {3497    readonly isCollectionNotFound: boolean;3498    readonly isMustBeTokenOwner: boolean;3499    readonly isNoPermission: boolean;3500    readonly isCantDestroyNotEmptyCollection: boolean;3501    readonly isPublicMintingNotAllowed: boolean;3502    readonly isAddressNotInAllowlist: boolean;3503    readonly isCollectionNameLimitExceeded: boolean;3504    readonly isCollectionDescriptionLimitExceeded: boolean;3505    readonly isCollectionTokenPrefixLimitExceeded: boolean;3506    readonly isTotalCollectionsLimitExceeded: boolean;3507    readonly isCollectionAdminCountExceeded: boolean;3508    readonly isCollectionLimitBoundsExceeded: boolean;3509    readonly isOwnerPermissionsCantBeReverted: boolean;3510    readonly isTransferNotAllowed: boolean;3511    readonly isAccountTokenLimitExceeded: boolean;3512    readonly isCollectionTokenLimitExceeded: boolean;3513    readonly isMetadataFlagFrozen: boolean;3514    readonly isTokenNotFound: boolean;3515    readonly isTokenValueTooLow: boolean;3516    readonly isApprovedValueTooLow: boolean;3517    readonly isCantApproveMoreThanOwned: boolean;3518    readonly isAddressIsZero: boolean;3519    readonly isUnsupportedOperation: boolean;3520    readonly isNotSufficientFounds: boolean;3521    readonly isUserIsNotAllowedToNest: boolean;3522    readonly isSourceCollectionIsNotAllowedToNest: boolean;3523    readonly isCollectionFieldSizeExceeded: boolean;3524    readonly isNoSpaceForProperty: boolean;3525    readonly isPropertyLimitReached: boolean;3526    readonly isPropertyKeyIsTooLong: boolean;3527    readonly isInvalidCharacterInPropertyKey: boolean;3528    readonly isEmptyPropertyKey: boolean;3529    readonly isCollectionIsExternal: boolean;3530    readonly isCollectionIsInternal: boolean;3531    readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';3532  }35333534  /** @name PalletFungibleError (418) */3535  interface PalletFungibleError extends Enum {3536    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3537    readonly isFungibleItemsHaveNoId: boolean;3538    readonly isFungibleItemsDontHaveData: boolean;3539    readonly isFungibleDisallowsNesting: boolean;3540    readonly isSettingPropertiesNotAllowed: boolean;3541    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3542  }35433544  /** @name PalletRefungibleItemData (419) */3545  interface PalletRefungibleItemData extends Struct {3546    readonly constData: Bytes;3547  }35483549  /** @name PalletRefungibleError (424) */3550  interface PalletRefungibleError extends Enum {3551    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3552    readonly isWrongRefungiblePieces: boolean;3553    readonly isRepartitionWhileNotOwningAllPieces: boolean;3554    readonly isRefungibleDisallowsNesting: boolean;3555    readonly isSettingPropertiesNotAllowed: boolean;3556    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3557  }35583559  /** @name PalletNonfungibleItemData (425) */3560  interface PalletNonfungibleItemData extends Struct {3561    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3562  }35633564  /** @name UpDataStructsPropertyScope (427) */3565  interface UpDataStructsPropertyScope extends Enum {3566    readonly isNone: boolean;3567    readonly isRmrk: boolean;3568    readonly type: 'None' | 'Rmrk';3569  }35703571  /** @name PalletNonfungibleError (429) */3572  interface PalletNonfungibleError extends Enum {3573    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3574    readonly isNonfungibleItemsHaveNoAmount: boolean;3575    readonly isCantBurnNftWithChildren: boolean;3576    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3577  }35783579  /** @name PalletStructureError (430) */3580  interface PalletStructureError extends Enum {3581    readonly isOuroborosDetected: boolean;3582    readonly isDepthLimit: boolean;3583    readonly isBreadthLimit: boolean;3584    readonly isTokenNotFound: boolean;3585    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3586  }35873588  /** @name PalletRmrkCoreError (431) */3589  interface PalletRmrkCoreError extends Enum {3590    readonly isCorruptedCollectionType: boolean;3591    readonly isRmrkPropertyKeyIsTooLong: boolean;3592    readonly isRmrkPropertyValueIsTooLong: boolean;3593    readonly isRmrkPropertyIsNotFound: boolean;3594    readonly isUnableToDecodeRmrkData: boolean;3595    readonly isCollectionNotEmpty: boolean;3596    readonly isNoAvailableCollectionId: boolean;3597    readonly isNoAvailableNftId: boolean;3598    readonly isCollectionUnknown: boolean;3599    readonly isNoPermission: boolean;3600    readonly isNonTransferable: boolean;3601    readonly isCollectionFullOrLocked: boolean;3602    readonly isResourceDoesntExist: boolean;3603    readonly isCannotSendToDescendentOrSelf: boolean;3604    readonly isCannotAcceptNonOwnedNft: boolean;3605    readonly isCannotRejectNonOwnedNft: boolean;3606    readonly isCannotRejectNonPendingNft: boolean;3607    readonly isResourceNotPending: boolean;3608    readonly isNoAvailableResourceId: boolean;3609    readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3610  }36113612  /** @name PalletRmrkEquipError (433) */3613  interface PalletRmrkEquipError extends Enum {3614    readonly isPermissionError: boolean;3615    readonly isNoAvailableBaseId: boolean;3616    readonly isNoAvailablePartId: boolean;3617    readonly isBaseDoesntExist: boolean;3618    readonly isNeedsDefaultThemeFirst: boolean;3619    readonly isPartDoesntExist: boolean;3620    readonly isNoEquippableOnFixedPart: boolean;3621    readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3622  }36233624  /** @name PalletAppPromotionError (439) */3625  interface PalletAppPromotionError extends Enum {3626    readonly isAdminNotSet: boolean;3627    readonly isNoPermission: boolean;3628    readonly isNotSufficientFunds: boolean;3629    readonly isPendingForBlockOverflow: boolean;3630    readonly isSponsorNotSet: boolean;3631    readonly isIncorrectLockedBalanceOperation: boolean;3632    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3633  }36343635  /** @name PalletForeignAssetsModuleError (440) */3636  interface PalletForeignAssetsModuleError extends Enum {3637    readonly isBadLocation: boolean;3638    readonly isMultiLocationExisted: boolean;3639    readonly isAssetIdNotExists: boolean;3640    readonly isAssetIdExisted: boolean;3641    readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3642  }36433644  /** @name PalletEvmError (443) */3645  interface PalletEvmError extends Enum {3646    readonly isBalanceLow: boolean;3647    readonly isFeeOverflow: boolean;3648    readonly isPaymentOverflow: boolean;3649    readonly isWithdrawFailed: boolean;3650    readonly isGasPriceTooLow: boolean;3651    readonly isInvalidNonce: boolean;3652    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';3653  }36543655  /** @name FpRpcTransactionStatus (446) */3656  interface FpRpcTransactionStatus extends Struct {3657    readonly transactionHash: H256;3658    readonly transactionIndex: u32;3659    readonly from: H160;3660    readonly to: Option<H160>;3661    readonly contractAddress: Option<H160>;3662    readonly logs: Vec<EthereumLog>;3663    readonly logsBloom: EthbloomBloom;3664  }36653666  /** @name EthbloomBloom (448) */3667  interface EthbloomBloom extends U8aFixed {}36683669  /** @name EthereumReceiptReceiptV3 (450) */3670  interface EthereumReceiptReceiptV3 extends Enum {3671    readonly isLegacy: boolean;3672    readonly asLegacy: EthereumReceiptEip658ReceiptData;3673    readonly isEip2930: boolean;3674    readonly asEip2930: EthereumReceiptEip658ReceiptData;3675    readonly isEip1559: boolean;3676    readonly asEip1559: EthereumReceiptEip658ReceiptData;3677    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3678  }36793680  /** @name EthereumReceiptEip658ReceiptData (451) */3681  interface EthereumReceiptEip658ReceiptData extends Struct {3682    readonly statusCode: u8;3683    readonly usedGas: U256;3684    readonly logsBloom: EthbloomBloom;3685    readonly logs: Vec<EthereumLog>;3686  }36873688  /** @name EthereumBlock (452) */3689  interface EthereumBlock extends Struct {3690    readonly header: EthereumHeader;3691    readonly transactions: Vec<EthereumTransactionTransactionV2>;3692    readonly ommers: Vec<EthereumHeader>;3693  }36943695  /** @name EthereumHeader (453) */3696  interface EthereumHeader extends Struct {3697    readonly parentHash: H256;3698    readonly ommersHash: H256;3699    readonly beneficiary: H160;3700    readonly stateRoot: H256;3701    readonly transactionsRoot: H256;3702    readonly receiptsRoot: H256;3703    readonly logsBloom: EthbloomBloom;3704    readonly difficulty: U256;3705    readonly number: U256;3706    readonly gasLimit: U256;3707    readonly gasUsed: U256;3708    readonly timestamp: u64;3709    readonly extraData: Bytes;3710    readonly mixHash: H256;3711    readonly nonce: EthereumTypesHashH64;3712  }37133714  /** @name EthereumTypesHashH64 (454) */3715  interface EthereumTypesHashH64 extends U8aFixed {}37163717  /** @name PalletEthereumError (459) */3718  interface PalletEthereumError extends Enum {3719    readonly isInvalidSignature: boolean;3720    readonly isPreLogExists: boolean;3721    readonly type: 'InvalidSignature' | 'PreLogExists';3722  }37233724  /** @name PalletEvmCoderSubstrateError (460) */3725  interface PalletEvmCoderSubstrateError extends Enum {3726    readonly isOutOfGas: boolean;3727    readonly isOutOfFund: boolean;3728    readonly type: 'OutOfGas' | 'OutOfFund';3729  }37303731  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (461) */3732  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3733    readonly isDisabled: boolean;3734    readonly isUnconfirmed: boolean;3735    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3736    readonly isConfirmed: boolean;3737    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3738    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3739  }37403741  /** @name PalletEvmContractHelpersSponsoringModeT (462) */3742  interface PalletEvmContractHelpersSponsoringModeT extends Enum {3743    readonly isDisabled: boolean;3744    readonly isAllowlisted: boolean;3745    readonly isGenerous: boolean;3746    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3747  }37483749  /** @name PalletEvmContractHelpersError (468) */3750  interface PalletEvmContractHelpersError extends Enum {3751    readonly isNoPermission: boolean;3752    readonly isNoPendingSponsor: boolean;3753    readonly isTooManyMethodsHaveSponsoredLimit: boolean;3754    readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3755  }37563757  /** @name PalletEvmMigrationError (469) */3758  interface PalletEvmMigrationError extends Enum {3759    readonly isAccountNotEmpty: boolean;3760    readonly isAccountIsNotMigrating: boolean;3761    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';3762  }37633764  /** @name SpRuntimeMultiSignature (471) */3765  interface SpRuntimeMultiSignature extends Enum {3766    readonly isEd25519: boolean;3767    readonly asEd25519: SpCoreEd25519Signature;3768    readonly isSr25519: boolean;3769    readonly asSr25519: SpCoreSr25519Signature;3770    readonly isEcdsa: boolean;3771    readonly asEcdsa: SpCoreEcdsaSignature;3772    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3773  }37743775  /** @name SpCoreEd25519Signature (472) */3776  interface SpCoreEd25519Signature extends U8aFixed {}37773778  /** @name SpCoreSr25519Signature (474) */3779  interface SpCoreSr25519Signature extends U8aFixed {}37803781  /** @name SpCoreEcdsaSignature (475) */3782  interface SpCoreEcdsaSignature extends U8aFixed {}37833784  /** @name FrameSystemExtensionsCheckSpecVersion (478) */3785  type FrameSystemExtensionsCheckSpecVersion = Null;37863787  /** @name FrameSystemExtensionsCheckGenesis (479) */3788  type FrameSystemExtensionsCheckGenesis = Null;37893790  /** @name FrameSystemExtensionsCheckNonce (482) */3791  interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}37923793  /** @name FrameSystemExtensionsCheckWeight (483) */3794  type FrameSystemExtensionsCheckWeight = Null;37953796  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (484) */3797  interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}37983799  /** @name OpalRuntimeRuntime (485) */3800  type OpalRuntimeRuntime = Null;38013802  /** @name PalletEthereumFakeTransactionFinalizer (486) */3803  type PalletEthereumFakeTransactionFinalizer = Null;38043805} // declare module
after · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';9import type { ITuple } from '@polkadot/types-codec/types';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';11import type { Event } from '@polkadot/types/interfaces/system';1213declare module '@polkadot/types/lookup' {14  /** @name FrameSystemAccountInfo (3) */15  interface FrameSystemAccountInfo extends Struct {16    readonly nonce: u32;17    readonly consumers: u32;18    readonly providers: u32;19    readonly sufficients: u32;20    readonly data: PalletBalancesAccountData;21  }2223  /** @name PalletBalancesAccountData (5) */24  interface PalletBalancesAccountData extends Struct {25    readonly free: u128;26    readonly reserved: u128;27    readonly miscFrozen: u128;28    readonly feeFrozen: u128;29  }3031  /** @name FrameSupportWeightsPerDispatchClassU64 (7) */32  interface FrameSupportWeightsPerDispatchClassU64 extends Struct {33    readonly normal: u64;34    readonly operational: u64;35    readonly mandatory: u64;36  }3738  /** @name SpRuntimeDigest (11) */39  interface SpRuntimeDigest extends Struct {40    readonly logs: Vec<SpRuntimeDigestDigestItem>;41  }4243  /** @name SpRuntimeDigestDigestItem (13) */44  interface SpRuntimeDigestDigestItem extends Enum {45    readonly isOther: boolean;46    readonly asOther: Bytes;47    readonly isConsensus: boolean;48    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;49    readonly isSeal: boolean;50    readonly asSeal: ITuple<[U8aFixed, Bytes]>;51    readonly isPreRuntime: boolean;52    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;53    readonly isRuntimeEnvironmentUpdated: boolean;54    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';55  }5657  /** @name FrameSystemEventRecord (16) */58  interface FrameSystemEventRecord extends Struct {59    readonly phase: FrameSystemPhase;60    readonly event: Event;61    readonly topics: Vec<H256>;62  }6364  /** @name FrameSystemEvent (18) */65  interface FrameSystemEvent extends Enum {66    readonly isExtrinsicSuccess: boolean;67    readonly asExtrinsicSuccess: {68      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;69    } & Struct;70    readonly isExtrinsicFailed: boolean;71    readonly asExtrinsicFailed: {72      readonly dispatchError: SpRuntimeDispatchError;73      readonly dispatchInfo: FrameSupportWeightsDispatchInfo;74    } & Struct;75    readonly isCodeUpdated: boolean;76    readonly isNewAccount: boolean;77    readonly asNewAccount: {78      readonly account: AccountId32;79    } & Struct;80    readonly isKilledAccount: boolean;81    readonly asKilledAccount: {82      readonly account: AccountId32;83    } & Struct;84    readonly isRemarked: boolean;85    readonly asRemarked: {86      readonly sender: AccountId32;87      readonly hash_: H256;88    } & Struct;89    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';90  }9192  /** @name FrameSupportWeightsDispatchInfo (19) */93  interface FrameSupportWeightsDispatchInfo extends Struct {94    readonly weight: u64;95    readonly class: FrameSupportWeightsDispatchClass;96    readonly paysFee: FrameSupportWeightsPays;97  }9899  /** @name FrameSupportWeightsDispatchClass (20) */100  interface FrameSupportWeightsDispatchClass extends Enum {101    readonly isNormal: boolean;102    readonly isOperational: boolean;103    readonly isMandatory: boolean;104    readonly type: 'Normal' | 'Operational' | 'Mandatory';105  }106107  /** @name FrameSupportWeightsPays (21) */108  interface FrameSupportWeightsPays extends Enum {109    readonly isYes: boolean;110    readonly isNo: boolean;111    readonly type: 'Yes' | 'No';112  }113114  /** @name SpRuntimeDispatchError (22) */115  interface SpRuntimeDispatchError extends Enum {116    readonly isOther: boolean;117    readonly isCannotLookup: boolean;118    readonly isBadOrigin: boolean;119    readonly isModule: boolean;120    readonly asModule: SpRuntimeModuleError;121    readonly isConsumerRemaining: boolean;122    readonly isNoProviders: boolean;123    readonly isTooManyConsumers: boolean;124    readonly isToken: boolean;125    readonly asToken: SpRuntimeTokenError;126    readonly isArithmetic: boolean;127    readonly asArithmetic: SpRuntimeArithmeticError;128    readonly isTransactional: boolean;129    readonly asTransactional: SpRuntimeTransactionalError;130    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';131  }132133  /** @name SpRuntimeModuleError (23) */134  interface SpRuntimeModuleError extends Struct {135    readonly index: u8;136    readonly error: U8aFixed;137  }138139  /** @name SpRuntimeTokenError (24) */140  interface SpRuntimeTokenError extends Enum {141    readonly isNoFunds: boolean;142    readonly isWouldDie: boolean;143    readonly isBelowMinimum: boolean;144    readonly isCannotCreate: boolean;145    readonly isUnknownAsset: boolean;146    readonly isFrozen: boolean;147    readonly isUnsupported: boolean;148    readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';149  }150151  /** @name SpRuntimeArithmeticError (25) */152  interface SpRuntimeArithmeticError extends Enum {153    readonly isUnderflow: boolean;154    readonly isOverflow: boolean;155    readonly isDivisionByZero: boolean;156    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';157  }158159  /** @name SpRuntimeTransactionalError (26) */160  interface SpRuntimeTransactionalError extends Enum {161    readonly isLimitReached: boolean;162    readonly isNoLayer: boolean;163    readonly type: 'LimitReached' | 'NoLayer';164  }165166  /** @name CumulusPalletParachainSystemEvent (27) */167  interface CumulusPalletParachainSystemEvent extends Enum {168    readonly isValidationFunctionStored: boolean;169    readonly isValidationFunctionApplied: boolean;170    readonly asValidationFunctionApplied: {171      readonly relayChainBlockNum: u32;172    } & Struct;173    readonly isValidationFunctionDiscarded: boolean;174    readonly isUpgradeAuthorized: boolean;175    readonly asUpgradeAuthorized: {176      readonly codeHash: H256;177    } & Struct;178    readonly isDownwardMessagesReceived: boolean;179    readonly asDownwardMessagesReceived: {180      readonly count: u32;181    } & Struct;182    readonly isDownwardMessagesProcessed: boolean;183    readonly asDownwardMessagesProcessed: {184      readonly weightUsed: u64;185      readonly dmqHead: H256;186    } & Struct;187    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';188  }189190  /** @name PalletBalancesEvent (28) */191  interface PalletBalancesEvent extends Enum {192    readonly isEndowed: boolean;193    readonly asEndowed: {194      readonly account: AccountId32;195      readonly freeBalance: u128;196    } & Struct;197    readonly isDustLost: boolean;198    readonly asDustLost: {199      readonly account: AccountId32;200      readonly amount: u128;201    } & Struct;202    readonly isTransfer: boolean;203    readonly asTransfer: {204      readonly from: AccountId32;205      readonly to: AccountId32;206      readonly amount: u128;207    } & Struct;208    readonly isBalanceSet: boolean;209    readonly asBalanceSet: {210      readonly who: AccountId32;211      readonly free: u128;212      readonly reserved: u128;213    } & Struct;214    readonly isReserved: boolean;215    readonly asReserved: {216      readonly who: AccountId32;217      readonly amount: u128;218    } & Struct;219    readonly isUnreserved: boolean;220    readonly asUnreserved: {221      readonly who: AccountId32;222      readonly amount: u128;223    } & Struct;224    readonly isReserveRepatriated: boolean;225    readonly asReserveRepatriated: {226      readonly from: AccountId32;227      readonly to: AccountId32;228      readonly amount: u128;229      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;230    } & Struct;231    readonly isDeposit: boolean;232    readonly asDeposit: {233      readonly who: AccountId32;234      readonly amount: u128;235    } & Struct;236    readonly isWithdraw: boolean;237    readonly asWithdraw: {238      readonly who: AccountId32;239      readonly amount: u128;240    } & Struct;241    readonly isSlashed: boolean;242    readonly asSlashed: {243      readonly who: AccountId32;244      readonly amount: u128;245    } & Struct;246    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';247  }248249  /** @name FrameSupportTokensMiscBalanceStatus (29) */250  interface FrameSupportTokensMiscBalanceStatus extends Enum {251    readonly isFree: boolean;252    readonly isReserved: boolean;253    readonly type: 'Free' | 'Reserved';254  }255256  /** @name PalletTransactionPaymentEvent (30) */257  interface PalletTransactionPaymentEvent extends Enum {258    readonly isTransactionFeePaid: boolean;259    readonly asTransactionFeePaid: {260      readonly who: AccountId32;261      readonly actualFee: u128;262      readonly tip: u128;263    } & Struct;264    readonly type: 'TransactionFeePaid';265  }266267  /** @name PalletTreasuryEvent (31) */268  interface PalletTreasuryEvent extends Enum {269    readonly isProposed: boolean;270    readonly asProposed: {271      readonly proposalIndex: u32;272    } & Struct;273    readonly isSpending: boolean;274    readonly asSpending: {275      readonly budgetRemaining: u128;276    } & Struct;277    readonly isAwarded: boolean;278    readonly asAwarded: {279      readonly proposalIndex: u32;280      readonly award: u128;281      readonly account: AccountId32;282    } & Struct;283    readonly isRejected: boolean;284    readonly asRejected: {285      readonly proposalIndex: u32;286      readonly slashed: u128;287    } & Struct;288    readonly isBurnt: boolean;289    readonly asBurnt: {290      readonly burntFunds: u128;291    } & Struct;292    readonly isRollover: boolean;293    readonly asRollover: {294      readonly rolloverBalance: u128;295    } & Struct;296    readonly isDeposit: boolean;297    readonly asDeposit: {298      readonly value: u128;299    } & Struct;300    readonly isSpendApproved: boolean;301    readonly asSpendApproved: {302      readonly proposalIndex: u32;303      readonly amount: u128;304      readonly beneficiary: AccountId32;305    } & Struct;306    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';307  }308309  /** @name PalletSudoEvent (32) */310  interface PalletSudoEvent extends Enum {311    readonly isSudid: boolean;312    readonly asSudid: {313      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;314    } & Struct;315    readonly isKeyChanged: boolean;316    readonly asKeyChanged: {317      readonly oldSudoer: Option<AccountId32>;318    } & Struct;319    readonly isSudoAsDone: boolean;320    readonly asSudoAsDone: {321      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;322    } & Struct;323    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';324  }325326  /** @name OrmlVestingModuleEvent (36) */327  interface OrmlVestingModuleEvent extends Enum {328    readonly isVestingScheduleAdded: boolean;329    readonly asVestingScheduleAdded: {330      readonly from: AccountId32;331      readonly to: AccountId32;332      readonly vestingSchedule: OrmlVestingVestingSchedule;333    } & Struct;334    readonly isClaimed: boolean;335    readonly asClaimed: {336      readonly who: AccountId32;337      readonly amount: u128;338    } & Struct;339    readonly isVestingSchedulesUpdated: boolean;340    readonly asVestingSchedulesUpdated: {341      readonly who: AccountId32;342    } & Struct;343    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';344  }345346  /** @name OrmlVestingVestingSchedule (37) */347  interface OrmlVestingVestingSchedule extends Struct {348    readonly start: u32;349    readonly period: u32;350    readonly periodCount: u32;351    readonly perPeriod: Compact<u128>;352  }353354  /** @name OrmlXtokensModuleEvent (39) */355  interface OrmlXtokensModuleEvent extends Enum {356    readonly isTransferredMultiAssets: boolean;357    readonly asTransferredMultiAssets: {358      readonly sender: AccountId32;359      readonly assets: XcmV1MultiassetMultiAssets;360      readonly fee: XcmV1MultiAsset;361      readonly dest: XcmV1MultiLocation;362    } & Struct;363    readonly type: 'TransferredMultiAssets';364  }365366  /** @name XcmV1MultiassetMultiAssets (40) */367  interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}368369  /** @name XcmV1MultiAsset (42) */370  interface XcmV1MultiAsset extends Struct {371    readonly id: XcmV1MultiassetAssetId;372    readonly fun: XcmV1MultiassetFungibility;373  }374375  /** @name XcmV1MultiassetAssetId (43) */376  interface XcmV1MultiassetAssetId extends Enum {377    readonly isConcrete: boolean;378    readonly asConcrete: XcmV1MultiLocation;379    readonly isAbstract: boolean;380    readonly asAbstract: Bytes;381    readonly type: 'Concrete' | 'Abstract';382  }383384  /** @name XcmV1MultiLocation (44) */385  interface XcmV1MultiLocation extends Struct {386    readonly parents: u8;387    readonly interior: XcmV1MultilocationJunctions;388  }389390  /** @name XcmV1MultilocationJunctions (45) */391  interface XcmV1MultilocationJunctions extends Enum {392    readonly isHere: boolean;393    readonly isX1: boolean;394    readonly asX1: XcmV1Junction;395    readonly isX2: boolean;396    readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;397    readonly isX3: boolean;398    readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;399    readonly isX4: boolean;400    readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;401    readonly isX5: boolean;402    readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;403    readonly isX6: boolean;404    readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;405    readonly isX7: boolean;406    readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;407    readonly isX8: boolean;408    readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;409    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';410  }411412  /** @name XcmV1Junction (46) */413  interface XcmV1Junction extends Enum {414    readonly isParachain: boolean;415    readonly asParachain: Compact<u32>;416    readonly isAccountId32: boolean;417    readonly asAccountId32: {418      readonly network: XcmV0JunctionNetworkId;419      readonly id: U8aFixed;420    } & Struct;421    readonly isAccountIndex64: boolean;422    readonly asAccountIndex64: {423      readonly network: XcmV0JunctionNetworkId;424      readonly index: Compact<u64>;425    } & Struct;426    readonly isAccountKey20: boolean;427    readonly asAccountKey20: {428      readonly network: XcmV0JunctionNetworkId;429      readonly key: U8aFixed;430    } & Struct;431    readonly isPalletInstance: boolean;432    readonly asPalletInstance: u8;433    readonly isGeneralIndex: boolean;434    readonly asGeneralIndex: Compact<u128>;435    readonly isGeneralKey: boolean;436    readonly asGeneralKey: Bytes;437    readonly isOnlyChild: boolean;438    readonly isPlurality: boolean;439    readonly asPlurality: {440      readonly id: XcmV0JunctionBodyId;441      readonly part: XcmV0JunctionBodyPart;442    } & Struct;443    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';444  }445446  /** @name XcmV0JunctionNetworkId (48) */447  interface XcmV0JunctionNetworkId extends Enum {448    readonly isAny: boolean;449    readonly isNamed: boolean;450    readonly asNamed: Bytes;451    readonly isPolkadot: boolean;452    readonly isKusama: boolean;453    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';454  }455456  /** @name XcmV0JunctionBodyId (52) */457  interface XcmV0JunctionBodyId extends Enum {458    readonly isUnit: boolean;459    readonly isNamed: boolean;460    readonly asNamed: Bytes;461    readonly isIndex: boolean;462    readonly asIndex: Compact<u32>;463    readonly isExecutive: boolean;464    readonly isTechnical: boolean;465    readonly isLegislative: boolean;466    readonly isJudicial: boolean;467    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';468  }469470  /** @name XcmV0JunctionBodyPart (53) */471  interface XcmV0JunctionBodyPart extends Enum {472    readonly isVoice: boolean;473    readonly isMembers: boolean;474    readonly asMembers: {475      readonly count: Compact<u32>;476    } & Struct;477    readonly isFraction: boolean;478    readonly asFraction: {479      readonly nom: Compact<u32>;480      readonly denom: Compact<u32>;481    } & Struct;482    readonly isAtLeastProportion: boolean;483    readonly asAtLeastProportion: {484      readonly nom: Compact<u32>;485      readonly denom: Compact<u32>;486    } & Struct;487    readonly isMoreThanProportion: boolean;488    readonly asMoreThanProportion: {489      readonly nom: Compact<u32>;490      readonly denom: Compact<u32>;491    } & Struct;492    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';493  }494495  /** @name XcmV1MultiassetFungibility (54) */496  interface XcmV1MultiassetFungibility extends Enum {497    readonly isFungible: boolean;498    readonly asFungible: Compact<u128>;499    readonly isNonFungible: boolean;500    readonly asNonFungible: XcmV1MultiassetAssetInstance;501    readonly type: 'Fungible' | 'NonFungible';502  }503504  /** @name XcmV1MultiassetAssetInstance (55) */505  interface XcmV1MultiassetAssetInstance extends Enum {506    readonly isUndefined: boolean;507    readonly isIndex: boolean;508    readonly asIndex: Compact<u128>;509    readonly isArray4: boolean;510    readonly asArray4: U8aFixed;511    readonly isArray8: boolean;512    readonly asArray8: U8aFixed;513    readonly isArray16: boolean;514    readonly asArray16: U8aFixed;515    readonly isArray32: boolean;516    readonly asArray32: U8aFixed;517    readonly isBlob: boolean;518    readonly asBlob: Bytes;519    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';520  }521522  /** @name OrmlTokensModuleEvent (58) */523  interface OrmlTokensModuleEvent extends Enum {524    readonly isEndowed: boolean;525    readonly asEndowed: {526      readonly currencyId: PalletForeignAssetsAssetIds;527      readonly who: AccountId32;528      readonly amount: u128;529    } & Struct;530    readonly isDustLost: boolean;531    readonly asDustLost: {532      readonly currencyId: PalletForeignAssetsAssetIds;533      readonly who: AccountId32;534      readonly amount: u128;535    } & Struct;536    readonly isTransfer: boolean;537    readonly asTransfer: {538      readonly currencyId: PalletForeignAssetsAssetIds;539      readonly from: AccountId32;540      readonly to: AccountId32;541      readonly amount: u128;542    } & Struct;543    readonly isReserved: boolean;544    readonly asReserved: {545      readonly currencyId: PalletForeignAssetsAssetIds;546      readonly who: AccountId32;547      readonly amount: u128;548    } & Struct;549    readonly isUnreserved: boolean;550    readonly asUnreserved: {551      readonly currencyId: PalletForeignAssetsAssetIds;552      readonly who: AccountId32;553      readonly amount: u128;554    } & Struct;555    readonly isReserveRepatriated: boolean;556    readonly asReserveRepatriated: {557      readonly currencyId: PalletForeignAssetsAssetIds;558      readonly from: AccountId32;559      readonly to: AccountId32;560      readonly amount: u128;561      readonly status: FrameSupportTokensMiscBalanceStatus;562    } & Struct;563    readonly isBalanceSet: boolean;564    readonly asBalanceSet: {565      readonly currencyId: PalletForeignAssetsAssetIds;566      readonly who: AccountId32;567      readonly free: u128;568      readonly reserved: u128;569    } & Struct;570    readonly isTotalIssuanceSet: boolean;571    readonly asTotalIssuanceSet: {572      readonly currencyId: PalletForeignAssetsAssetIds;573      readonly amount: u128;574    } & Struct;575    readonly isWithdrawn: boolean;576    readonly asWithdrawn: {577      readonly currencyId: PalletForeignAssetsAssetIds;578      readonly who: AccountId32;579      readonly amount: u128;580    } & Struct;581    readonly isSlashed: boolean;582    readonly asSlashed: {583      readonly currencyId: PalletForeignAssetsAssetIds;584      readonly who: AccountId32;585      readonly freeAmount: u128;586      readonly reservedAmount: u128;587    } & Struct;588    readonly isDeposited: boolean;589    readonly asDeposited: {590      readonly currencyId: PalletForeignAssetsAssetIds;591      readonly who: AccountId32;592      readonly amount: u128;593    } & Struct;594    readonly isLockSet: boolean;595    readonly asLockSet: {596      readonly lockId: U8aFixed;597      readonly currencyId: PalletForeignAssetsAssetIds;598      readonly who: AccountId32;599      readonly amount: u128;600    } & Struct;601    readonly isLockRemoved: boolean;602    readonly asLockRemoved: {603      readonly lockId: U8aFixed;604      readonly currencyId: PalletForeignAssetsAssetIds;605      readonly who: AccountId32;606    } & Struct;607    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';608  }609610  /** @name PalletForeignAssetsAssetIds (59) */611  interface PalletForeignAssetsAssetIds extends Enum {612    readonly isForeignAssetId: boolean;613    readonly asForeignAssetId: u32;614    readonly isNativeAssetId: boolean;615    readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;616    readonly type: 'ForeignAssetId' | 'NativeAssetId';617  }618619  /** @name PalletForeignAssetsNativeCurrency (60) */620  interface PalletForeignAssetsNativeCurrency extends Enum {621    readonly isHere: boolean;622    readonly isParent: boolean;623    readonly type: 'Here' | 'Parent';624  }625626  /** @name CumulusPalletXcmpQueueEvent (61) */627  interface CumulusPalletXcmpQueueEvent extends Enum {628    readonly isSuccess: boolean;629    readonly asSuccess: {630      readonly messageHash: Option<H256>;631      readonly weight: u64;632    } & Struct;633    readonly isFail: boolean;634    readonly asFail: {635      readonly messageHash: Option<H256>;636      readonly error: XcmV2TraitsError;637      readonly weight: u64;638    } & Struct;639    readonly isBadVersion: boolean;640    readonly asBadVersion: {641      readonly messageHash: Option<H256>;642    } & Struct;643    readonly isBadFormat: boolean;644    readonly asBadFormat: {645      readonly messageHash: Option<H256>;646    } & Struct;647    readonly isUpwardMessageSent: boolean;648    readonly asUpwardMessageSent: {649      readonly messageHash: Option<H256>;650    } & Struct;651    readonly isXcmpMessageSent: boolean;652    readonly asXcmpMessageSent: {653      readonly messageHash: Option<H256>;654    } & Struct;655    readonly isOverweightEnqueued: boolean;656    readonly asOverweightEnqueued: {657      readonly sender: u32;658      readonly sentAt: u32;659      readonly index: u64;660      readonly required: u64;661    } & Struct;662    readonly isOverweightServiced: boolean;663    readonly asOverweightServiced: {664      readonly index: u64;665      readonly used: u64;666    } & Struct;667    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';668  }669670  /** @name XcmV2TraitsError (63) */671  interface XcmV2TraitsError extends Enum {672    readonly isOverflow: boolean;673    readonly isUnimplemented: boolean;674    readonly isUntrustedReserveLocation: boolean;675    readonly isUntrustedTeleportLocation: boolean;676    readonly isMultiLocationFull: boolean;677    readonly isMultiLocationNotInvertible: boolean;678    readonly isBadOrigin: boolean;679    readonly isInvalidLocation: boolean;680    readonly isAssetNotFound: boolean;681    readonly isFailedToTransactAsset: boolean;682    readonly isNotWithdrawable: boolean;683    readonly isLocationCannotHold: boolean;684    readonly isExceedsMaxMessageSize: boolean;685    readonly isDestinationUnsupported: boolean;686    readonly isTransport: boolean;687    readonly isUnroutable: boolean;688    readonly isUnknownClaim: boolean;689    readonly isFailedToDecode: boolean;690    readonly isMaxWeightInvalid: boolean;691    readonly isNotHoldingFees: boolean;692    readonly isTooExpensive: boolean;693    readonly isTrap: boolean;694    readonly asTrap: u64;695    readonly isUnhandledXcmVersion: boolean;696    readonly isWeightLimitReached: boolean;697    readonly asWeightLimitReached: u64;698    readonly isBarrier: boolean;699    readonly isWeightNotComputable: boolean;700    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';701  }702703  /** @name PalletXcmEvent (65) */704  interface PalletXcmEvent extends Enum {705    readonly isAttempted: boolean;706    readonly asAttempted: XcmV2TraitsOutcome;707    readonly isSent: boolean;708    readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;709    readonly isUnexpectedResponse: boolean;710    readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;711    readonly isResponseReady: boolean;712    readonly asResponseReady: ITuple<[u64, XcmV2Response]>;713    readonly isNotified: boolean;714    readonly asNotified: ITuple<[u64, u8, u8]>;715    readonly isNotifyOverweight: boolean;716    readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;717    readonly isNotifyDispatchError: boolean;718    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;719    readonly isNotifyDecodeFailed: boolean;720    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;721    readonly isInvalidResponder: boolean;722    readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;723    readonly isInvalidResponderVersion: boolean;724    readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;725    readonly isResponseTaken: boolean;726    readonly asResponseTaken: u64;727    readonly isAssetsTrapped: boolean;728    readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;729    readonly isVersionChangeNotified: boolean;730    readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;731    readonly isSupportedVersionChanged: boolean;732    readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;733    readonly isNotifyTargetSendFail: boolean;734    readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;735    readonly isNotifyTargetMigrationFail: boolean;736    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;737    readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';738  }739740  /** @name XcmV2TraitsOutcome (66) */741  interface XcmV2TraitsOutcome extends Enum {742    readonly isComplete: boolean;743    readonly asComplete: u64;744    readonly isIncomplete: boolean;745    readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;746    readonly isError: boolean;747    readonly asError: XcmV2TraitsError;748    readonly type: 'Complete' | 'Incomplete' | 'Error';749  }750751  /** @name XcmV2Xcm (67) */752  interface XcmV2Xcm extends Vec<XcmV2Instruction> {}753754  /** @name XcmV2Instruction (69) */755  interface XcmV2Instruction extends Enum {756    readonly isWithdrawAsset: boolean;757    readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;758    readonly isReserveAssetDeposited: boolean;759    readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;760    readonly isReceiveTeleportedAsset: boolean;761    readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;762    readonly isQueryResponse: boolean;763    readonly asQueryResponse: {764      readonly queryId: Compact<u64>;765      readonly response: XcmV2Response;766      readonly maxWeight: Compact<u64>;767    } & Struct;768    readonly isTransferAsset: boolean;769    readonly asTransferAsset: {770      readonly assets: XcmV1MultiassetMultiAssets;771      readonly beneficiary: XcmV1MultiLocation;772    } & Struct;773    readonly isTransferReserveAsset: boolean;774    readonly asTransferReserveAsset: {775      readonly assets: XcmV1MultiassetMultiAssets;776      readonly dest: XcmV1MultiLocation;777      readonly xcm: XcmV2Xcm;778    } & Struct;779    readonly isTransact: boolean;780    readonly asTransact: {781      readonly originType: XcmV0OriginKind;782      readonly requireWeightAtMost: Compact<u64>;783      readonly call: XcmDoubleEncoded;784    } & Struct;785    readonly isHrmpNewChannelOpenRequest: boolean;786    readonly asHrmpNewChannelOpenRequest: {787      readonly sender: Compact<u32>;788      readonly maxMessageSize: Compact<u32>;789      readonly maxCapacity: Compact<u32>;790    } & Struct;791    readonly isHrmpChannelAccepted: boolean;792    readonly asHrmpChannelAccepted: {793      readonly recipient: Compact<u32>;794    } & Struct;795    readonly isHrmpChannelClosing: boolean;796    readonly asHrmpChannelClosing: {797      readonly initiator: Compact<u32>;798      readonly sender: Compact<u32>;799      readonly recipient: Compact<u32>;800    } & Struct;801    readonly isClearOrigin: boolean;802    readonly isDescendOrigin: boolean;803    readonly asDescendOrigin: XcmV1MultilocationJunctions;804    readonly isReportError: boolean;805    readonly asReportError: {806      readonly queryId: Compact<u64>;807      readonly dest: XcmV1MultiLocation;808      readonly maxResponseWeight: Compact<u64>;809    } & Struct;810    readonly isDepositAsset: boolean;811    readonly asDepositAsset: {812      readonly assets: XcmV1MultiassetMultiAssetFilter;813      readonly maxAssets: Compact<u32>;814      readonly beneficiary: XcmV1MultiLocation;815    } & Struct;816    readonly isDepositReserveAsset: boolean;817    readonly asDepositReserveAsset: {818      readonly assets: XcmV1MultiassetMultiAssetFilter;819      readonly maxAssets: Compact<u32>;820      readonly dest: XcmV1MultiLocation;821      readonly xcm: XcmV2Xcm;822    } & Struct;823    readonly isExchangeAsset: boolean;824    readonly asExchangeAsset: {825      readonly give: XcmV1MultiassetMultiAssetFilter;826      readonly receive: XcmV1MultiassetMultiAssets;827    } & Struct;828    readonly isInitiateReserveWithdraw: boolean;829    readonly asInitiateReserveWithdraw: {830      readonly assets: XcmV1MultiassetMultiAssetFilter;831      readonly reserve: XcmV1MultiLocation;832      readonly xcm: XcmV2Xcm;833    } & Struct;834    readonly isInitiateTeleport: boolean;835    readonly asInitiateTeleport: {836      readonly assets: XcmV1MultiassetMultiAssetFilter;837      readonly dest: XcmV1MultiLocation;838      readonly xcm: XcmV2Xcm;839    } & Struct;840    readonly isQueryHolding: boolean;841    readonly asQueryHolding: {842      readonly queryId: Compact<u64>;843      readonly dest: XcmV1MultiLocation;844      readonly assets: XcmV1MultiassetMultiAssetFilter;845      readonly maxResponseWeight: Compact<u64>;846    } & Struct;847    readonly isBuyExecution: boolean;848    readonly asBuyExecution: {849      readonly fees: XcmV1MultiAsset;850      readonly weightLimit: XcmV2WeightLimit;851    } & Struct;852    readonly isRefundSurplus: boolean;853    readonly isSetErrorHandler: boolean;854    readonly asSetErrorHandler: XcmV2Xcm;855    readonly isSetAppendix: boolean;856    readonly asSetAppendix: XcmV2Xcm;857    readonly isClearError: boolean;858    readonly isClaimAsset: boolean;859    readonly asClaimAsset: {860      readonly assets: XcmV1MultiassetMultiAssets;861      readonly ticket: XcmV1MultiLocation;862    } & Struct;863    readonly isTrap: boolean;864    readonly asTrap: Compact<u64>;865    readonly isSubscribeVersion: boolean;866    readonly asSubscribeVersion: {867      readonly queryId: Compact<u64>;868      readonly maxResponseWeight: Compact<u64>;869    } & Struct;870    readonly isUnsubscribeVersion: boolean;871    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';872  }873874  /** @name XcmV2Response (70) */875  interface XcmV2Response extends Enum {876    readonly isNull: boolean;877    readonly isAssets: boolean;878    readonly asAssets: XcmV1MultiassetMultiAssets;879    readonly isExecutionResult: boolean;880    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;881    readonly isVersion: boolean;882    readonly asVersion: u32;883    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';884  }885886  /** @name XcmV0OriginKind (73) */887  interface XcmV0OriginKind extends Enum {888    readonly isNative: boolean;889    readonly isSovereignAccount: boolean;890    readonly isSuperuser: boolean;891    readonly isXcm: boolean;892    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';893  }894895  /** @name XcmDoubleEncoded (74) */896  interface XcmDoubleEncoded extends Struct {897    readonly encoded: Bytes;898  }899900  /** @name XcmV1MultiassetMultiAssetFilter (75) */901  interface XcmV1MultiassetMultiAssetFilter extends Enum {902    readonly isDefinite: boolean;903    readonly asDefinite: XcmV1MultiassetMultiAssets;904    readonly isWild: boolean;905    readonly asWild: XcmV1MultiassetWildMultiAsset;906    readonly type: 'Definite' | 'Wild';907  }908909  /** @name XcmV1MultiassetWildMultiAsset (76) */910  interface XcmV1MultiassetWildMultiAsset extends Enum {911    readonly isAll: boolean;912    readonly isAllOf: boolean;913    readonly asAllOf: {914      readonly id: XcmV1MultiassetAssetId;915      readonly fun: XcmV1MultiassetWildFungibility;916    } & Struct;917    readonly type: 'All' | 'AllOf';918  }919920  /** @name XcmV1MultiassetWildFungibility (77) */921  interface XcmV1MultiassetWildFungibility extends Enum {922    readonly isFungible: boolean;923    readonly isNonFungible: boolean;924    readonly type: 'Fungible' | 'NonFungible';925  }926927  /** @name XcmV2WeightLimit (78) */928  interface XcmV2WeightLimit extends Enum {929    readonly isUnlimited: boolean;930    readonly isLimited: boolean;931    readonly asLimited: Compact<u64>;932    readonly type: 'Unlimited' | 'Limited';933  }934935  /** @name XcmVersionedMultiAssets (80) */936  interface XcmVersionedMultiAssets extends Enum {937    readonly isV0: boolean;938    readonly asV0: Vec<XcmV0MultiAsset>;939    readonly isV1: boolean;940    readonly asV1: XcmV1MultiassetMultiAssets;941    readonly type: 'V0' | 'V1';942  }943944  /** @name XcmV0MultiAsset (82) */945  interface XcmV0MultiAsset extends Enum {946    readonly isNone: boolean;947    readonly isAll: boolean;948    readonly isAllFungible: boolean;949    readonly isAllNonFungible: boolean;950    readonly isAllAbstractFungible: boolean;951    readonly asAllAbstractFungible: {952      readonly id: Bytes;953    } & Struct;954    readonly isAllAbstractNonFungible: boolean;955    readonly asAllAbstractNonFungible: {956      readonly class: Bytes;957    } & Struct;958    readonly isAllConcreteFungible: boolean;959    readonly asAllConcreteFungible: {960      readonly id: XcmV0MultiLocation;961    } & Struct;962    readonly isAllConcreteNonFungible: boolean;963    readonly asAllConcreteNonFungible: {964      readonly class: XcmV0MultiLocation;965    } & Struct;966    readonly isAbstractFungible: boolean;967    readonly asAbstractFungible: {968      readonly id: Bytes;969      readonly amount: Compact<u128>;970    } & Struct;971    readonly isAbstractNonFungible: boolean;972    readonly asAbstractNonFungible: {973      readonly class: Bytes;974      readonly instance: XcmV1MultiassetAssetInstance;975    } & Struct;976    readonly isConcreteFungible: boolean;977    readonly asConcreteFungible: {978      readonly id: XcmV0MultiLocation;979      readonly amount: Compact<u128>;980    } & Struct;981    readonly isConcreteNonFungible: boolean;982    readonly asConcreteNonFungible: {983      readonly class: XcmV0MultiLocation;984      readonly instance: XcmV1MultiassetAssetInstance;985    } & Struct;986    readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';987  }988989  /** @name XcmV0MultiLocation (83) */990  interface XcmV0MultiLocation extends Enum {991    readonly isNull: boolean;992    readonly isX1: boolean;993    readonly asX1: XcmV0Junction;994    readonly isX2: boolean;995    readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;996    readonly isX3: boolean;997    readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;998    readonly isX4: boolean;999    readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1000    readonly isX5: boolean;1001    readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1002    readonly isX6: boolean;1003    readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1004    readonly isX7: boolean;1005    readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1006    readonly isX8: boolean;1007    readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1008    readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1009  }10101011  /** @name XcmV0Junction (84) */1012  interface XcmV0Junction extends Enum {1013    readonly isParent: boolean;1014    readonly isParachain: boolean;1015    readonly asParachain: Compact<u32>;1016    readonly isAccountId32: boolean;1017    readonly asAccountId32: {1018      readonly network: XcmV0JunctionNetworkId;1019      readonly id: U8aFixed;1020    } & Struct;1021    readonly isAccountIndex64: boolean;1022    readonly asAccountIndex64: {1023      readonly network: XcmV0JunctionNetworkId;1024      readonly index: Compact<u64>;1025    } & Struct;1026    readonly isAccountKey20: boolean;1027    readonly asAccountKey20: {1028      readonly network: XcmV0JunctionNetworkId;1029      readonly key: U8aFixed;1030    } & Struct;1031    readonly isPalletInstance: boolean;1032    readonly asPalletInstance: u8;1033    readonly isGeneralIndex: boolean;1034    readonly asGeneralIndex: Compact<u128>;1035    readonly isGeneralKey: boolean;1036    readonly asGeneralKey: Bytes;1037    readonly isOnlyChild: boolean;1038    readonly isPlurality: boolean;1039    readonly asPlurality: {1040      readonly id: XcmV0JunctionBodyId;1041      readonly part: XcmV0JunctionBodyPart;1042    } & Struct;1043    readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1044  }10451046  /** @name XcmVersionedMultiLocation (85) */1047  interface XcmVersionedMultiLocation extends Enum {1048    readonly isV0: boolean;1049    readonly asV0: XcmV0MultiLocation;1050    readonly isV1: boolean;1051    readonly asV1: XcmV1MultiLocation;1052    readonly type: 'V0' | 'V1';1053  }10541055  /** @name CumulusPalletXcmEvent (86) */1056  interface CumulusPalletXcmEvent extends Enum {1057    readonly isInvalidFormat: boolean;1058    readonly asInvalidFormat: U8aFixed;1059    readonly isUnsupportedVersion: boolean;1060    readonly asUnsupportedVersion: U8aFixed;1061    readonly isExecutedDownward: boolean;1062    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;1063    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1064  }10651066  /** @name CumulusPalletDmpQueueEvent (87) */1067  interface CumulusPalletDmpQueueEvent extends Enum {1068    readonly isInvalidFormat: boolean;1069    readonly asInvalidFormat: {1070      readonly messageId: U8aFixed;1071    } & Struct;1072    readonly isUnsupportedVersion: boolean;1073    readonly asUnsupportedVersion: {1074      readonly messageId: U8aFixed;1075    } & Struct;1076    readonly isExecutedDownward: boolean;1077    readonly asExecutedDownward: {1078      readonly messageId: U8aFixed;1079      readonly outcome: XcmV2TraitsOutcome;1080    } & Struct;1081    readonly isWeightExhausted: boolean;1082    readonly asWeightExhausted: {1083      readonly messageId: U8aFixed;1084      readonly remainingWeight: u64;1085      readonly requiredWeight: u64;1086    } & Struct;1087    readonly isOverweightEnqueued: boolean;1088    readonly asOverweightEnqueued: {1089      readonly messageId: U8aFixed;1090      readonly overweightIndex: u64;1091      readonly requiredWeight: u64;1092    } & Struct;1093    readonly isOverweightServiced: boolean;1094    readonly asOverweightServiced: {1095      readonly overweightIndex: u64;1096      readonly weightUsed: u64;1097    } & Struct;1098    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1099  }11001101  /** @name PalletUniqueRawEvent (88) */1102  interface PalletUniqueRawEvent extends Enum {1103    readonly isCollectionSponsorRemoved: boolean;1104    readonly asCollectionSponsorRemoved: u32;1105    readonly isCollectionAdminAdded: boolean;1106    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1107    readonly isCollectionOwnedChanged: boolean;1108    readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1109    readonly isCollectionSponsorSet: boolean;1110    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1111    readonly isSponsorshipConfirmed: boolean;1112    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1113    readonly isCollectionAdminRemoved: boolean;1114    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1115    readonly isAllowListAddressRemoved: boolean;1116    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1117    readonly isAllowListAddressAdded: boolean;1118    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1119    readonly isCollectionLimitSet: boolean;1120    readonly asCollectionLimitSet: u32;1121    readonly isCollectionPermissionSet: boolean;1122    readonly asCollectionPermissionSet: u32;1123    readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1124  }11251126  /** @name PalletEvmAccountBasicCrossAccountIdRepr (89) */1127  interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1128    readonly isSubstrate: boolean;1129    readonly asSubstrate: AccountId32;1130    readonly isEthereum: boolean;1131    readonly asEthereum: H160;1132    readonly type: 'Substrate' | 'Ethereum';1133  }11341135  /** @name PalletUniqueSchedulerEvent (92) */1136  interface PalletUniqueSchedulerEvent extends Enum {1137    readonly isScheduled: boolean;1138    readonly asScheduled: {1139      readonly when: u32;1140      readonly index: u32;1141    } & Struct;1142    readonly isCanceled: boolean;1143    readonly asCanceled: {1144      readonly when: u32;1145      readonly index: u32;1146    } & Struct;1147    readonly isDispatched: boolean;1148    readonly asDispatched: {1149      readonly task: ITuple<[u32, u32]>;1150      readonly id: Option<U8aFixed>;1151      readonly result: Result<Null, SpRuntimeDispatchError>;1152    } & Struct;1153    readonly isCallLookupFailed: boolean;1154    readonly asCallLookupFailed: {1155      readonly task: ITuple<[u32, u32]>;1156      readonly id: Option<U8aFixed>;1157      readonly error: FrameSupportScheduleLookupError;1158    } & Struct;1159    readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';1160  }11611162  /** @name FrameSupportScheduleLookupError (95) */1163  interface FrameSupportScheduleLookupError extends Enum {1164    readonly isUnknown: boolean;1165    readonly isBadFormat: boolean;1166    readonly type: 'Unknown' | 'BadFormat';1167  }11681169  /** @name PalletCommonEvent (96) */1170  interface PalletCommonEvent extends Enum {1171    readonly isCollectionCreated: boolean;1172    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1173    readonly isCollectionDestroyed: boolean;1174    readonly asCollectionDestroyed: u32;1175    readonly isItemCreated: boolean;1176    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1177    readonly isItemDestroyed: boolean;1178    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1179    readonly isTransfer: boolean;1180    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1181    readonly isApproved: boolean;1182    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1183    readonly isCollectionPropertySet: boolean;1184    readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1185    readonly isCollectionPropertyDeleted: boolean;1186    readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1187    readonly isTokenPropertySet: boolean;1188    readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1189    readonly isTokenPropertyDeleted: boolean;1190    readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1191    readonly isPropertyPermissionSet: boolean;1192    readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1193    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1194  }11951196  /** @name PalletStructureEvent (99) */1197  interface PalletStructureEvent extends Enum {1198    readonly isExecuted: boolean;1199    readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1200    readonly type: 'Executed';1201  }12021203  /** @name PalletRmrkCoreEvent (100) */1204  interface PalletRmrkCoreEvent extends Enum {1205    readonly isCollectionCreated: boolean;1206    readonly asCollectionCreated: {1207      readonly issuer: AccountId32;1208      readonly collectionId: u32;1209    } & Struct;1210    readonly isCollectionDestroyed: boolean;1211    readonly asCollectionDestroyed: {1212      readonly issuer: AccountId32;1213      readonly collectionId: u32;1214    } & Struct;1215    readonly isIssuerChanged: boolean;1216    readonly asIssuerChanged: {1217      readonly oldIssuer: AccountId32;1218      readonly newIssuer: AccountId32;1219      readonly collectionId: u32;1220    } & Struct;1221    readonly isCollectionLocked: boolean;1222    readonly asCollectionLocked: {1223      readonly issuer: AccountId32;1224      readonly collectionId: u32;1225    } & Struct;1226    readonly isNftMinted: boolean;1227    readonly asNftMinted: {1228      readonly owner: AccountId32;1229      readonly collectionId: u32;1230      readonly nftId: u32;1231    } & Struct;1232    readonly isNftBurned: boolean;1233    readonly asNftBurned: {1234      readonly owner: AccountId32;1235      readonly nftId: u32;1236    } & Struct;1237    readonly isNftSent: boolean;1238    readonly asNftSent: {1239      readonly sender: AccountId32;1240      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1241      readonly collectionId: u32;1242      readonly nftId: u32;1243      readonly approvalRequired: bool;1244    } & Struct;1245    readonly isNftAccepted: boolean;1246    readonly asNftAccepted: {1247      readonly sender: AccountId32;1248      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1249      readonly collectionId: u32;1250      readonly nftId: u32;1251    } & Struct;1252    readonly isNftRejected: boolean;1253    readonly asNftRejected: {1254      readonly sender: AccountId32;1255      readonly collectionId: u32;1256      readonly nftId: u32;1257    } & Struct;1258    readonly isPropertySet: boolean;1259    readonly asPropertySet: {1260      readonly collectionId: u32;1261      readonly maybeNftId: Option<u32>;1262      readonly key: Bytes;1263      readonly value: Bytes;1264    } & Struct;1265    readonly isResourceAdded: boolean;1266    readonly asResourceAdded: {1267      readonly nftId: u32;1268      readonly resourceId: u32;1269    } & Struct;1270    readonly isResourceRemoval: boolean;1271    readonly asResourceRemoval: {1272      readonly nftId: u32;1273      readonly resourceId: u32;1274    } & Struct;1275    readonly isResourceAccepted: boolean;1276    readonly asResourceAccepted: {1277      readonly nftId: u32;1278      readonly resourceId: u32;1279    } & Struct;1280    readonly isResourceRemovalAccepted: boolean;1281    readonly asResourceRemovalAccepted: {1282      readonly nftId: u32;1283      readonly resourceId: u32;1284    } & Struct;1285    readonly isPrioritySet: boolean;1286    readonly asPrioritySet: {1287      readonly collectionId: u32;1288      readonly nftId: u32;1289    } & Struct;1290    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1291  }12921293  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */1294  interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1295    readonly isAccountId: boolean;1296    readonly asAccountId: AccountId32;1297    readonly isCollectionAndNftTuple: boolean;1298    readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1299    readonly type: 'AccountId' | 'CollectionAndNftTuple';1300  }13011302  /** @name PalletRmrkEquipEvent (106) */1303  interface PalletRmrkEquipEvent extends Enum {1304    readonly isBaseCreated: boolean;1305    readonly asBaseCreated: {1306      readonly issuer: AccountId32;1307      readonly baseId: u32;1308    } & Struct;1309    readonly isEquippablesUpdated: boolean;1310    readonly asEquippablesUpdated: {1311      readonly baseId: u32;1312      readonly slotId: u32;1313    } & Struct;1314    readonly type: 'BaseCreated' | 'EquippablesUpdated';1315  }13161317  /** @name PalletAppPromotionEvent (107) */1318  interface PalletAppPromotionEvent extends Enum {1319    readonly isStakingRecalculation: boolean;1320    readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1321    readonly isStake: boolean;1322    readonly asStake: ITuple<[AccountId32, u128]>;1323    readonly isUnstake: boolean;1324    readonly asUnstake: ITuple<[AccountId32, u128]>;1325    readonly isSetAdmin: boolean;1326    readonly asSetAdmin: AccountId32;1327    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1328  }13291330  /** @name PalletForeignAssetsModuleEvent (108) */1331  interface PalletForeignAssetsModuleEvent extends Enum {1332    readonly isForeignAssetRegistered: boolean;1333    readonly asForeignAssetRegistered: {1334      readonly assetId: u32;1335      readonly assetAddress: XcmV1MultiLocation;1336      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1337    } & Struct;1338    readonly isForeignAssetUpdated: boolean;1339    readonly asForeignAssetUpdated: {1340      readonly assetId: u32;1341      readonly assetAddress: XcmV1MultiLocation;1342      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1343    } & Struct;1344    readonly isAssetRegistered: boolean;1345    readonly asAssetRegistered: {1346      readonly assetId: PalletForeignAssetsAssetIds;1347      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1348    } & Struct;1349    readonly isAssetUpdated: boolean;1350    readonly asAssetUpdated: {1351      readonly assetId: PalletForeignAssetsAssetIds;1352      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1353    } & Struct;1354    readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1355  }13561357  /** @name PalletForeignAssetsModuleAssetMetadata (109) */1358  interface PalletForeignAssetsModuleAssetMetadata extends Struct {1359    readonly name: Bytes;1360    readonly symbol: Bytes;1361    readonly decimals: u8;1362    readonly minimalBalance: u128;1363  }13641365  /** @name PalletEvmEvent (110) */1366  interface PalletEvmEvent extends Enum {1367    readonly isLog: boolean;1368    readonly asLog: EthereumLog;1369    readonly isCreated: boolean;1370    readonly asCreated: H160;1371    readonly isCreatedFailed: boolean;1372    readonly asCreatedFailed: H160;1373    readonly isExecuted: boolean;1374    readonly asExecuted: H160;1375    readonly isExecutedFailed: boolean;1376    readonly asExecutedFailed: H160;1377    readonly isBalanceDeposit: boolean;1378    readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1379    readonly isBalanceWithdraw: boolean;1380    readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1381    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1382  }13831384  /** @name EthereumLog (111) */1385  interface EthereumLog extends Struct {1386    readonly address: H160;1387    readonly topics: Vec<H256>;1388    readonly data: Bytes;1389  }13901391  /** @name PalletEthereumEvent (115) */1392  interface PalletEthereumEvent extends Enum {1393    readonly isExecuted: boolean;1394    readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1395    readonly type: 'Executed';1396  }13971398  /** @name EvmCoreErrorExitReason (116) */1399  interface EvmCoreErrorExitReason extends Enum {1400    readonly isSucceed: boolean;1401    readonly asSucceed: EvmCoreErrorExitSucceed;1402    readonly isError: boolean;1403    readonly asError: EvmCoreErrorExitError;1404    readonly isRevert: boolean;1405    readonly asRevert: EvmCoreErrorExitRevert;1406    readonly isFatal: boolean;1407    readonly asFatal: EvmCoreErrorExitFatal;1408    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1409  }14101411  /** @name EvmCoreErrorExitSucceed (117) */1412  interface EvmCoreErrorExitSucceed extends Enum {1413    readonly isStopped: boolean;1414    readonly isReturned: boolean;1415    readonly isSuicided: boolean;1416    readonly type: 'Stopped' | 'Returned' | 'Suicided';1417  }14181419  /** @name EvmCoreErrorExitError (118) */1420  interface EvmCoreErrorExitError extends Enum {1421    readonly isStackUnderflow: boolean;1422    readonly isStackOverflow: boolean;1423    readonly isInvalidJump: boolean;1424    readonly isInvalidRange: boolean;1425    readonly isDesignatedInvalid: boolean;1426    readonly isCallTooDeep: boolean;1427    readonly isCreateCollision: boolean;1428    readonly isCreateContractLimit: boolean;1429    readonly isOutOfOffset: boolean;1430    readonly isOutOfGas: boolean;1431    readonly isOutOfFund: boolean;1432    readonly isPcUnderflow: boolean;1433    readonly isCreateEmpty: boolean;1434    readonly isOther: boolean;1435    readonly asOther: Text;1436    readonly isInvalidCode: boolean;1437    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1438  }14391440  /** @name EvmCoreErrorExitRevert (121) */1441  interface EvmCoreErrorExitRevert extends Enum {1442    readonly isReverted: boolean;1443    readonly type: 'Reverted';1444  }14451446  /** @name EvmCoreErrorExitFatal (122) */1447  interface EvmCoreErrorExitFatal extends Enum {1448    readonly isNotSupported: boolean;1449    readonly isUnhandledInterrupt: boolean;1450    readonly isCallErrorAsFatal: boolean;1451    readonly asCallErrorAsFatal: EvmCoreErrorExitError;1452    readonly isOther: boolean;1453    readonly asOther: Text;1454    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1455  }14561457  /** @name PalletEvmContractHelpersEvent (123) */1458  interface PalletEvmContractHelpersEvent extends Enum {1459    readonly isContractSponsorSet: boolean;1460    readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1461    readonly isContractSponsorshipConfirmed: boolean;1462    readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1463    readonly isContractSponsorRemoved: boolean;1464    readonly asContractSponsorRemoved: H160;1465    readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1466  }14671468  /** @name FrameSystemPhase (124) */1469  interface FrameSystemPhase extends Enum {1470    readonly isApplyExtrinsic: boolean;1471    readonly asApplyExtrinsic: u32;1472    readonly isFinalization: boolean;1473    readonly isInitialization: boolean;1474    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1475  }14761477  /** @name FrameSystemLastRuntimeUpgradeInfo (126) */1478  interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1479    readonly specVersion: Compact<u32>;1480    readonly specName: Text;1481  }14821483  /** @name FrameSystemCall (127) */1484  interface FrameSystemCall extends Enum {1485    readonly isFillBlock: boolean;1486    readonly asFillBlock: {1487      readonly ratio: Perbill;1488    } & Struct;1489    readonly isRemark: boolean;1490    readonly asRemark: {1491      readonly remark: Bytes;1492    } & Struct;1493    readonly isSetHeapPages: boolean;1494    readonly asSetHeapPages: {1495      readonly pages: u64;1496    } & Struct;1497    readonly isSetCode: boolean;1498    readonly asSetCode: {1499      readonly code: Bytes;1500    } & Struct;1501    readonly isSetCodeWithoutChecks: boolean;1502    readonly asSetCodeWithoutChecks: {1503      readonly code: Bytes;1504    } & Struct;1505    readonly isSetStorage: boolean;1506    readonly asSetStorage: {1507      readonly items: Vec<ITuple<[Bytes, Bytes]>>;1508    } & Struct;1509    readonly isKillStorage: boolean;1510    readonly asKillStorage: {1511      readonly keys_: Vec<Bytes>;1512    } & Struct;1513    readonly isKillPrefix: boolean;1514    readonly asKillPrefix: {1515      readonly prefix: Bytes;1516      readonly subkeys: u32;1517    } & Struct;1518    readonly isRemarkWithEvent: boolean;1519    readonly asRemarkWithEvent: {1520      readonly remark: Bytes;1521    } & Struct;1522    readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1523  }15241525  /** @name FrameSystemLimitsBlockWeights (132) */1526  interface FrameSystemLimitsBlockWeights extends Struct {1527    readonly baseBlock: u64;1528    readonly maxBlock: u64;1529    readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;1530  }15311532  /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (133) */1533  interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {1534    readonly normal: FrameSystemLimitsWeightsPerClass;1535    readonly operational: FrameSystemLimitsWeightsPerClass;1536    readonly mandatory: FrameSystemLimitsWeightsPerClass;1537  }15381539  /** @name FrameSystemLimitsWeightsPerClass (134) */1540  interface FrameSystemLimitsWeightsPerClass extends Struct {1541    readonly baseExtrinsic: u64;1542    readonly maxExtrinsic: Option<u64>;1543    readonly maxTotal: Option<u64>;1544    readonly reserved: Option<u64>;1545  }15461547  /** @name FrameSystemLimitsBlockLength (136) */1548  interface FrameSystemLimitsBlockLength extends Struct {1549    readonly max: FrameSupportWeightsPerDispatchClassU32;1550  }15511552  /** @name FrameSupportWeightsPerDispatchClassU32 (137) */1553  interface FrameSupportWeightsPerDispatchClassU32 extends Struct {1554    readonly normal: u32;1555    readonly operational: u32;1556    readonly mandatory: u32;1557  }15581559  /** @name FrameSupportWeightsRuntimeDbWeight (138) */1560  interface FrameSupportWeightsRuntimeDbWeight extends Struct {1561    readonly read: u64;1562    readonly write: u64;1563  }15641565  /** @name SpVersionRuntimeVersion (139) */1566  interface SpVersionRuntimeVersion extends Struct {1567    readonly specName: Text;1568    readonly implName: Text;1569    readonly authoringVersion: u32;1570    readonly specVersion: u32;1571    readonly implVersion: u32;1572    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1573    readonly transactionVersion: u32;1574    readonly stateVersion: u8;1575  }15761577  /** @name FrameSystemError (144) */1578  interface FrameSystemError extends Enum {1579    readonly isInvalidSpecName: boolean;1580    readonly isSpecVersionNeedsToIncrease: boolean;1581    readonly isFailedToExtractRuntimeVersion: boolean;1582    readonly isNonDefaultComposite: boolean;1583    readonly isNonZeroRefCount: boolean;1584    readonly isCallFiltered: boolean;1585    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1586  }15871588  /** @name PolkadotPrimitivesV2PersistedValidationData (145) */1589  interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1590    readonly parentHead: Bytes;1591    readonly relayParentNumber: u32;1592    readonly relayParentStorageRoot: H256;1593    readonly maxPovSize: u32;1594  }15951596  /** @name PolkadotPrimitivesV2UpgradeRestriction (148) */1597  interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1598    readonly isPresent: boolean;1599    readonly type: 'Present';1600  }16011602  /** @name SpTrieStorageProof (149) */1603  interface SpTrieStorageProof extends Struct {1604    readonly trieNodes: BTreeSet<Bytes>;1605  }16061607  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (151) */1608  interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1609    readonly dmqMqcHead: H256;1610    readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1611    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1612    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1613  }16141615  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (154) */1616  interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1617    readonly maxCapacity: u32;1618    readonly maxTotalSize: u32;1619    readonly maxMessageSize: u32;1620    readonly msgCount: u32;1621    readonly totalSize: u32;1622    readonly mqcHead: Option<H256>;1623  }16241625  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (155) */1626  interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1627    readonly maxCodeSize: u32;1628    readonly maxHeadDataSize: u32;1629    readonly maxUpwardQueueCount: u32;1630    readonly maxUpwardQueueSize: u32;1631    readonly maxUpwardMessageSize: u32;1632    readonly maxUpwardMessageNumPerCandidate: u32;1633    readonly hrmpMaxMessageNumPerCandidate: u32;1634    readonly validationUpgradeCooldown: u32;1635    readonly validationUpgradeDelay: u32;1636  }16371638  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (161) */1639  interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1640    readonly recipient: u32;1641    readonly data: Bytes;1642  }16431644  /** @name CumulusPalletParachainSystemCall (162) */1645  interface CumulusPalletParachainSystemCall extends Enum {1646    readonly isSetValidationData: boolean;1647    readonly asSetValidationData: {1648      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1649    } & Struct;1650    readonly isSudoSendUpwardMessage: boolean;1651    readonly asSudoSendUpwardMessage: {1652      readonly message: Bytes;1653    } & Struct;1654    readonly isAuthorizeUpgrade: boolean;1655    readonly asAuthorizeUpgrade: {1656      readonly codeHash: H256;1657    } & Struct;1658    readonly isEnactAuthorizedUpgrade: boolean;1659    readonly asEnactAuthorizedUpgrade: {1660      readonly code: Bytes;1661    } & Struct;1662    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1663  }16641665  /** @name CumulusPrimitivesParachainInherentParachainInherentData (163) */1666  interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1667    readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1668    readonly relayChainState: SpTrieStorageProof;1669    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1670    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1671  }16721673  /** @name PolkadotCorePrimitivesInboundDownwardMessage (165) */1674  interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1675    readonly sentAt: u32;1676    readonly msg: Bytes;1677  }16781679  /** @name PolkadotCorePrimitivesInboundHrmpMessage (168) */1680  interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1681    readonly sentAt: u32;1682    readonly data: Bytes;1683  }16841685  /** @name CumulusPalletParachainSystemError (171) */1686  interface CumulusPalletParachainSystemError extends Enum {1687    readonly isOverlappingUpgrades: boolean;1688    readonly isProhibitedByPolkadot: boolean;1689    readonly isTooBig: boolean;1690    readonly isValidationDataNotAvailable: boolean;1691    readonly isHostConfigurationNotAvailable: boolean;1692    readonly isNotScheduled: boolean;1693    readonly isNothingAuthorized: boolean;1694    readonly isUnauthorized: boolean;1695    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1696  }16971698  /** @name PalletBalancesBalanceLock (173) */1699  interface PalletBalancesBalanceLock extends Struct {1700    readonly id: U8aFixed;1701    readonly amount: u128;1702    readonly reasons: PalletBalancesReasons;1703  }17041705  /** @name PalletBalancesReasons (174) */1706  interface PalletBalancesReasons extends Enum {1707    readonly isFee: boolean;1708    readonly isMisc: boolean;1709    readonly isAll: boolean;1710    readonly type: 'Fee' | 'Misc' | 'All';1711  }17121713  /** @name PalletBalancesReserveData (177) */1714  interface PalletBalancesReserveData extends Struct {1715    readonly id: U8aFixed;1716    readonly amount: u128;1717  }17181719  /** @name PalletBalancesReleases (179) */1720  interface PalletBalancesReleases extends Enum {1721    readonly isV100: boolean;1722    readonly isV200: boolean;1723    readonly type: 'V100' | 'V200';1724  }17251726  /** @name PalletBalancesCall (180) */1727  interface PalletBalancesCall extends Enum {1728    readonly isTransfer: boolean;1729    readonly asTransfer: {1730      readonly dest: MultiAddress;1731      readonly value: Compact<u128>;1732    } & Struct;1733    readonly isSetBalance: boolean;1734    readonly asSetBalance: {1735      readonly who: MultiAddress;1736      readonly newFree: Compact<u128>;1737      readonly newReserved: Compact<u128>;1738    } & Struct;1739    readonly isForceTransfer: boolean;1740    readonly asForceTransfer: {1741      readonly source: MultiAddress;1742      readonly dest: MultiAddress;1743      readonly value: Compact<u128>;1744    } & Struct;1745    readonly isTransferKeepAlive: boolean;1746    readonly asTransferKeepAlive: {1747      readonly dest: MultiAddress;1748      readonly value: Compact<u128>;1749    } & Struct;1750    readonly isTransferAll: boolean;1751    readonly asTransferAll: {1752      readonly dest: MultiAddress;1753      readonly keepAlive: bool;1754    } & Struct;1755    readonly isForceUnreserve: boolean;1756    readonly asForceUnreserve: {1757      readonly who: MultiAddress;1758      readonly amount: u128;1759    } & Struct;1760    readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1761  }17621763  /** @name PalletBalancesError (183) */1764  interface PalletBalancesError extends Enum {1765    readonly isVestingBalance: boolean;1766    readonly isLiquidityRestrictions: boolean;1767    readonly isInsufficientBalance: boolean;1768    readonly isExistentialDeposit: boolean;1769    readonly isKeepAlive: boolean;1770    readonly isExistingVestingSchedule: boolean;1771    readonly isDeadAccount: boolean;1772    readonly isTooManyReserves: boolean;1773    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1774  }17751776  /** @name PalletTimestampCall (185) */1777  interface PalletTimestampCall extends Enum {1778    readonly isSet: boolean;1779    readonly asSet: {1780      readonly now: Compact<u64>;1781    } & Struct;1782    readonly type: 'Set';1783  }17841785  /** @name PalletTransactionPaymentReleases (187) */1786  interface PalletTransactionPaymentReleases extends Enum {1787    readonly isV1Ancient: boolean;1788    readonly isV2: boolean;1789    readonly type: 'V1Ancient' | 'V2';1790  }17911792  /** @name PalletTreasuryProposal (188) */1793  interface PalletTreasuryProposal extends Struct {1794    readonly proposer: AccountId32;1795    readonly value: u128;1796    readonly beneficiary: AccountId32;1797    readonly bond: u128;1798  }17991800  /** @name PalletTreasuryCall (191) */1801  interface PalletTreasuryCall extends Enum {1802    readonly isProposeSpend: boolean;1803    readonly asProposeSpend: {1804      readonly value: Compact<u128>;1805      readonly beneficiary: MultiAddress;1806    } & Struct;1807    readonly isRejectProposal: boolean;1808    readonly asRejectProposal: {1809      readonly proposalId: Compact<u32>;1810    } & Struct;1811    readonly isApproveProposal: boolean;1812    readonly asApproveProposal: {1813      readonly proposalId: Compact<u32>;1814    } & Struct;1815    readonly isSpend: boolean;1816    readonly asSpend: {1817      readonly amount: Compact<u128>;1818      readonly beneficiary: MultiAddress;1819    } & Struct;1820    readonly isRemoveApproval: boolean;1821    readonly asRemoveApproval: {1822      readonly proposalId: Compact<u32>;1823    } & Struct;1824    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1825  }18261827  /** @name FrameSupportPalletId (194) */1828  interface FrameSupportPalletId extends U8aFixed {}18291830  /** @name PalletTreasuryError (195) */1831  interface PalletTreasuryError extends Enum {1832    readonly isInsufficientProposersBalance: boolean;1833    readonly isInvalidIndex: boolean;1834    readonly isTooManyApprovals: boolean;1835    readonly isInsufficientPermission: boolean;1836    readonly isProposalNotApproved: boolean;1837    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1838  }18391840  /** @name PalletSudoCall (196) */1841  interface PalletSudoCall extends Enum {1842    readonly isSudo: boolean;1843    readonly asSudo: {1844      readonly call: Call;1845    } & Struct;1846    readonly isSudoUncheckedWeight: boolean;1847    readonly asSudoUncheckedWeight: {1848      readonly call: Call;1849      readonly weight: u64;1850    } & Struct;1851    readonly isSetKey: boolean;1852    readonly asSetKey: {1853      readonly new_: MultiAddress;1854    } & Struct;1855    readonly isSudoAs: boolean;1856    readonly asSudoAs: {1857      readonly who: MultiAddress;1858      readonly call: Call;1859    } & Struct;1860    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1861  }18621863  /** @name OrmlVestingModuleCall (198) */1864  interface OrmlVestingModuleCall extends Enum {1865    readonly isClaim: boolean;1866    readonly isVestedTransfer: boolean;1867    readonly asVestedTransfer: {1868      readonly dest: MultiAddress;1869      readonly schedule: OrmlVestingVestingSchedule;1870    } & Struct;1871    readonly isUpdateVestingSchedules: boolean;1872    readonly asUpdateVestingSchedules: {1873      readonly who: MultiAddress;1874      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1875    } & Struct;1876    readonly isClaimFor: boolean;1877    readonly asClaimFor: {1878      readonly dest: MultiAddress;1879    } & Struct;1880    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1881  }18821883  /** @name OrmlXtokensModuleCall (200) */1884  interface OrmlXtokensModuleCall extends Enum {1885    readonly isTransfer: boolean;1886    readonly asTransfer: {1887      readonly currencyId: PalletForeignAssetsAssetIds;1888      readonly amount: u128;1889      readonly dest: XcmVersionedMultiLocation;1890      readonly destWeight: u64;1891    } & Struct;1892    readonly isTransferMultiasset: boolean;1893    readonly asTransferMultiasset: {1894      readonly asset: XcmVersionedMultiAsset;1895      readonly dest: XcmVersionedMultiLocation;1896      readonly destWeight: u64;1897    } & Struct;1898    readonly isTransferWithFee: boolean;1899    readonly asTransferWithFee: {1900      readonly currencyId: PalletForeignAssetsAssetIds;1901      readonly amount: u128;1902      readonly fee: u128;1903      readonly dest: XcmVersionedMultiLocation;1904      readonly destWeight: u64;1905    } & Struct;1906    readonly isTransferMultiassetWithFee: boolean;1907    readonly asTransferMultiassetWithFee: {1908      readonly asset: XcmVersionedMultiAsset;1909      readonly fee: XcmVersionedMultiAsset;1910      readonly dest: XcmVersionedMultiLocation;1911      readonly destWeight: u64;1912    } & Struct;1913    readonly isTransferMulticurrencies: boolean;1914    readonly asTransferMulticurrencies: {1915      readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1916      readonly feeItem: u32;1917      readonly dest: XcmVersionedMultiLocation;1918      readonly destWeight: u64;1919    } & Struct;1920    readonly isTransferMultiassets: boolean;1921    readonly asTransferMultiassets: {1922      readonly assets: XcmVersionedMultiAssets;1923      readonly feeItem: u32;1924      readonly dest: XcmVersionedMultiLocation;1925      readonly destWeight: u64;1926    } & Struct;1927    readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1928  }19291930  /** @name XcmVersionedMultiAsset (201) */1931  interface XcmVersionedMultiAsset extends Enum {1932    readonly isV0: boolean;1933    readonly asV0: XcmV0MultiAsset;1934    readonly isV1: boolean;1935    readonly asV1: XcmV1MultiAsset;1936    readonly type: 'V0' | 'V1';1937  }19381939  /** @name OrmlTokensModuleCall (204) */1940  interface OrmlTokensModuleCall extends Enum {1941    readonly isTransfer: boolean;1942    readonly asTransfer: {1943      readonly dest: MultiAddress;1944      readonly currencyId: PalletForeignAssetsAssetIds;1945      readonly amount: Compact<u128>;1946    } & Struct;1947    readonly isTransferAll: boolean;1948    readonly asTransferAll: {1949      readonly dest: MultiAddress;1950      readonly currencyId: PalletForeignAssetsAssetIds;1951      readonly keepAlive: bool;1952    } & Struct;1953    readonly isTransferKeepAlive: boolean;1954    readonly asTransferKeepAlive: {1955      readonly dest: MultiAddress;1956      readonly currencyId: PalletForeignAssetsAssetIds;1957      readonly amount: Compact<u128>;1958    } & Struct;1959    readonly isForceTransfer: boolean;1960    readonly asForceTransfer: {1961      readonly source: MultiAddress;1962      readonly dest: MultiAddress;1963      readonly currencyId: PalletForeignAssetsAssetIds;1964      readonly amount: Compact<u128>;1965    } & Struct;1966    readonly isSetBalance: boolean;1967    readonly asSetBalance: {1968      readonly who: MultiAddress;1969      readonly currencyId: PalletForeignAssetsAssetIds;1970      readonly newFree: Compact<u128>;1971      readonly newReserved: Compact<u128>;1972    } & Struct;1973    readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1974  }19751976  /** @name CumulusPalletXcmpQueueCall (205) */1977  interface CumulusPalletXcmpQueueCall extends Enum {1978    readonly isServiceOverweight: boolean;1979    readonly asServiceOverweight: {1980      readonly index: u64;1981      readonly weightLimit: u64;1982    } & Struct;1983    readonly isSuspendXcmExecution: boolean;1984    readonly isResumeXcmExecution: boolean;1985    readonly isUpdateSuspendThreshold: boolean;1986    readonly asUpdateSuspendThreshold: {1987      readonly new_: u32;1988    } & Struct;1989    readonly isUpdateDropThreshold: boolean;1990    readonly asUpdateDropThreshold: {1991      readonly new_: u32;1992    } & Struct;1993    readonly isUpdateResumeThreshold: boolean;1994    readonly asUpdateResumeThreshold: {1995      readonly new_: u32;1996    } & Struct;1997    readonly isUpdateThresholdWeight: boolean;1998    readonly asUpdateThresholdWeight: {1999      readonly new_: u64;2000    } & Struct;2001    readonly isUpdateWeightRestrictDecay: boolean;2002    readonly asUpdateWeightRestrictDecay: {2003      readonly new_: u64;2004    } & Struct;2005    readonly isUpdateXcmpMaxIndividualWeight: boolean;2006    readonly asUpdateXcmpMaxIndividualWeight: {2007      readonly new_: u64;2008    } & Struct;2009    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2010  }20112012  /** @name PalletXcmCall (206) */2013  interface PalletXcmCall extends Enum {2014    readonly isSend: boolean;2015    readonly asSend: {2016      readonly dest: XcmVersionedMultiLocation;2017      readonly message: XcmVersionedXcm;2018    } & Struct;2019    readonly isTeleportAssets: boolean;2020    readonly asTeleportAssets: {2021      readonly dest: XcmVersionedMultiLocation;2022      readonly beneficiary: XcmVersionedMultiLocation;2023      readonly assets: XcmVersionedMultiAssets;2024      readonly feeAssetItem: u32;2025    } & Struct;2026    readonly isReserveTransferAssets: boolean;2027    readonly asReserveTransferAssets: {2028      readonly dest: XcmVersionedMultiLocation;2029      readonly beneficiary: XcmVersionedMultiLocation;2030      readonly assets: XcmVersionedMultiAssets;2031      readonly feeAssetItem: u32;2032    } & Struct;2033    readonly isExecute: boolean;2034    readonly asExecute: {2035      readonly message: XcmVersionedXcm;2036      readonly maxWeight: u64;2037    } & Struct;2038    readonly isForceXcmVersion: boolean;2039    readonly asForceXcmVersion: {2040      readonly location: XcmV1MultiLocation;2041      readonly xcmVersion: u32;2042    } & Struct;2043    readonly isForceDefaultXcmVersion: boolean;2044    readonly asForceDefaultXcmVersion: {2045      readonly maybeXcmVersion: Option<u32>;2046    } & Struct;2047    readonly isForceSubscribeVersionNotify: boolean;2048    readonly asForceSubscribeVersionNotify: {2049      readonly location: XcmVersionedMultiLocation;2050    } & Struct;2051    readonly isForceUnsubscribeVersionNotify: boolean;2052    readonly asForceUnsubscribeVersionNotify: {2053      readonly location: XcmVersionedMultiLocation;2054    } & Struct;2055    readonly isLimitedReserveTransferAssets: boolean;2056    readonly asLimitedReserveTransferAssets: {2057      readonly dest: XcmVersionedMultiLocation;2058      readonly beneficiary: XcmVersionedMultiLocation;2059      readonly assets: XcmVersionedMultiAssets;2060      readonly feeAssetItem: u32;2061      readonly weightLimit: XcmV2WeightLimit;2062    } & Struct;2063    readonly isLimitedTeleportAssets: boolean;2064    readonly asLimitedTeleportAssets: {2065      readonly dest: XcmVersionedMultiLocation;2066      readonly beneficiary: XcmVersionedMultiLocation;2067      readonly assets: XcmVersionedMultiAssets;2068      readonly feeAssetItem: u32;2069      readonly weightLimit: XcmV2WeightLimit;2070    } & Struct;2071    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2072  }20732074  /** @name XcmVersionedXcm (207) */2075  interface XcmVersionedXcm extends Enum {2076    readonly isV0: boolean;2077    readonly asV0: XcmV0Xcm;2078    readonly isV1: boolean;2079    readonly asV1: XcmV1Xcm;2080    readonly isV2: boolean;2081    readonly asV2: XcmV2Xcm;2082    readonly type: 'V0' | 'V1' | 'V2';2083  }20842085  /** @name XcmV0Xcm (208) */2086  interface XcmV0Xcm extends Enum {2087    readonly isWithdrawAsset: boolean;2088    readonly asWithdrawAsset: {2089      readonly assets: Vec<XcmV0MultiAsset>;2090      readonly effects: Vec<XcmV0Order>;2091    } & Struct;2092    readonly isReserveAssetDeposit: boolean;2093    readonly asReserveAssetDeposit: {2094      readonly assets: Vec<XcmV0MultiAsset>;2095      readonly effects: Vec<XcmV0Order>;2096    } & Struct;2097    readonly isTeleportAsset: boolean;2098    readonly asTeleportAsset: {2099      readonly assets: Vec<XcmV0MultiAsset>;2100      readonly effects: Vec<XcmV0Order>;2101    } & Struct;2102    readonly isQueryResponse: boolean;2103    readonly asQueryResponse: {2104      readonly queryId: Compact<u64>;2105      readonly response: XcmV0Response;2106    } & Struct;2107    readonly isTransferAsset: boolean;2108    readonly asTransferAsset: {2109      readonly assets: Vec<XcmV0MultiAsset>;2110      readonly dest: XcmV0MultiLocation;2111    } & Struct;2112    readonly isTransferReserveAsset: boolean;2113    readonly asTransferReserveAsset: {2114      readonly assets: Vec<XcmV0MultiAsset>;2115      readonly dest: XcmV0MultiLocation;2116      readonly effects: Vec<XcmV0Order>;2117    } & Struct;2118    readonly isTransact: boolean;2119    readonly asTransact: {2120      readonly originType: XcmV0OriginKind;2121      readonly requireWeightAtMost: u64;2122      readonly call: XcmDoubleEncoded;2123    } & Struct;2124    readonly isHrmpNewChannelOpenRequest: boolean;2125    readonly asHrmpNewChannelOpenRequest: {2126      readonly sender: Compact<u32>;2127      readonly maxMessageSize: Compact<u32>;2128      readonly maxCapacity: Compact<u32>;2129    } & Struct;2130    readonly isHrmpChannelAccepted: boolean;2131    readonly asHrmpChannelAccepted: {2132      readonly recipient: Compact<u32>;2133    } & Struct;2134    readonly isHrmpChannelClosing: boolean;2135    readonly asHrmpChannelClosing: {2136      readonly initiator: Compact<u32>;2137      readonly sender: Compact<u32>;2138      readonly recipient: Compact<u32>;2139    } & Struct;2140    readonly isRelayedFrom: boolean;2141    readonly asRelayedFrom: {2142      readonly who: XcmV0MultiLocation;2143      readonly message: XcmV0Xcm;2144    } & Struct;2145    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2146  }21472148  /** @name XcmV0Order (210) */2149  interface XcmV0Order extends Enum {2150    readonly isNull: boolean;2151    readonly isDepositAsset: boolean;2152    readonly asDepositAsset: {2153      readonly assets: Vec<XcmV0MultiAsset>;2154      readonly dest: XcmV0MultiLocation;2155    } & Struct;2156    readonly isDepositReserveAsset: boolean;2157    readonly asDepositReserveAsset: {2158      readonly assets: Vec<XcmV0MultiAsset>;2159      readonly dest: XcmV0MultiLocation;2160      readonly effects: Vec<XcmV0Order>;2161    } & Struct;2162    readonly isExchangeAsset: boolean;2163    readonly asExchangeAsset: {2164      readonly give: Vec<XcmV0MultiAsset>;2165      readonly receive: Vec<XcmV0MultiAsset>;2166    } & Struct;2167    readonly isInitiateReserveWithdraw: boolean;2168    readonly asInitiateReserveWithdraw: {2169      readonly assets: Vec<XcmV0MultiAsset>;2170      readonly reserve: XcmV0MultiLocation;2171      readonly effects: Vec<XcmV0Order>;2172    } & Struct;2173    readonly isInitiateTeleport: boolean;2174    readonly asInitiateTeleport: {2175      readonly assets: Vec<XcmV0MultiAsset>;2176      readonly dest: XcmV0MultiLocation;2177      readonly effects: Vec<XcmV0Order>;2178    } & Struct;2179    readonly isQueryHolding: boolean;2180    readonly asQueryHolding: {2181      readonly queryId: Compact<u64>;2182      readonly dest: XcmV0MultiLocation;2183      readonly assets: Vec<XcmV0MultiAsset>;2184    } & Struct;2185    readonly isBuyExecution: boolean;2186    readonly asBuyExecution: {2187      readonly fees: XcmV0MultiAsset;2188      readonly weight: u64;2189      readonly debt: u64;2190      readonly haltOnError: bool;2191      readonly xcm: Vec<XcmV0Xcm>;2192    } & Struct;2193    readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2194  }21952196  /** @name XcmV0Response (212) */2197  interface XcmV0Response extends Enum {2198    readonly isAssets: boolean;2199    readonly asAssets: Vec<XcmV0MultiAsset>;2200    readonly type: 'Assets';2201  }22022203  /** @name XcmV1Xcm (213) */2204  interface XcmV1Xcm extends Enum {2205    readonly isWithdrawAsset: boolean;2206    readonly asWithdrawAsset: {2207      readonly assets: XcmV1MultiassetMultiAssets;2208      readonly effects: Vec<XcmV1Order>;2209    } & Struct;2210    readonly isReserveAssetDeposited: boolean;2211    readonly asReserveAssetDeposited: {2212      readonly assets: XcmV1MultiassetMultiAssets;2213      readonly effects: Vec<XcmV1Order>;2214    } & Struct;2215    readonly isReceiveTeleportedAsset: boolean;2216    readonly asReceiveTeleportedAsset: {2217      readonly assets: XcmV1MultiassetMultiAssets;2218      readonly effects: Vec<XcmV1Order>;2219    } & Struct;2220    readonly isQueryResponse: boolean;2221    readonly asQueryResponse: {2222      readonly queryId: Compact<u64>;2223      readonly response: XcmV1Response;2224    } & Struct;2225    readonly isTransferAsset: boolean;2226    readonly asTransferAsset: {2227      readonly assets: XcmV1MultiassetMultiAssets;2228      readonly beneficiary: XcmV1MultiLocation;2229    } & Struct;2230    readonly isTransferReserveAsset: boolean;2231    readonly asTransferReserveAsset: {2232      readonly assets: XcmV1MultiassetMultiAssets;2233      readonly dest: XcmV1MultiLocation;2234      readonly effects: Vec<XcmV1Order>;2235    } & Struct;2236    readonly isTransact: boolean;2237    readonly asTransact: {2238      readonly originType: XcmV0OriginKind;2239      readonly requireWeightAtMost: u64;2240      readonly call: XcmDoubleEncoded;2241    } & Struct;2242    readonly isHrmpNewChannelOpenRequest: boolean;2243    readonly asHrmpNewChannelOpenRequest: {2244      readonly sender: Compact<u32>;2245      readonly maxMessageSize: Compact<u32>;2246      readonly maxCapacity: Compact<u32>;2247    } & Struct;2248    readonly isHrmpChannelAccepted: boolean;2249    readonly asHrmpChannelAccepted: {2250      readonly recipient: Compact<u32>;2251    } & Struct;2252    readonly isHrmpChannelClosing: boolean;2253    readonly asHrmpChannelClosing: {2254      readonly initiator: Compact<u32>;2255      readonly sender: Compact<u32>;2256      readonly recipient: Compact<u32>;2257    } & Struct;2258    readonly isRelayedFrom: boolean;2259    readonly asRelayedFrom: {2260      readonly who: XcmV1MultilocationJunctions;2261      readonly message: XcmV1Xcm;2262    } & Struct;2263    readonly isSubscribeVersion: boolean;2264    readonly asSubscribeVersion: {2265      readonly queryId: Compact<u64>;2266      readonly maxResponseWeight: Compact<u64>;2267    } & Struct;2268    readonly isUnsubscribeVersion: boolean;2269    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2270  }22712272  /** @name XcmV1Order (215) */2273  interface XcmV1Order extends Enum {2274    readonly isNoop: boolean;2275    readonly isDepositAsset: boolean;2276    readonly asDepositAsset: {2277      readonly assets: XcmV1MultiassetMultiAssetFilter;2278      readonly maxAssets: u32;2279      readonly beneficiary: XcmV1MultiLocation;2280    } & Struct;2281    readonly isDepositReserveAsset: boolean;2282    readonly asDepositReserveAsset: {2283      readonly assets: XcmV1MultiassetMultiAssetFilter;2284      readonly maxAssets: u32;2285      readonly dest: XcmV1MultiLocation;2286      readonly effects: Vec<XcmV1Order>;2287    } & Struct;2288    readonly isExchangeAsset: boolean;2289    readonly asExchangeAsset: {2290      readonly give: XcmV1MultiassetMultiAssetFilter;2291      readonly receive: XcmV1MultiassetMultiAssets;2292    } & Struct;2293    readonly isInitiateReserveWithdraw: boolean;2294    readonly asInitiateReserveWithdraw: {2295      readonly assets: XcmV1MultiassetMultiAssetFilter;2296      readonly reserve: XcmV1MultiLocation;2297      readonly effects: Vec<XcmV1Order>;2298    } & Struct;2299    readonly isInitiateTeleport: boolean;2300    readonly asInitiateTeleport: {2301      readonly assets: XcmV1MultiassetMultiAssetFilter;2302      readonly dest: XcmV1MultiLocation;2303      readonly effects: Vec<XcmV1Order>;2304    } & Struct;2305    readonly isQueryHolding: boolean;2306    readonly asQueryHolding: {2307      readonly queryId: Compact<u64>;2308      readonly dest: XcmV1MultiLocation;2309      readonly assets: XcmV1MultiassetMultiAssetFilter;2310    } & Struct;2311    readonly isBuyExecution: boolean;2312    readonly asBuyExecution: {2313      readonly fees: XcmV1MultiAsset;2314      readonly weight: u64;2315      readonly debt: u64;2316      readonly haltOnError: bool;2317      readonly instructions: Vec<XcmV1Xcm>;2318    } & Struct;2319    readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2320  }23212322  /** @name XcmV1Response (217) */2323  interface XcmV1Response extends Enum {2324    readonly isAssets: boolean;2325    readonly asAssets: XcmV1MultiassetMultiAssets;2326    readonly isVersion: boolean;2327    readonly asVersion: u32;2328    readonly type: 'Assets' | 'Version';2329  }23302331  /** @name CumulusPalletXcmCall (231) */2332  type CumulusPalletXcmCall = Null;23332334  /** @name CumulusPalletDmpQueueCall (232) */2335  interface CumulusPalletDmpQueueCall extends Enum {2336    readonly isServiceOverweight: boolean;2337    readonly asServiceOverweight: {2338      readonly index: u64;2339      readonly weightLimit: u64;2340    } & Struct;2341    readonly type: 'ServiceOverweight';2342  }23432344  /** @name PalletInflationCall (233) */2345  interface PalletInflationCall extends Enum {2346    readonly isStartInflation: boolean;2347    readonly asStartInflation: {2348      readonly inflationStartRelayBlock: u32;2349    } & Struct;2350    readonly type: 'StartInflation';2351  }23522353  /** @name PalletUniqueCall (234) */2354  interface PalletUniqueCall extends Enum {2355    readonly isCreateCollection: boolean;2356    readonly asCreateCollection: {2357      readonly collectionName: Vec<u16>;2358      readonly collectionDescription: Vec<u16>;2359      readonly tokenPrefix: Bytes;2360      readonly mode: UpDataStructsCollectionMode;2361    } & Struct;2362    readonly isCreateCollectionEx: boolean;2363    readonly asCreateCollectionEx: {2364      readonly data: UpDataStructsCreateCollectionData;2365    } & Struct;2366    readonly isDestroyCollection: boolean;2367    readonly asDestroyCollection: {2368      readonly collectionId: u32;2369    } & Struct;2370    readonly isAddToAllowList: boolean;2371    readonly asAddToAllowList: {2372      readonly collectionId: u32;2373      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2374    } & Struct;2375    readonly isRemoveFromAllowList: boolean;2376    readonly asRemoveFromAllowList: {2377      readonly collectionId: u32;2378      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2379    } & Struct;2380    readonly isChangeCollectionOwner: boolean;2381    readonly asChangeCollectionOwner: {2382      readonly collectionId: u32;2383      readonly newOwner: AccountId32;2384    } & Struct;2385    readonly isAddCollectionAdmin: boolean;2386    readonly asAddCollectionAdmin: {2387      readonly collectionId: u32;2388      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2389    } & Struct;2390    readonly isRemoveCollectionAdmin: boolean;2391    readonly asRemoveCollectionAdmin: {2392      readonly collectionId: u32;2393      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2394    } & Struct;2395    readonly isSetCollectionSponsor: boolean;2396    readonly asSetCollectionSponsor: {2397      readonly collectionId: u32;2398      readonly newSponsor: AccountId32;2399    } & Struct;2400    readonly isConfirmSponsorship: boolean;2401    readonly asConfirmSponsorship: {2402      readonly collectionId: u32;2403    } & Struct;2404    readonly isRemoveCollectionSponsor: boolean;2405    readonly asRemoveCollectionSponsor: {2406      readonly collectionId: u32;2407    } & Struct;2408    readonly isCreateItem: boolean;2409    readonly asCreateItem: {2410      readonly collectionId: u32;2411      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2412      readonly data: UpDataStructsCreateItemData;2413    } & Struct;2414    readonly isCreateMultipleItems: boolean;2415    readonly asCreateMultipleItems: {2416      readonly collectionId: u32;2417      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2418      readonly itemsData: Vec<UpDataStructsCreateItemData>;2419    } & Struct;2420    readonly isSetCollectionProperties: boolean;2421    readonly asSetCollectionProperties: {2422      readonly collectionId: u32;2423      readonly properties: Vec<UpDataStructsProperty>;2424    } & Struct;2425    readonly isDeleteCollectionProperties: boolean;2426    readonly asDeleteCollectionProperties: {2427      readonly collectionId: u32;2428      readonly propertyKeys: Vec<Bytes>;2429    } & Struct;2430    readonly isSetTokenProperties: boolean;2431    readonly asSetTokenProperties: {2432      readonly collectionId: u32;2433      readonly tokenId: u32;2434      readonly properties: Vec<UpDataStructsProperty>;2435    } & Struct;2436    readonly isDeleteTokenProperties: boolean;2437    readonly asDeleteTokenProperties: {2438      readonly collectionId: u32;2439      readonly tokenId: u32;2440      readonly propertyKeys: Vec<Bytes>;2441    } & Struct;2442    readonly isSetTokenPropertyPermissions: boolean;2443    readonly asSetTokenPropertyPermissions: {2444      readonly collectionId: u32;2445      readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2446    } & Struct;2447    readonly isCreateMultipleItemsEx: boolean;2448    readonly asCreateMultipleItemsEx: {2449      readonly collectionId: u32;2450      readonly data: UpDataStructsCreateItemExData;2451    } & Struct;2452    readonly isSetTransfersEnabledFlag: boolean;2453    readonly asSetTransfersEnabledFlag: {2454      readonly collectionId: u32;2455      readonly value: bool;2456    } & Struct;2457    readonly isBurnItem: boolean;2458    readonly asBurnItem: {2459      readonly collectionId: u32;2460      readonly itemId: u32;2461      readonly value: u128;2462    } & Struct;2463    readonly isBurnFrom: boolean;2464    readonly asBurnFrom: {2465      readonly collectionId: u32;2466      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2467      readonly itemId: u32;2468      readonly value: u128;2469    } & Struct;2470    readonly isTransfer: boolean;2471    readonly asTransfer: {2472      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2473      readonly collectionId: u32;2474      readonly itemId: u32;2475      readonly value: u128;2476    } & Struct;2477    readonly isApprove: boolean;2478    readonly asApprove: {2479      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2480      readonly collectionId: u32;2481      readonly itemId: u32;2482      readonly amount: u128;2483    } & Struct;2484    readonly isTransferFrom: boolean;2485    readonly asTransferFrom: {2486      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2487      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2488      readonly collectionId: u32;2489      readonly itemId: u32;2490      readonly value: u128;2491    } & Struct;2492    readonly isSetCollectionLimits: boolean;2493    readonly asSetCollectionLimits: {2494      readonly collectionId: u32;2495      readonly newLimit: UpDataStructsCollectionLimits;2496    } & Struct;2497    readonly isSetCollectionPermissions: boolean;2498    readonly asSetCollectionPermissions: {2499      readonly collectionId: u32;2500      readonly newPermission: UpDataStructsCollectionPermissions;2501    } & Struct;2502    readonly isRepartition: boolean;2503    readonly asRepartition: {2504      readonly collectionId: u32;2505      readonly tokenId: u32;2506      readonly amount: u128;2507    } & Struct;2508    readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';2509  }25102511  /** @name UpDataStructsCollectionMode (239) */2512  interface UpDataStructsCollectionMode extends Enum {2513    readonly isNft: boolean;2514    readonly isFungible: boolean;2515    readonly asFungible: u8;2516    readonly isReFungible: boolean;2517    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2518  }25192520  /** @name UpDataStructsCreateCollectionData (240) */2521  interface UpDataStructsCreateCollectionData extends Struct {2522    readonly mode: UpDataStructsCollectionMode;2523    readonly access: Option<UpDataStructsAccessMode>;2524    readonly name: Vec<u16>;2525    readonly description: Vec<u16>;2526    readonly tokenPrefix: Bytes;2527    readonly pendingSponsor: Option<AccountId32>;2528    readonly limits: Option<UpDataStructsCollectionLimits>;2529    readonly permissions: Option<UpDataStructsCollectionPermissions>;2530    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2531    readonly properties: Vec<UpDataStructsProperty>;2532  }25332534  /** @name UpDataStructsAccessMode (242) */2535  interface UpDataStructsAccessMode extends Enum {2536    readonly isNormal: boolean;2537    readonly isAllowList: boolean;2538    readonly type: 'Normal' | 'AllowList';2539  }25402541  /** @name UpDataStructsCollectionLimits (244) */2542  interface UpDataStructsCollectionLimits extends Struct {2543    readonly accountTokenOwnershipLimit: Option<u32>;2544    readonly sponsoredDataSize: Option<u32>;2545    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2546    readonly tokenLimit: Option<u32>;2547    readonly sponsorTransferTimeout: Option<u32>;2548    readonly sponsorApproveTimeout: Option<u32>;2549    readonly ownerCanTransfer: Option<bool>;2550    readonly ownerCanDestroy: Option<bool>;2551    readonly transfersEnabled: Option<bool>;2552  }25532554  /** @name UpDataStructsSponsoringRateLimit (246) */2555  interface UpDataStructsSponsoringRateLimit extends Enum {2556    readonly isSponsoringDisabled: boolean;2557    readonly isBlocks: boolean;2558    readonly asBlocks: u32;2559    readonly type: 'SponsoringDisabled' | 'Blocks';2560  }25612562  /** @name UpDataStructsCollectionPermissions (249) */2563  interface UpDataStructsCollectionPermissions extends Struct {2564    readonly access: Option<UpDataStructsAccessMode>;2565    readonly mintMode: Option<bool>;2566    readonly nesting: Option<UpDataStructsNestingPermissions>;2567  }25682569  /** @name UpDataStructsNestingPermissions (251) */2570  interface UpDataStructsNestingPermissions extends Struct {2571    readonly tokenOwner: bool;2572    readonly collectionAdmin: bool;2573    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2574  }25752576  /** @name UpDataStructsOwnerRestrictedSet (253) */2577  interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}25782579  /** @name UpDataStructsPropertyKeyPermission (258) */2580  interface UpDataStructsPropertyKeyPermission extends Struct {2581    readonly key: Bytes;2582    readonly permission: UpDataStructsPropertyPermission;2583  }25842585  /** @name UpDataStructsPropertyPermission (259) */2586  interface UpDataStructsPropertyPermission extends Struct {2587    readonly mutable: bool;2588    readonly collectionAdmin: bool;2589    readonly tokenOwner: bool;2590  }25912592  /** @name UpDataStructsProperty (262) */2593  interface UpDataStructsProperty extends Struct {2594    readonly key: Bytes;2595    readonly value: Bytes;2596  }25972598  /** @name UpDataStructsCreateItemData (265) */2599  interface UpDataStructsCreateItemData extends Enum {2600    readonly isNft: boolean;2601    readonly asNft: UpDataStructsCreateNftData;2602    readonly isFungible: boolean;2603    readonly asFungible: UpDataStructsCreateFungibleData;2604    readonly isReFungible: boolean;2605    readonly asReFungible: UpDataStructsCreateReFungibleData;2606    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2607  }26082609  /** @name UpDataStructsCreateNftData (266) */2610  interface UpDataStructsCreateNftData extends Struct {2611    readonly properties: Vec<UpDataStructsProperty>;2612  }26132614  /** @name UpDataStructsCreateFungibleData (267) */2615  interface UpDataStructsCreateFungibleData extends Struct {2616    readonly value: u128;2617  }26182619  /** @name UpDataStructsCreateReFungibleData (268) */2620  interface UpDataStructsCreateReFungibleData extends Struct {2621    readonly pieces: u128;2622    readonly properties: Vec<UpDataStructsProperty>;2623  }26242625  /** @name UpDataStructsCreateItemExData (271) */2626  interface UpDataStructsCreateItemExData extends Enum {2627    readonly isNft: boolean;2628    readonly asNft: Vec<UpDataStructsCreateNftExData>;2629    readonly isFungible: boolean;2630    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2631    readonly isRefungibleMultipleItems: boolean;2632    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2633    readonly isRefungibleMultipleOwners: boolean;2634    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2635    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2636  }26372638  /** @name UpDataStructsCreateNftExData (273) */2639  interface UpDataStructsCreateNftExData extends Struct {2640    readonly properties: Vec<UpDataStructsProperty>;2641    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2642  }26432644  /** @name UpDataStructsCreateRefungibleExSingleOwner (280) */2645  interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2646    readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2647    readonly pieces: u128;2648    readonly properties: Vec<UpDataStructsProperty>;2649  }26502651  /** @name UpDataStructsCreateRefungibleExMultipleOwners (282) */2652  interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2653    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2654    readonly properties: Vec<UpDataStructsProperty>;2655  }26562657  /** @name PalletUniqueSchedulerCall (283) */2658  interface PalletUniqueSchedulerCall extends Enum {2659    readonly isScheduleNamed: boolean;2660    readonly asScheduleNamed: {2661      readonly id: U8aFixed;2662      readonly when: u32;2663      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2664      readonly priority: u8;2665      readonly call: FrameSupportScheduleMaybeHashed;2666    } & Struct;2667    readonly isCancelNamed: boolean;2668    readonly asCancelNamed: {2669      readonly id: U8aFixed;2670    } & Struct;2671    readonly isScheduleNamedAfter: boolean;2672    readonly asScheduleNamedAfter: {2673      readonly id: U8aFixed;2674      readonly after: u32;2675      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2676      readonly priority: u8;2677      readonly call: FrameSupportScheduleMaybeHashed;2678    } & Struct;2679    readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter';2680  }26812682  /** @name FrameSupportScheduleMaybeHashed (285) */2683  interface FrameSupportScheduleMaybeHashed extends Enum {2684    readonly isValue: boolean;2685    readonly asValue: Call;2686    readonly isHash: boolean;2687    readonly asHash: H256;2688    readonly type: 'Value' | 'Hash';2689  }26902691  /** @name PalletConfigurationCall (286) */2692  interface PalletConfigurationCall extends Enum {2693    readonly isSetWeightToFeeCoefficientOverride: boolean;2694    readonly asSetWeightToFeeCoefficientOverride: {2695      readonly coeff: Option<u32>;2696    } & Struct;2697    readonly isSetMinGasPriceOverride: boolean;2698    readonly asSetMinGasPriceOverride: {2699      readonly coeff: Option<u64>;2700    } & Struct;2701    readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';2702  }27032704  /** @name PalletTemplateTransactionPaymentCall (287) */2705  type PalletTemplateTransactionPaymentCall = Null;27062707  /** @name PalletStructureCall (288) */2708  type PalletStructureCall = Null;27092710  /** @name PalletRmrkCoreCall (289) */2711  interface PalletRmrkCoreCall extends Enum {2712    readonly isCreateCollection: boolean;2713    readonly asCreateCollection: {2714      readonly metadata: Bytes;2715      readonly max: Option<u32>;2716      readonly symbol: Bytes;2717    } & Struct;2718    readonly isDestroyCollection: boolean;2719    readonly asDestroyCollection: {2720      readonly collectionId: u32;2721    } & Struct;2722    readonly isChangeCollectionIssuer: boolean;2723    readonly asChangeCollectionIssuer: {2724      readonly collectionId: u32;2725      readonly newIssuer: MultiAddress;2726    } & Struct;2727    readonly isLockCollection: boolean;2728    readonly asLockCollection: {2729      readonly collectionId: u32;2730    } & Struct;2731    readonly isMintNft: boolean;2732    readonly asMintNft: {2733      readonly owner: Option<AccountId32>;2734      readonly collectionId: u32;2735      readonly recipient: Option<AccountId32>;2736      readonly royaltyAmount: Option<Permill>;2737      readonly metadata: Bytes;2738      readonly transferable: bool;2739      readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;2740    } & Struct;2741    readonly isBurnNft: boolean;2742    readonly asBurnNft: {2743      readonly collectionId: u32;2744      readonly nftId: u32;2745      readonly maxBurns: u32;2746    } & Struct;2747    readonly isSend: boolean;2748    readonly asSend: {2749      readonly rmrkCollectionId: u32;2750      readonly rmrkNftId: u32;2751      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2752    } & Struct;2753    readonly isAcceptNft: boolean;2754    readonly asAcceptNft: {2755      readonly rmrkCollectionId: u32;2756      readonly rmrkNftId: u32;2757      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2758    } & Struct;2759    readonly isRejectNft: boolean;2760    readonly asRejectNft: {2761      readonly rmrkCollectionId: u32;2762      readonly rmrkNftId: u32;2763    } & Struct;2764    readonly isAcceptResource: boolean;2765    readonly asAcceptResource: {2766      readonly rmrkCollectionId: u32;2767      readonly rmrkNftId: u32;2768      readonly resourceId: u32;2769    } & Struct;2770    readonly isAcceptResourceRemoval: boolean;2771    readonly asAcceptResourceRemoval: {2772      readonly rmrkCollectionId: u32;2773      readonly rmrkNftId: u32;2774      readonly resourceId: u32;2775    } & Struct;2776    readonly isSetProperty: boolean;2777    readonly asSetProperty: {2778      readonly rmrkCollectionId: Compact<u32>;2779      readonly maybeNftId: Option<u32>;2780      readonly key: Bytes;2781      readonly value: Bytes;2782    } & Struct;2783    readonly isSetPriority: boolean;2784    readonly asSetPriority: {2785      readonly rmrkCollectionId: u32;2786      readonly rmrkNftId: u32;2787      readonly priorities: Vec<u32>;2788    } & Struct;2789    readonly isAddBasicResource: boolean;2790    readonly asAddBasicResource: {2791      readonly rmrkCollectionId: u32;2792      readonly nftId: u32;2793      readonly resource: RmrkTraitsResourceBasicResource;2794    } & Struct;2795    readonly isAddComposableResource: boolean;2796    readonly asAddComposableResource: {2797      readonly rmrkCollectionId: u32;2798      readonly nftId: u32;2799      readonly resource: RmrkTraitsResourceComposableResource;2800    } & Struct;2801    readonly isAddSlotResource: boolean;2802    readonly asAddSlotResource: {2803      readonly rmrkCollectionId: u32;2804      readonly nftId: u32;2805      readonly resource: RmrkTraitsResourceSlotResource;2806    } & Struct;2807    readonly isRemoveResource: boolean;2808    readonly asRemoveResource: {2809      readonly rmrkCollectionId: u32;2810      readonly nftId: u32;2811      readonly resourceId: u32;2812    } & Struct;2813    readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2814  }28152816  /** @name RmrkTraitsResourceResourceTypes (295) */2817  interface RmrkTraitsResourceResourceTypes extends Enum {2818    readonly isBasic: boolean;2819    readonly asBasic: RmrkTraitsResourceBasicResource;2820    readonly isComposable: boolean;2821    readonly asComposable: RmrkTraitsResourceComposableResource;2822    readonly isSlot: boolean;2823    readonly asSlot: RmrkTraitsResourceSlotResource;2824    readonly type: 'Basic' | 'Composable' | 'Slot';2825  }28262827  /** @name RmrkTraitsResourceBasicResource (297) */2828  interface RmrkTraitsResourceBasicResource extends Struct {2829    readonly src: Option<Bytes>;2830    readonly metadata: Option<Bytes>;2831    readonly license: Option<Bytes>;2832    readonly thumb: Option<Bytes>;2833  }28342835  /** @name RmrkTraitsResourceComposableResource (299) */2836  interface RmrkTraitsResourceComposableResource extends Struct {2837    readonly parts: Vec<u32>;2838    readonly base: u32;2839    readonly src: Option<Bytes>;2840    readonly metadata: Option<Bytes>;2841    readonly license: Option<Bytes>;2842    readonly thumb: Option<Bytes>;2843  }28442845  /** @name RmrkTraitsResourceSlotResource (300) */2846  interface RmrkTraitsResourceSlotResource extends Struct {2847    readonly base: u32;2848    readonly src: Option<Bytes>;2849    readonly metadata: Option<Bytes>;2850    readonly slot: u32;2851    readonly license: Option<Bytes>;2852    readonly thumb: Option<Bytes>;2853  }28542855  /** @name PalletRmrkEquipCall (303) */2856  interface PalletRmrkEquipCall extends Enum {2857    readonly isCreateBase: boolean;2858    readonly asCreateBase: {2859      readonly baseType: Bytes;2860      readonly symbol: Bytes;2861      readonly parts: Vec<RmrkTraitsPartPartType>;2862    } & Struct;2863    readonly isThemeAdd: boolean;2864    readonly asThemeAdd: {2865      readonly baseId: u32;2866      readonly theme: RmrkTraitsTheme;2867    } & Struct;2868    readonly isEquippable: boolean;2869    readonly asEquippable: {2870      readonly baseId: u32;2871      readonly slotId: u32;2872      readonly equippables: RmrkTraitsPartEquippableList;2873    } & Struct;2874    readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2875  }28762877  /** @name RmrkTraitsPartPartType (306) */2878  interface RmrkTraitsPartPartType extends Enum {2879    readonly isFixedPart: boolean;2880    readonly asFixedPart: RmrkTraitsPartFixedPart;2881    readonly isSlotPart: boolean;2882    readonly asSlotPart: RmrkTraitsPartSlotPart;2883    readonly type: 'FixedPart' | 'SlotPart';2884  }28852886  /** @name RmrkTraitsPartFixedPart (308) */2887  interface RmrkTraitsPartFixedPart extends Struct {2888    readonly id: u32;2889    readonly z: u32;2890    readonly src: Bytes;2891  }28922893  /** @name RmrkTraitsPartSlotPart (309) */2894  interface RmrkTraitsPartSlotPart extends Struct {2895    readonly id: u32;2896    readonly equippable: RmrkTraitsPartEquippableList;2897    readonly src: Bytes;2898    readonly z: u32;2899  }29002901  /** @name RmrkTraitsPartEquippableList (310) */2902  interface RmrkTraitsPartEquippableList extends Enum {2903    readonly isAll: boolean;2904    readonly isEmpty: boolean;2905    readonly isCustom: boolean;2906    readonly asCustom: Vec<u32>;2907    readonly type: 'All' | 'Empty' | 'Custom';2908  }29092910  /** @name RmrkTraitsTheme (312) */2911  interface RmrkTraitsTheme extends Struct {2912    readonly name: Bytes;2913    readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2914    readonly inherit: bool;2915  }29162917  /** @name RmrkTraitsThemeThemeProperty (314) */2918  interface RmrkTraitsThemeThemeProperty extends Struct {2919    readonly key: Bytes;2920    readonly value: Bytes;2921  }29222923  /** @name PalletAppPromotionCall (316) */2924  interface PalletAppPromotionCall extends Enum {2925    readonly isSetAdminAddress: boolean;2926    readonly asSetAdminAddress: {2927      readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;2928    } & Struct;2929    readonly isStake: boolean;2930    readonly asStake: {2931      readonly amount: u128;2932    } & Struct;2933    readonly isUnstake: boolean;2934    readonly isSponsorCollection: boolean;2935    readonly asSponsorCollection: {2936      readonly collectionId: u32;2937    } & Struct;2938    readonly isStopSponsoringCollection: boolean;2939    readonly asStopSponsoringCollection: {2940      readonly collectionId: u32;2941    } & Struct;2942    readonly isSponsorContract: boolean;2943    readonly asSponsorContract: {2944      readonly contractId: H160;2945    } & Struct;2946    readonly isStopSponsoringContract: boolean;2947    readonly asStopSponsoringContract: {2948      readonly contractId: H160;2949    } & Struct;2950    readonly isPayoutStakers: boolean;2951    readonly asPayoutStakers: {2952      readonly stakersNumber: Option<u8>;2953    } & Struct;2954    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2955  }29562957  /** @name PalletForeignAssetsModuleCall (318) */2958  interface PalletForeignAssetsModuleCall extends Enum {2959    readonly isRegisterForeignAsset: boolean;2960    readonly asRegisterForeignAsset: {2961      readonly owner: AccountId32;2962      readonly location: XcmVersionedMultiLocation;2963      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2964    } & Struct;2965    readonly isUpdateForeignAsset: boolean;2966    readonly asUpdateForeignAsset: {2967      readonly foreignAssetId: u32;2968      readonly location: XcmVersionedMultiLocation;2969      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2970    } & Struct;2971    readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2972  }29732974  /** @name PalletEvmCall (319) */2975  interface PalletEvmCall extends Enum {2976    readonly isWithdraw: boolean;2977    readonly asWithdraw: {2978      readonly address: H160;2979      readonly value: u128;2980    } & Struct;2981    readonly isCall: boolean;2982    readonly asCall: {2983      readonly source: H160;2984      readonly target: H160;2985      readonly input: Bytes;2986      readonly value: U256;2987      readonly gasLimit: u64;2988      readonly maxFeePerGas: U256;2989      readonly maxPriorityFeePerGas: Option<U256>;2990      readonly nonce: Option<U256>;2991      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;2992    } & Struct;2993    readonly isCreate: boolean;2994    readonly asCreate: {2995      readonly source: H160;2996      readonly init: Bytes;2997      readonly value: U256;2998      readonly gasLimit: u64;2999      readonly maxFeePerGas: U256;3000      readonly maxPriorityFeePerGas: Option<U256>;3001      readonly nonce: Option<U256>;3002      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3003    } & Struct;3004    readonly isCreate2: boolean;3005    readonly asCreate2: {3006      readonly source: H160;3007      readonly init: Bytes;3008      readonly salt: H256;3009      readonly value: U256;3010      readonly gasLimit: u64;3011      readonly maxFeePerGas: U256;3012      readonly maxPriorityFeePerGas: Option<U256>;3013      readonly nonce: Option<U256>;3014      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3015    } & Struct;3016    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3017  }30183019  /** @name PalletEthereumCall (323) */3020  interface PalletEthereumCall extends Enum {3021    readonly isTransact: boolean;3022    readonly asTransact: {3023      readonly transaction: EthereumTransactionTransactionV2;3024    } & Struct;3025    readonly type: 'Transact';3026  }30273028  /** @name EthereumTransactionTransactionV2 (324) */3029  interface EthereumTransactionTransactionV2 extends Enum {3030    readonly isLegacy: boolean;3031    readonly asLegacy: EthereumTransactionLegacyTransaction;3032    readonly isEip2930: boolean;3033    readonly asEip2930: EthereumTransactionEip2930Transaction;3034    readonly isEip1559: boolean;3035    readonly asEip1559: EthereumTransactionEip1559Transaction;3036    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3037  }30383039  /** @name EthereumTransactionLegacyTransaction (325) */3040  interface EthereumTransactionLegacyTransaction extends Struct {3041    readonly nonce: U256;3042    readonly gasPrice: U256;3043    readonly gasLimit: U256;3044    readonly action: EthereumTransactionTransactionAction;3045    readonly value: U256;3046    readonly input: Bytes;3047    readonly signature: EthereumTransactionTransactionSignature;3048  }30493050  /** @name EthereumTransactionTransactionAction (326) */3051  interface EthereumTransactionTransactionAction extends Enum {3052    readonly isCall: boolean;3053    readonly asCall: H160;3054    readonly isCreate: boolean;3055    readonly type: 'Call' | 'Create';3056  }30573058  /** @name EthereumTransactionTransactionSignature (327) */3059  interface EthereumTransactionTransactionSignature extends Struct {3060    readonly v: u64;3061    readonly r: H256;3062    readonly s: H256;3063  }30643065  /** @name EthereumTransactionEip2930Transaction (329) */3066  interface EthereumTransactionEip2930Transaction extends Struct {3067    readonly chainId: u64;3068    readonly nonce: U256;3069    readonly gasPrice: U256;3070    readonly gasLimit: U256;3071    readonly action: EthereumTransactionTransactionAction;3072    readonly value: U256;3073    readonly input: Bytes;3074    readonly accessList: Vec<EthereumTransactionAccessListItem>;3075    readonly oddYParity: bool;3076    readonly r: H256;3077    readonly s: H256;3078  }30793080  /** @name EthereumTransactionAccessListItem (331) */3081  interface EthereumTransactionAccessListItem extends Struct {3082    readonly address: H160;3083    readonly storageKeys: Vec<H256>;3084  }30853086  /** @name EthereumTransactionEip1559Transaction (332) */3087  interface EthereumTransactionEip1559Transaction extends Struct {3088    readonly chainId: u64;3089    readonly nonce: U256;3090    readonly maxPriorityFeePerGas: U256;3091    readonly maxFeePerGas: U256;3092    readonly gasLimit: U256;3093    readonly action: EthereumTransactionTransactionAction;3094    readonly value: U256;3095    readonly input: Bytes;3096    readonly accessList: Vec<EthereumTransactionAccessListItem>;3097    readonly oddYParity: bool;3098    readonly r: H256;3099    readonly s: H256;3100  }31013102  /** @name PalletEvmMigrationCall (333) */3103  interface PalletEvmMigrationCall extends Enum {3104    readonly isBegin: boolean;3105    readonly asBegin: {3106      readonly address: H160;3107    } & Struct;3108    readonly isSetData: boolean;3109    readonly asSetData: {3110      readonly address: H160;3111      readonly data: Vec<ITuple<[H256, H256]>>;3112    } & Struct;3113    readonly isFinish: boolean;3114    readonly asFinish: {3115      readonly address: H160;3116      readonly code: Bytes;3117    } & Struct;3118    readonly type: 'Begin' | 'SetData' | 'Finish';3119  }31203121  /** @name PalletSudoError (336) */3122  interface PalletSudoError extends Enum {3123    readonly isRequireSudo: boolean;3124    readonly type: 'RequireSudo';3125  }31263127  /** @name OrmlVestingModuleError (338) */3128  interface OrmlVestingModuleError extends Enum {3129    readonly isZeroVestingPeriod: boolean;3130    readonly isZeroVestingPeriodCount: boolean;3131    readonly isInsufficientBalanceToLock: boolean;3132    readonly isTooManyVestingSchedules: boolean;3133    readonly isAmountLow: boolean;3134    readonly isMaxVestingSchedulesExceeded: boolean;3135    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3136  }31373138  /** @name OrmlXtokensModuleError (339) */3139  interface OrmlXtokensModuleError extends Enum {3140    readonly isAssetHasNoReserve: boolean;3141    readonly isNotCrossChainTransfer: boolean;3142    readonly isInvalidDest: boolean;3143    readonly isNotCrossChainTransferableCurrency: boolean;3144    readonly isUnweighableMessage: boolean;3145    readonly isXcmExecutionFailed: boolean;3146    readonly isCannotReanchor: boolean;3147    readonly isInvalidAncestry: boolean;3148    readonly isInvalidAsset: boolean;3149    readonly isDestinationNotInvertible: boolean;3150    readonly isBadVersion: boolean;3151    readonly isDistinctReserveForAssetAndFee: boolean;3152    readonly isZeroFee: boolean;3153    readonly isZeroAmount: boolean;3154    readonly isTooManyAssetsBeingSent: boolean;3155    readonly isAssetIndexNonExistent: boolean;3156    readonly isFeeNotEnough: boolean;3157    readonly isNotSupportedMultiLocation: boolean;3158    readonly isMinXcmFeeNotDefined: boolean;3159    readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3160  }31613162  /** @name OrmlTokensBalanceLock (342) */3163  interface OrmlTokensBalanceLock extends Struct {3164    readonly id: U8aFixed;3165    readonly amount: u128;3166  }31673168  /** @name OrmlTokensAccountData (344) */3169  interface OrmlTokensAccountData extends Struct {3170    readonly free: u128;3171    readonly reserved: u128;3172    readonly frozen: u128;3173  }31743175  /** @name OrmlTokensReserveData (346) */3176  interface OrmlTokensReserveData extends Struct {3177    readonly id: Null;3178    readonly amount: u128;3179  }31803181  /** @name OrmlTokensModuleError (348) */3182  interface OrmlTokensModuleError extends Enum {3183    readonly isBalanceTooLow: boolean;3184    readonly isAmountIntoBalanceFailed: boolean;3185    readonly isLiquidityRestrictions: boolean;3186    readonly isMaxLocksExceeded: boolean;3187    readonly isKeepAlive: boolean;3188    readonly isExistentialDeposit: boolean;3189    readonly isDeadAccount: boolean;3190    readonly isTooManyReserves: boolean;3191    readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3192  }31933194  /** @name CumulusPalletXcmpQueueInboundChannelDetails (350) */3195  interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3196    readonly sender: u32;3197    readonly state: CumulusPalletXcmpQueueInboundState;3198    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3199  }32003201  /** @name CumulusPalletXcmpQueueInboundState (351) */3202  interface CumulusPalletXcmpQueueInboundState extends Enum {3203    readonly isOk: boolean;3204    readonly isSuspended: boolean;3205    readonly type: 'Ok' | 'Suspended';3206  }32073208  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (354) */3209  interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3210    readonly isConcatenatedVersionedXcm: boolean;3211    readonly isConcatenatedEncodedBlob: boolean;3212    readonly isSignals: boolean;3213    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3214  }32153216  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (357) */3217  interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3218    readonly recipient: u32;3219    readonly state: CumulusPalletXcmpQueueOutboundState;3220    readonly signalsExist: bool;3221    readonly firstIndex: u16;3222    readonly lastIndex: u16;3223  }32243225  /** @name CumulusPalletXcmpQueueOutboundState (358) */3226  interface CumulusPalletXcmpQueueOutboundState extends Enum {3227    readonly isOk: boolean;3228    readonly isSuspended: boolean;3229    readonly type: 'Ok' | 'Suspended';3230  }32313232  /** @name CumulusPalletXcmpQueueQueueConfigData (360) */3233  interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3234    readonly suspendThreshold: u32;3235    readonly dropThreshold: u32;3236    readonly resumeThreshold: u32;3237    readonly thresholdWeight: u64;3238    readonly weightRestrictDecay: u64;3239    readonly xcmpMaxIndividualWeight: u64;3240  }32413242  /** @name CumulusPalletXcmpQueueError (362) */3243  interface CumulusPalletXcmpQueueError extends Enum {3244    readonly isFailedToSend: boolean;3245    readonly isBadXcmOrigin: boolean;3246    readonly isBadXcm: boolean;3247    readonly isBadOverweightIndex: boolean;3248    readonly isWeightOverLimit: boolean;3249    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3250  }32513252  /** @name PalletXcmError (363) */3253  interface PalletXcmError extends Enum {3254    readonly isUnreachable: boolean;3255    readonly isSendFailure: boolean;3256    readonly isFiltered: boolean;3257    readonly isUnweighableMessage: boolean;3258    readonly isDestinationNotInvertible: boolean;3259    readonly isEmpty: boolean;3260    readonly isCannotReanchor: boolean;3261    readonly isTooManyAssets: boolean;3262    readonly isInvalidOrigin: boolean;3263    readonly isBadVersion: boolean;3264    readonly isBadLocation: boolean;3265    readonly isNoSubscription: boolean;3266    readonly isAlreadySubscribed: boolean;3267    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3268  }32693270  /** @name CumulusPalletXcmError (364) */3271  type CumulusPalletXcmError = Null;32723273  /** @name CumulusPalletDmpQueueConfigData (365) */3274  interface CumulusPalletDmpQueueConfigData extends Struct {3275    readonly maxIndividual: u64;3276  }32773278  /** @name CumulusPalletDmpQueuePageIndexData (366) */3279  interface CumulusPalletDmpQueuePageIndexData extends Struct {3280    readonly beginUsed: u32;3281    readonly endUsed: u32;3282    readonly overweightCount: u64;3283  }32843285  /** @name CumulusPalletDmpQueueError (369) */3286  interface CumulusPalletDmpQueueError extends Enum {3287    readonly isUnknown: boolean;3288    readonly isOverLimit: boolean;3289    readonly type: 'Unknown' | 'OverLimit';3290  }32913292  /** @name PalletUniqueError (373) */3293  interface PalletUniqueError extends Enum {3294    readonly isCollectionDecimalPointLimitExceeded: boolean;3295    readonly isConfirmUnsetSponsorFail: boolean;3296    readonly isEmptyArgument: boolean;3297    readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3298    readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3299  }33003301  /** @name PalletUniqueSchedulerScheduledV3 (376) */3302  interface PalletUniqueSchedulerScheduledV3 extends Struct {3303    readonly maybeId: Option<U8aFixed>;3304    readonly priority: u8;3305    readonly call: FrameSupportScheduleMaybeHashed;3306    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;3307    readonly origin: OpalRuntimeOriginCaller;3308  }33093310  /** @name OpalRuntimeOriginCaller (377) */3311  interface OpalRuntimeOriginCaller extends Enum {3312    readonly isSystem: boolean;3313    readonly asSystem: FrameSupportDispatchRawOrigin;3314    readonly isVoid: boolean;3315    readonly isPolkadotXcm: boolean;3316    readonly asPolkadotXcm: PalletXcmOrigin;3317    readonly isCumulusXcm: boolean;3318    readonly asCumulusXcm: CumulusPalletXcmOrigin;3319    readonly isEthereum: boolean;3320    readonly asEthereum: PalletEthereumRawOrigin;3321    readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';3322  }33233324  /** @name FrameSupportDispatchRawOrigin (378) */3325  interface FrameSupportDispatchRawOrigin extends Enum {3326    readonly isRoot: boolean;3327    readonly isSigned: boolean;3328    readonly asSigned: AccountId32;3329    readonly isNone: boolean;3330    readonly type: 'Root' | 'Signed' | 'None';3331  }33323333  /** @name PalletXcmOrigin (379) */3334  interface PalletXcmOrigin extends Enum {3335    readonly isXcm: boolean;3336    readonly asXcm: XcmV1MultiLocation;3337    readonly isResponse: boolean;3338    readonly asResponse: XcmV1MultiLocation;3339    readonly type: 'Xcm' | 'Response';3340  }33413342  /** @name CumulusPalletXcmOrigin (380) */3343  interface CumulusPalletXcmOrigin extends Enum {3344    readonly isRelay: boolean;3345    readonly isSiblingParachain: boolean;3346    readonly asSiblingParachain: u32;3347    readonly type: 'Relay' | 'SiblingParachain';3348  }33493350  /** @name PalletEthereumRawOrigin (381) */3351  interface PalletEthereumRawOrigin extends Enum {3352    readonly isEthereumTransaction: boolean;3353    readonly asEthereumTransaction: H160;3354    readonly type: 'EthereumTransaction';3355  }33563357  /** @name SpCoreVoid (382) */3358  type SpCoreVoid = Null;33593360  /** @name PalletUniqueSchedulerError (383) */3361  interface PalletUniqueSchedulerError extends Enum {3362    readonly isFailedToSchedule: boolean;3363    readonly isNotFound: boolean;3364    readonly isTargetBlockNumberInPast: boolean;3365    readonly isRescheduleNoChange: boolean;3366    readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';3367  }33683369  /** @name UpDataStructsCollection (384) */3370  interface UpDataStructsCollection extends Struct {3371    readonly owner: AccountId32;3372    readonly mode: UpDataStructsCollectionMode;3373    readonly name: Vec<u16>;3374    readonly description: Vec<u16>;3375    readonly tokenPrefix: Bytes;3376    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3377    readonly limits: UpDataStructsCollectionLimits;3378    readonly permissions: UpDataStructsCollectionPermissions;3379    readonly flags: U8aFixed;3380  }33813382  /** @name UpDataStructsSponsorshipStateAccountId32 (385) */3383  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3384    readonly isDisabled: boolean;3385    readonly isUnconfirmed: boolean;3386    readonly asUnconfirmed: AccountId32;3387    readonly isConfirmed: boolean;3388    readonly asConfirmed: AccountId32;3389    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3390  }33913392  /** @name UpDataStructsProperties (387) */3393  interface UpDataStructsProperties extends Struct {3394    readonly map: UpDataStructsPropertiesMapBoundedVec;3395    readonly consumedSpace: u32;3396    readonly spaceLimit: u32;3397  }33983399  /** @name UpDataStructsPropertiesMapBoundedVec (388) */3400  interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}34013402  /** @name UpDataStructsPropertiesMapPropertyPermission (393) */3403  interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}34043405  /** @name UpDataStructsCollectionStats (400) */3406  interface UpDataStructsCollectionStats extends Struct {3407    readonly created: u32;3408    readonly destroyed: u32;3409    readonly alive: u32;3410  }34113412  /** @name UpDataStructsTokenChild (401) */3413  interface UpDataStructsTokenChild extends Struct {3414    readonly token: u32;3415    readonly collection: u32;3416  }34173418  /** @name PhantomTypeUpDataStructs (402) */3419  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}34203421  /** @name UpDataStructsTokenData (404) */3422  interface UpDataStructsTokenData extends Struct {3423    readonly properties: Vec<UpDataStructsProperty>;3424    readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3425    readonly pieces: u128;3426  }34273428  /** @name UpDataStructsRpcCollection (406) */3429  interface UpDataStructsRpcCollection extends Struct {3430    readonly owner: AccountId32;3431    readonly mode: UpDataStructsCollectionMode;3432    readonly name: Vec<u16>;3433    readonly description: Vec<u16>;3434    readonly tokenPrefix: Bytes;3435    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3436    readonly limits: UpDataStructsCollectionLimits;3437    readonly permissions: UpDataStructsCollectionPermissions;3438    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3439    readonly properties: Vec<UpDataStructsProperty>;3440    readonly readOnly: bool;3441    readonly foreign: bool;3442  }34433444  /** @name RmrkTraitsCollectionCollectionInfo (407) */3445  interface RmrkTraitsCollectionCollectionInfo extends Struct {3446    readonly issuer: AccountId32;3447    readonly metadata: Bytes;3448    readonly max: Option<u32>;3449    readonly symbol: Bytes;3450    readonly nftsCount: u32;3451  }34523453  /** @name RmrkTraitsNftNftInfo (408) */3454  interface RmrkTraitsNftNftInfo extends Struct {3455    readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3456    readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3457    readonly metadata: Bytes;3458    readonly equipped: bool;3459    readonly pending: bool;3460  }34613462  /** @name RmrkTraitsNftRoyaltyInfo (410) */3463  interface RmrkTraitsNftRoyaltyInfo extends Struct {3464    readonly recipient: AccountId32;3465    readonly amount: Permill;3466  }34673468  /** @name RmrkTraitsResourceResourceInfo (411) */3469  interface RmrkTraitsResourceResourceInfo extends Struct {3470    readonly id: u32;3471    readonly resource: RmrkTraitsResourceResourceTypes;3472    readonly pending: bool;3473    readonly pendingRemoval: bool;3474  }34753476  /** @name RmrkTraitsPropertyPropertyInfo (412) */3477  interface RmrkTraitsPropertyPropertyInfo extends Struct {3478    readonly key: Bytes;3479    readonly value: Bytes;3480  }34813482  /** @name RmrkTraitsBaseBaseInfo (413) */3483  interface RmrkTraitsBaseBaseInfo extends Struct {3484    readonly issuer: AccountId32;3485    readonly baseType: Bytes;3486    readonly symbol: Bytes;3487  }34883489  /** @name RmrkTraitsNftNftChild (414) */3490  interface RmrkTraitsNftNftChild extends Struct {3491    readonly collectionId: u32;3492    readonly nftId: u32;3493  }34943495  /** @name PalletCommonError (416) */3496  interface PalletCommonError extends Enum {3497    readonly isCollectionNotFound: boolean;3498    readonly isMustBeTokenOwner: boolean;3499    readonly isNoPermission: boolean;3500    readonly isCantDestroyNotEmptyCollection: boolean;3501    readonly isPublicMintingNotAllowed: boolean;3502    readonly isAddressNotInAllowlist: boolean;3503    readonly isCollectionNameLimitExceeded: boolean;3504    readonly isCollectionDescriptionLimitExceeded: boolean;3505    readonly isCollectionTokenPrefixLimitExceeded: boolean;3506    readonly isTotalCollectionsLimitExceeded: boolean;3507    readonly isCollectionAdminCountExceeded: boolean;3508    readonly isCollectionLimitBoundsExceeded: boolean;3509    readonly isOwnerPermissionsCantBeReverted: boolean;3510    readonly isTransferNotAllowed: boolean;3511    readonly isAccountTokenLimitExceeded: boolean;3512    readonly isCollectionTokenLimitExceeded: boolean;3513    readonly isMetadataFlagFrozen: boolean;3514    readonly isTokenNotFound: boolean;3515    readonly isTokenValueTooLow: boolean;3516    readonly isApprovedValueTooLow: boolean;3517    readonly isCantApproveMoreThanOwned: boolean;3518    readonly isAddressIsZero: boolean;3519    readonly isUnsupportedOperation: boolean;3520    readonly isNotSufficientFounds: boolean;3521    readonly isUserIsNotAllowedToNest: boolean;3522    readonly isSourceCollectionIsNotAllowedToNest: boolean;3523    readonly isCollectionFieldSizeExceeded: boolean;3524    readonly isNoSpaceForProperty: boolean;3525    readonly isPropertyLimitReached: boolean;3526    readonly isPropertyKeyIsTooLong: boolean;3527    readonly isInvalidCharacterInPropertyKey: boolean;3528    readonly isEmptyPropertyKey: boolean;3529    readonly isCollectionIsExternal: boolean;3530    readonly isCollectionIsInternal: boolean;3531    readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';3532  }35333534  /** @name PalletFungibleError (418) */3535  interface PalletFungibleError extends Enum {3536    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3537    readonly isFungibleItemsHaveNoId: boolean;3538    readonly isFungibleItemsDontHaveData: boolean;3539    readonly isFungibleDisallowsNesting: boolean;3540    readonly isSettingPropertiesNotAllowed: boolean;3541    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3542  }35433544  /** @name PalletRefungibleItemData (419) */3545  interface PalletRefungibleItemData extends Struct {3546    readonly constData: Bytes;3547  }35483549  /** @name PalletRefungibleError (424) */3550  interface PalletRefungibleError extends Enum {3551    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3552    readonly isWrongRefungiblePieces: boolean;3553    readonly isRepartitionWhileNotOwningAllPieces: boolean;3554    readonly isRefungibleDisallowsNesting: boolean;3555    readonly isSettingPropertiesNotAllowed: boolean;3556    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3557  }35583559  /** @name PalletNonfungibleItemData (425) */3560  interface PalletNonfungibleItemData extends Struct {3561    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3562  }35633564  /** @name UpDataStructsPropertyScope (427) */3565  interface UpDataStructsPropertyScope extends Enum {3566    readonly isNone: boolean;3567    readonly isRmrk: boolean;3568    readonly type: 'None' | 'Rmrk';3569  }35703571  /** @name PalletNonfungibleError (429) */3572  interface PalletNonfungibleError extends Enum {3573    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3574    readonly isNonfungibleItemsHaveNoAmount: boolean;3575    readonly isCantBurnNftWithChildren: boolean;3576    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3577  }35783579  /** @name PalletStructureError (430) */3580  interface PalletStructureError extends Enum {3581    readonly isOuroborosDetected: boolean;3582    readonly isDepthLimit: boolean;3583    readonly isBreadthLimit: boolean;3584    readonly isTokenNotFound: boolean;3585    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3586  }35873588  /** @name PalletRmrkCoreError (431) */3589  interface PalletRmrkCoreError extends Enum {3590    readonly isCorruptedCollectionType: boolean;3591    readonly isRmrkPropertyKeyIsTooLong: boolean;3592    readonly isRmrkPropertyValueIsTooLong: boolean;3593    readonly isRmrkPropertyIsNotFound: boolean;3594    readonly isUnableToDecodeRmrkData: boolean;3595    readonly isCollectionNotEmpty: boolean;3596    readonly isNoAvailableCollectionId: boolean;3597    readonly isNoAvailableNftId: boolean;3598    readonly isCollectionUnknown: boolean;3599    readonly isNoPermission: boolean;3600    readonly isNonTransferable: boolean;3601    readonly isCollectionFullOrLocked: boolean;3602    readonly isResourceDoesntExist: boolean;3603    readonly isCannotSendToDescendentOrSelf: boolean;3604    readonly isCannotAcceptNonOwnedNft: boolean;3605    readonly isCannotRejectNonOwnedNft: boolean;3606    readonly isCannotRejectNonPendingNft: boolean;3607    readonly isResourceNotPending: boolean;3608    readonly isNoAvailableResourceId: boolean;3609    readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3610  }36113612  /** @name PalletRmrkEquipError (433) */3613  interface PalletRmrkEquipError extends Enum {3614    readonly isPermissionError: boolean;3615    readonly isNoAvailableBaseId: boolean;3616    readonly isNoAvailablePartId: boolean;3617    readonly isBaseDoesntExist: boolean;3618    readonly isNeedsDefaultThemeFirst: boolean;3619    readonly isPartDoesntExist: boolean;3620    readonly isNoEquippableOnFixedPart: boolean;3621    readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3622  }36233624  /** @name PalletAppPromotionError (439) */3625  interface PalletAppPromotionError extends Enum {3626    readonly isAdminNotSet: boolean;3627    readonly isNoPermission: boolean;3628    readonly isNotSufficientFunds: boolean;3629    readonly isPendingForBlockOverflow: boolean;3630    readonly isSponsorNotSet: boolean;3631    readonly isIncorrectLockedBalanceOperation: boolean;3632    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3633  }36343635  /** @name PalletForeignAssetsModuleError (440) */3636  interface PalletForeignAssetsModuleError extends Enum {3637    readonly isBadLocation: boolean;3638    readonly isMultiLocationExisted: boolean;3639    readonly isAssetIdNotExists: boolean;3640    readonly isAssetIdExisted: boolean;3641    readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3642  }36433644  /** @name PalletEvmError (443) */3645  interface PalletEvmError extends Enum {3646    readonly isBalanceLow: boolean;3647    readonly isFeeOverflow: boolean;3648    readonly isPaymentOverflow: boolean;3649    readonly isWithdrawFailed: boolean;3650    readonly isGasPriceTooLow: boolean;3651    readonly isInvalidNonce: boolean;3652    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';3653  }36543655  /** @name FpRpcTransactionStatus (446) */3656  interface FpRpcTransactionStatus extends Struct {3657    readonly transactionHash: H256;3658    readonly transactionIndex: u32;3659    readonly from: H160;3660    readonly to: Option<H160>;3661    readonly contractAddress: Option<H160>;3662    readonly logs: Vec<EthereumLog>;3663    readonly logsBloom: EthbloomBloom;3664  }36653666  /** @name EthbloomBloom (448) */3667  interface EthbloomBloom extends U8aFixed {}36683669  /** @name EthereumReceiptReceiptV3 (450) */3670  interface EthereumReceiptReceiptV3 extends Enum {3671    readonly isLegacy: boolean;3672    readonly asLegacy: EthereumReceiptEip658ReceiptData;3673    readonly isEip2930: boolean;3674    readonly asEip2930: EthereumReceiptEip658ReceiptData;3675    readonly isEip1559: boolean;3676    readonly asEip1559: EthereumReceiptEip658ReceiptData;3677    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3678  }36793680  /** @name EthereumReceiptEip658ReceiptData (451) */3681  interface EthereumReceiptEip658ReceiptData extends Struct {3682    readonly statusCode: u8;3683    readonly usedGas: U256;3684    readonly logsBloom: EthbloomBloom;3685    readonly logs: Vec<EthereumLog>;3686  }36873688  /** @name EthereumBlock (452) */3689  interface EthereumBlock extends Struct {3690    readonly header: EthereumHeader;3691    readonly transactions: Vec<EthereumTransactionTransactionV2>;3692    readonly ommers: Vec<EthereumHeader>;3693  }36943695  /** @name EthereumHeader (453) */3696  interface EthereumHeader extends Struct {3697    readonly parentHash: H256;3698    readonly ommersHash: H256;3699    readonly beneficiary: H160;3700    readonly stateRoot: H256;3701    readonly transactionsRoot: H256;3702    readonly receiptsRoot: H256;3703    readonly logsBloom: EthbloomBloom;3704    readonly difficulty: U256;3705    readonly number: U256;3706    readonly gasLimit: U256;3707    readonly gasUsed: U256;3708    readonly timestamp: u64;3709    readonly extraData: Bytes;3710    readonly mixHash: H256;3711    readonly nonce: EthereumTypesHashH64;3712  }37133714  /** @name EthereumTypesHashH64 (454) */3715  interface EthereumTypesHashH64 extends U8aFixed {}37163717  /** @name PalletEthereumError (459) */3718  interface PalletEthereumError extends Enum {3719    readonly isInvalidSignature: boolean;3720    readonly isPreLogExists: boolean;3721    readonly type: 'InvalidSignature' | 'PreLogExists';3722  }37233724  /** @name PalletEvmCoderSubstrateError (460) */3725  interface PalletEvmCoderSubstrateError extends Enum {3726    readonly isOutOfGas: boolean;3727    readonly isOutOfFund: boolean;3728    readonly type: 'OutOfGas' | 'OutOfFund';3729  }37303731  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (461) */3732  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3733    readonly isDisabled: boolean;3734    readonly isUnconfirmed: boolean;3735    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3736    readonly isConfirmed: boolean;3737    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3738    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3739  }37403741  /** @name PalletEvmContractHelpersSponsoringModeT (462) */3742  interface PalletEvmContractHelpersSponsoringModeT extends Enum {3743    readonly isDisabled: boolean;3744    readonly isAllowlisted: boolean;3745    readonly isGenerous: boolean;3746    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3747  }37483749  /** @name PalletEvmContractHelpersError (468) */3750  interface PalletEvmContractHelpersError extends Enum {3751    readonly isNoPermission: boolean;3752    readonly isNoPendingSponsor: boolean;3753    readonly isTooManyMethodsHaveSponsoredLimit: boolean;3754    readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3755  }37563757  /** @name PalletEvmMigrationError (469) */3758  interface PalletEvmMigrationError extends Enum {3759    readonly isAccountNotEmpty: boolean;3760    readonly isAccountIsNotMigrating: boolean;3761    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';3762  }37633764  /** @name SpRuntimeMultiSignature (471) */3765  interface SpRuntimeMultiSignature extends Enum {3766    readonly isEd25519: boolean;3767    readonly asEd25519: SpCoreEd25519Signature;3768    readonly isSr25519: boolean;3769    readonly asSr25519: SpCoreSr25519Signature;3770    readonly isEcdsa: boolean;3771    readonly asEcdsa: SpCoreEcdsaSignature;3772    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3773  }37743775  /** @name SpCoreEd25519Signature (472) */3776  interface SpCoreEd25519Signature extends U8aFixed {}37773778  /** @name SpCoreSr25519Signature (474) */3779  interface SpCoreSr25519Signature extends U8aFixed {}37803781  /** @name SpCoreEcdsaSignature (475) */3782  interface SpCoreEcdsaSignature extends U8aFixed {}37833784  /** @name FrameSystemExtensionsCheckSpecVersion (478) */3785  type FrameSystemExtensionsCheckSpecVersion = Null;37863787  /** @name FrameSystemExtensionsCheckTxVersion (479) */3788  type FrameSystemExtensionsCheckTxVersion = Null;37893790  /** @name FrameSystemExtensionsCheckGenesis (480) */3791  type FrameSystemExtensionsCheckGenesis = Null;37923793  /** @name FrameSystemExtensionsCheckNonce (483) */3794  interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}37953796  /** @name FrameSystemExtensionsCheckWeight (484) */3797  type FrameSystemExtensionsCheckWeight = Null;37983799  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (485) */3800  interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}38013802  /** @name OpalRuntimeRuntime (486) */3803  type OpalRuntimeRuntime = Null;38043805  /** @name PalletEthereumFakeTransactionFinalizer (487) */3806  type PalletEthereumFakeTransactionFinalizer = Null;38073808} // declare module
modifiedtests/src/interfaces/unique/definitions.tsdiffbeforeafterboth
--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -24,7 +24,7 @@
 
 const collectionParam = {name: 'collection', type: 'u32'};
 const tokenParam = {name: 'tokenId', type: 'u32'};
-const propertyKeysParam = {name: 'propertyKeys', type: 'Vec<String>', isOptional: true};
+const propertyKeysParam = {name: 'propertyKeys', type: 'Option<Vec<String>>', isOptional: true};
 const crossAccountParam = (name = 'account') => ({name, type: CROSS_ACCOUNT_ID_TYPE});
 const atParam = {name: 'at', type: 'Hash', isOptional: true};
 
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -20,8 +20,11 @@
     if (account.Ethereum) this.Ethereum = account.Ethereum;
   }
 
-  static fromKeyring(account: IKeyringPair) {
-    return new CrossAccountId({Substrate: account.address});
+  static fromKeyring(account: IKeyringPair, domain: 'Substrate' | 'Ethereum' = 'Substrate') {
+    switch (domain) {
+      case 'Substrate': return new CrossAccountId({Substrate: account.address});
+      case 'Ethereum': return new CrossAccountId({Substrate: account.address}).toEthereum();
+    }
   }
 
   static fromLowerCaseKeys(address: ICrossAccountIdLower): CrossAccountId {
@@ -40,6 +43,24 @@
     if (this.Substrate) return CrossAccountId.withNormalizedSubstrate(this.Substrate, ss58Format);
     return this;
   }
+
+  static translateSubToEth(address: TSubstrateAccount): TEthereumAccount {
+    return nesting.toChecksumAddress('0x' + Array.from(addressToEvm(address), i => i.toString(16).padStart(2, '0')).join(''));
+  }
+
+  toEthereum(): CrossAccountId {
+    if (this.Substrate) return new CrossAccountId({Ethereum: CrossAccountId.translateSubToEth(this.Substrate)});
+    return this;
+  }
+
+  static translateEthToSub(address: TEthereumAccount, ss58Format?: number): TSubstrateAccount {
+    return evmToAddress(address, ss58Format);
+  }
+
+  toSubstrate(ss58Format?: number): CrossAccountId {
+    if (this.Ethereum) return new CrossAccountId({Substrate: CrossAccountId.translateEthToSub(this.Ethereum, ss58Format)});
+    return this;
+  }
   
   toLowerCase(): CrossAccountId {
     if (this.Substrate) this.Substrate = this.Substrate.toLowerCase();
@@ -934,8 +955,8 @@
    * @example getProperties(1219, ['location', 'date', 'time', 'isParadise']);
    * @returns array of key-value pairs
    */
-  async getProperties(collectionId: number, propertyKeys: string[] | null = null): Promise<IProperty[]> {
-    return (await this.helper.callRpc('api.rpc.unique.collectionProperties', [collectionId, ...(propertyKeys === null ? [] : [propertyKeys])])).toHuman();
+  async getProperties(collectionId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {
+    return (await this.helper.callRpc('api.rpc.unique.collectionProperties', [collectionId, propertyKeys])).toHuman();
   }
 
   /**
@@ -1215,8 +1236,8 @@
    * @example getTokenProperties(1219, ['location', 'date', 'time', 'isParadise']);
    * @returns array of key-value pairs
    */
-  async getTokenProperties(collectionId: number, tokenId: number, propertyKeys: string[] | null = null): Promise<IProperty[]> {
-    return (await this.helper.callRpc('api.rpc.unique.tokenProperties', [collectionId, tokenId, ...(propertyKeys === null ? [] : [propertyKeys])])).toHuman();
+  async getTokenProperties(collectionId: number, tokenId: number, propertyKeys?: string[] | null): Promise<IProperty[]> {
+    return (await this.helper.callRpc('api.rpc.unique.tokenProperties', [collectionId, tokenId, propertyKeys])).toHuman();
   }
 
   /**
@@ -2013,6 +2034,9 @@
 
 
 class BalanceGroup extends HelperGroup {
+  getCollectionCreationPrice(): bigint {
+    return 2n * this.helper.balance.getOneTokenNominal();
+  }
   /**
    * Representation of the native token in the smallest unit - one OPAL (OPL), QUARTZ (QTZ), or UNIQUE (UNQ).
    * @example getOneTokenNominal()
@@ -2100,9 +2124,8 @@
    * @example normalizeSubstrateToChainFormat("5GrwvaEF5zXb26Fz...") // returns unjKJQJrRd238pkUZZ... for Unique Network
    * @returns address in chain format
    */
-  async normalizeSubstrateToChainFormat(address: TSubstrateAccount): Promise<TSubstrateAccount> {
-    const info = this.helper.chain.getChainProperties();
-    return encodeAddress(decodeAddress(address), info.ss58Format);
+  normalizeSubstrateToChainFormat(address: TSubstrateAccount): TSubstrateAccount {
+    return this.normalizeSubstrate(address, this.helper.chain.getChainProperties().ss58Format);
   }
 
   /**
@@ -2112,10 +2135,8 @@
    * @example ethToSubstrate('0x9F0583DbB855d...')
    * @returns substrate mirror of a provided ethereum address
    */
-  async ethToSubstrate(ethAddress: TEthereumAccount, toChainFormat=false): Promise<TSubstrateAccount> {
-    if(!toChainFormat) return evmToAddress(ethAddress);
-    const info = this.helper.chain.getChainProperties();
-    return evmToAddress(ethAddress, info.ss58Format);
+  ethToSubstrate(ethAddress: TEthereumAccount, toChainFormat=false): TSubstrateAccount {
+    return CrossAccountId.translateEthToSub(ethAddress, toChainFormat ? this.helper.chain.getChainProperties().ss58Format : undefined);
   }
 
   /**
@@ -2125,7 +2146,7 @@
    * @returns ethereum mirror of a provided substrate address
    */
   substrateToEth(subAddress: TSubstrateAccount): TEthereumAccount {
-    return nesting.toChecksumAddress('0x' + Array.from(addressToEvm(subAddress), i => i.toString(16).padStart(2, '0')).join(''));
+    return CrossAccountId.translateSubToEth(subAddress);
   }
 }
 
@@ -2272,7 +2293,7 @@
     return await this.helper.collection.getEffectiveLimits(this.collectionId);
   }
 
-  async getProperties(propertyKeys: string[] | null = null) {
+  async getProperties(propertyKeys?: string[] | null) {
     return await this.helper.collection.getProperties(this.collectionId, propertyKeys);
   }
 
@@ -2371,7 +2392,7 @@
     return await this.helper.nft.getPropertyPermissions(this.collectionId, propertyKeys);
   }
 
-  async getTokenProperties(tokenId: number, propertyKeys: string[] | null = null) {
+  async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {
     return await this.helper.nft.getTokenProperties(this.collectionId, tokenId, propertyKeys);
   }
 
@@ -2462,7 +2483,7 @@
     return await this.helper.rft.getPropertyPermissions(this.collectionId, propertyKeys);
   }
 
-  async getTokenProperties(tokenId: number, propertyKeys: string[] | null = null) {
+  async getTokenProperties(tokenId: number, propertyKeys?: string[] | null) {
     return await this.helper.rft.getTokenProperties(this.collectionId, tokenId, propertyKeys);
   }
 
@@ -2574,7 +2595,7 @@
     return await this.collection.getTokenNextSponsored(this.tokenId, addressObj);
   }
 
-  async getProperties(propertyKeys: string[] | null = null) {
+  async getProperties(propertyKeys?: string[] | null) {
     return await this.collection.getTokenProperties(this.tokenId, propertyKeys);
   }