git.delta.rocks / unique-network / refs/commits / 159d4fc7deeb

difftreelog

Merge pull request #893 from UniqueNetwork/feature/preimage

Yaroslav Bolyukin2023-02-22parents: #8c90034 #5894371.patch.diff
in: master

34 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5541,6 +5541,7 @@
  "pallet-inflation",
  "pallet-maintenance",
  "pallet-nonfungible",
+ "pallet-preimage",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
  "pallet-session",
@@ -6480,6 +6481,7 @@
  "frame-system",
  "parity-scale-codec",
  "scale-info",
+ "sp-core",
  "sp-std",
 ]
 
@@ -8968,6 +8970,7 @@
  "pallet-inflation",
  "pallet-maintenance",
  "pallet-nonfungible",
+ "pallet-preimage",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
  "pallet-session",
@@ -13198,6 +13201,7 @@
  "pallet-inflation",
  "pallet-maintenance",
  "pallet-nonfungible",
+ "pallet-preimage",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
  "pallet-session",
modifiedCargo.tomldiffbeforeafterboth
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -98,6 +98,7 @@
 pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 pallet-randomness-collective-flip = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -137,9 +137,13 @@
 bench-app-promotion:
 	make _bench PALLET=app-promotion PALLET_DIR=app-promotion
 
+.PHONY: bench-maintenance
+bench-maintenance:
+	make _bench PALLET=maintenance
+
 .PHONY: bench
 # Disabled: bench-scheduler, bench-collator-selection, bench-identity
-bench: bench-common bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-configuration bench-foreign-assets
+bench: bench-common bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-configuration bench-foreign-assets bench-maintenance
 
 .PHONY: check
 check:
modifiedpallets/maintenance/Cargo.tomldiffbeforeafterboth
--- a/pallets/maintenance/Cargo.toml
+++ b/pallets/maintenance/Cargo.toml
@@ -18,10 +18,11 @@
 frame-benchmarking = { workspace = true, optional = true }
 frame-support = { workspace = true }
 frame-system = { workspace = true }
+sp-core = { workspace = true }
 sp-std = { workspace = true }
 
 [features]
 default = ["std"]
 runtime-benchmarks = ["frame-benchmarking", "frame-support/runtime-benchmarks", "frame-system/runtime-benchmarks"]
-std = ["codec/std", "frame-benchmarking/std", "frame-support/std", "frame-system/std", "scale-info/std", "sp-std/std"]
+std = ["codec/std", "frame-benchmarking/std", "frame-support/std", "frame-system/std", "scale-info/std", "sp-core/std", "sp-std/std"]
 try-runtime = ["frame-support/try-runtime"]
modifiedpallets/maintenance/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/maintenance/src/benchmarking.rs
+++ b/pallets/maintenance/src/benchmarking.rs
@@ -17,9 +17,10 @@
 use super::*;
 use crate::{Pallet as Maintenance, Config};
 
+use codec::Encode;
 use frame_benchmarking::benchmarks;
 use frame_system::RawOrigin;
-use frame_support::ensure;
+use frame_support::{ensure, pallet_prelude::Weight, traits::StorePreimage};
 
 benchmarks! {
 	enable {
@@ -34,4 +35,11 @@
 	verify {
 		ensure!(!<Enabled<T>>::get(), "didn't disable the MM");
 	}
+
+	execute_preimage {
+		let call = <T as Config>::RuntimeCall::from(frame_system::Call::<T>::remark { remark: 1u32.encode() });
+		let hash = T::Preimages::note(call.encode().into())?;
+	}: _(RawOrigin::Root, hash, Weight::from_parts(100000000000, 100000000000))
+	verify {
+	}
 }
modifiedpallets/maintenance/src/lib.rsdiffbeforeafterboth
--- a/pallets/maintenance/src/lib.rs
+++ b/pallets/maintenance/src/lib.rs
@@ -25,13 +25,36 @@
 
 #[frame_support::pallet]
 pub mod pallet {
-	use frame_support::pallet_prelude::*;
+	use frame_support::{dispatch::*, pallet_prelude::*};
+	use frame_support::{
+		traits::{QueryPreimage, StorePreimage},
+	};
 	use frame_system::pallet_prelude::*;
+	use sp_core::H256;
+
 	use crate::weights::WeightInfo;
 
 	#[pallet::config]
 	pub trait Config: frame_system::Config {
+		/// The overarching event type.
 		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
+
+		/// The runtime origin type.
+		type RuntimeOrigin: From<RawOrigin<Self::AccountId>>
+			+ IsType<<Self as frame_system::Config>::RuntimeOrigin>;
+
+		/// The aggregated call type.
+		type RuntimeCall: Parameter
+			+ Dispatchable<
+				RuntimeOrigin = <Self as Config>::RuntimeOrigin,
+				PostInfo = PostDispatchInfo,
+			> + GetDispatchInfo
+			+ From<frame_system::Call<Self>>;
+
+		/// The preimage provider with which we look up call hashes to get the call.
+		type Preimages: QueryPreimage + StorePreimage;
+
+		/// Weight information for extrinsics in this pallet.
 		type WeightInfo: WeightInfo;
 	}
 
@@ -78,5 +101,49 @@
 
 			Ok(())
 		}
+
+		/// Execute a runtime call stored as a preimage.
+		///
+		/// `weight_bound` is the maximum weight that the caller is willing
+		/// to allow the extrinsic to be executed with.
+		#[pallet::call_index(2)]
+		#[pallet::weight(<T as Config>::WeightInfo::execute_preimage() + *weight_bound)]
+		pub fn execute_preimage(
+			origin: OriginFor<T>,
+			hash: H256,
+			weight_bound: Weight,
+		) -> DispatchResultWithPostInfo {
+			use codec::Decode;
+
+			ensure_root(origin)?;
+
+			let data = T::Preimages::fetch(&hash, None)?;
+			weight_bound.set_proof_size(
+				weight_bound
+					.proof_size()
+					.checked_sub(
+						data.len()
+							.try_into()
+							.map_err(|_| DispatchError::Corruption)?,
+					)
+					.ok_or(DispatchError::Exhausted)?,
+			);
+
+			let call = <T as Config>::RuntimeCall::decode(&mut &data[..])
+				.map_err(|_| DispatchError::Corruption)?;
+
+			ensure!(
+				call.get_dispatch_info().weight.all_lte(weight_bound),
+				DispatchError::Exhausted
+			);
+
+			match call.dispatch(frame_system::RawOrigin::Root.into()) {
+				Ok(_) => Ok(Pays::No.into()),
+				Err(error_and_info) => Err(DispatchErrorWithPostInfo {
+					post_info: Pays::No.into(),
+					error: error_and_info.error,
+				}),
+			}
+		}
 	}
 }
modifiedpallets/maintenance/src/weights.rsdiffbeforeafterboth
--- a/pallets/maintenance/src/weights.rs
+++ b/pallets/maintenance/src/weights.rs
@@ -3,7 +3,7 @@
 //! Autogenerated weights for pallet_maintenance
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-11-01, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2023-02-22, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
@@ -26,6 +26,7 @@
 #![cfg_attr(rustfmt, rustfmt_skip)]
 #![allow(unused_parens)]
 #![allow(unused_imports)]
+#![allow(missing_docs)]
 #![allow(clippy::unnecessary_cast)]
 
 use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
@@ -35,6 +36,7 @@
 pub trait WeightInfo {
 	fn enable() -> Weight;
 	fn disable() -> Weight;
+	fn execute_preimage() -> Weight;
 }
 
 /// Weights for pallet_maintenance using the Substrate node and recommended hardware.
@@ -42,13 +44,19 @@
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
 	// Storage: Maintenance Enabled (r:0 w:1)
 	fn enable() -> Weight {
-		Weight::from_ref_time(7_367_000)
-			.saturating_add(T::DbWeight::get().writes(1))
+		Weight::from_ref_time(10_860_000 as u64)
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
 	}
 	// Storage: Maintenance Enabled (r:0 w:1)
 	fn disable() -> Weight {
-		Weight::from_ref_time(7_273_000)
-			.saturating_add(T::DbWeight::get().writes(1))
+		Weight::from_ref_time(10_871_000 as u64)
+			.saturating_add(T::DbWeight::get().writes(1 as u64))
+	}
+	// Storage: Preimage StatusFor (r:1 w:0)
+	// Storage: Preimage PreimageFor (r:1 w:0)
+	fn execute_preimage() -> Weight {
+		Weight::from_ref_time(10_068_000 as u64)
+			.saturating_add(T::DbWeight::get().reads(2 as u64))
 	}
 }
 
@@ -56,12 +64,18 @@
 impl WeightInfo for () {
 	// Storage: Maintenance Enabled (r:0 w:1)
 	fn enable() -> Weight {
-		Weight::from_ref_time(7_367_000)
-			.saturating_add(RocksDbWeight::get().writes(1))
+		Weight::from_ref_time(10_860_000 as u64)
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
 	}
 	// Storage: Maintenance Enabled (r:0 w:1)
 	fn disable() -> Weight {
-		Weight::from_ref_time(7_273_000)
-			.saturating_add(RocksDbWeight::get().writes(1))
+		Weight::from_ref_time(10_871_000 as u64)
+			.saturating_add(RocksDbWeight::get().writes(1 as u64))
+	}
+	// Storage: Preimage StatusFor (r:1 w:0)
+	// Storage: Preimage PreimageFor (r:1 w:0)
+	fn execute_preimage() -> Weight {
+		Weight::from_ref_time(10_068_000 as u64)
+			.saturating_add(RocksDbWeight::get().reads(2 as u64))
 	}
 }
modifiedpallets/scheduler-v2/Cargo.tomldiffbeforeafterboth
--- a/pallets/scheduler-v2/Cargo.toml
+++ b/pallets/scheduler-v2/Cargo.toml
@@ -24,7 +24,7 @@
 sp-std = { workspace = true }
 
 [dev-dependencies]
-pallet-preimage = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
+pallet-preimage = { workspace = true }
 substrate-test-utils = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.37" }
 
 [features]
modifiedruntime/common/config/pallets/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -23,7 +23,7 @@
 		weights::CommonWeights,
 		RelayChainBlockNumberProvider,
 	},
-	Runtime, RuntimeEvent, RuntimeCall, Balances,
+	Runtime, RuntimeEvent, RuntimeCall, RuntimeOrigin, Balances,
 };
 use frame_support::traits::{ConstU32, ConstU64};
 use up_common::{
@@ -47,6 +47,9 @@
 #[cfg(feature = "collator-selection")]
 pub mod collator_selection;
 
+#[cfg(feature = "preimage")]
+pub mod preimage;
+
 parameter_types! {
 	pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating();
 	pub const CollectionCreationPrice: Balance = 2 * UNIQUE;
@@ -123,5 +126,11 @@
 
 impl pallet_maintenance::Config for Runtime {
 	type RuntimeEvent = RuntimeEvent;
+	type RuntimeOrigin = RuntimeOrigin;
+	type RuntimeCall = RuntimeCall;
+	#[cfg(feature = "preimage")]
+	type Preimages = crate::Preimage;
+	#[cfg(not(feature = "preimage"))]
+	type Preimages = ();
 	type WeightInfo = pallet_maintenance::weights::SubstrateWeight<Self>;
 }
addedruntime/common/config/pallets/preimage.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/common/config/pallets/preimage.rs
@@ -0,0 +1,33 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+use frame_support::parameter_types;
+use frame_system::EnsureRoot;
+use crate::{AccountId, Balance, Balances, Runtime, RuntimeEvent};
+use up_common::constants::*;
+
+parameter_types! {
+	pub PreimageBaseDeposit: Balance = 1000 * UNIQUE;
+}
+
+impl pallet_preimage::Config for Runtime {
+	type WeightInfo = pallet_preimage::weights::SubstrateWeight<Runtime>;
+	type RuntimeEvent = RuntimeEvent;
+	type Currency = Balances;
+	type ManagerOrigin = EnsureRoot<AccountId>;
+	type BaseDeposit = PreimageBaseDeposit;
+	type ByteDeposit = TransactionByteFee;
+}
modifiedruntime/common/construct_runtime.rsdiffbeforeafterboth
--- a/runtime/common/construct_runtime.rs
+++ b/runtime/common/construct_runtime.rs
@@ -56,6 +56,9 @@
                 #[cfg(feature = "collator-selection")]
                 Identity: pallet_identity::{Pallet, Call, Storage, Event<T>} = 40,
 
+                #[cfg(feature = "preimage")]
+                Preimage: pallet_preimage::{Pallet, Call, Storage, Event<T>} = 41,
+
                 // XCM helpers.
                 XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event<T>} = 50,
                 PolkadotXcm: pallet_xcm::{Pallet, Call, Event<T>, Origin} = 51,
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -568,6 +568,7 @@
                     #[cfg(feature = "foreign-assets")]
                     list_benchmark!(list, extra, pallet_foreign_assets, ForeignAssets);
 
+                    list_benchmark!(list, extra, pallet_maintenance, Maintenance);
 
                     // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
@@ -632,6 +633,8 @@
                     #[cfg(feature = "foreign-assets")]
                     add_benchmark!(params, batches, pallet_foreign_assets, ForeignAssets);
 
+                    add_benchmark!(params, batches, pallet_maintenance, Maintenance);
+
                     // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -18,7 +18,7 @@
 [features]
 default = ['opal-runtime', 'std']
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
-opal-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'pallet-test-utils', 'refungible']
+opal-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'preimage', 'pallet-test-utils', 'refungible']
 pov-estimate = []
 runtime-benchmarks = [
 	'cumulus-pallet-parachain-system/runtime-benchmarks',
@@ -41,6 +41,7 @@
 	'pallet-inflation/runtime-benchmarks',
 	'pallet-maintenance/runtime-benchmarks',
 	'pallet-nonfungible/runtime-benchmarks',
+	"pallet-preimage/runtime-benchmarks",
 	'pallet-refungible/runtime-benchmarks',
 	'pallet-structure/runtime-benchmarks',
 	'pallet-timestamp/runtime-benchmarks',
@@ -69,6 +70,7 @@
 	# 'pallet-contracts-primitives/std',
 	# 'pallet-contracts-rpc-runtime-api/std',
 	# 'pallet-contract-helpers/std',
+	"pallet-preimage/std",
 	"pallet-authorship/std",
 	"pallet-session/std",
 	"sp-consensus-aura/std",
@@ -139,6 +141,7 @@
 	"pallet-collator-selection/try-runtime",
 	"pallet-identity/try-runtime",
 	"pallet-session/try-runtime",
+	"pallet-preimage/try-runtime",
 	'cumulus-pallet-aura-ext/try-runtime',
 	'cumulus-pallet-dmp-queue/try-runtime',
 	'cumulus-pallet-parachain-system/try-runtime',
@@ -188,6 +191,7 @@
 app-promotion = []
 collator-selection = []
 foreign-assets = []
+preimage = []
 pallet-test-utils = []
 refungible = []
 scheduler = []
@@ -218,6 +222,7 @@
 pallet-aura = { workspace = true }
 pallet-authorship = { workspace = true }
 pallet-balances = { workspace = true }
+pallet-preimage = { workspace = true }
 pallet-randomness-collective-flip = { workspace = true }
 pallet-session = { workspace = true }
 pallet-sudo = { workspace = true }
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -20,7 +20,7 @@
 default = ['quartz-runtime', 'std']
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
 pov-estimate = []
-quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'refungible']
+quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'preimage', 'refungible']
 runtime-benchmarks = [
 	'cumulus-pallet-parachain-system/runtime-benchmarks',
 	'frame-benchmarking',
@@ -42,6 +42,7 @@
 	'pallet-inflation/runtime-benchmarks',
 	'pallet-maintenance/runtime-benchmarks',
 	'pallet-nonfungible/runtime-benchmarks',
+	"pallet-preimage/runtime-benchmarks",
 	'pallet-refungible/runtime-benchmarks',
 	'pallet-structure/runtime-benchmarks',
 	'pallet-timestamp/runtime-benchmarks',
@@ -69,6 +70,7 @@
 	# 'pallet-contracts-primitives/std',
 	# 'pallet-contracts-rpc-runtime-api/std',
 	# 'pallet-contract-helpers/std',
+	"pallet-preimage/std",
 	"pallet-authorship/std",
 	"pallet-identity/std",
 	"pallet-session/std",
@@ -136,6 +138,7 @@
 	"pallet-collator-selection/try-runtime",
 	"pallet-identity/try-runtime",
 	"pallet-session/try-runtime",
+	"pallet-preimage/try-runtime",
 	'cumulus-pallet-aura-ext/try-runtime',
 	'cumulus-pallet-dmp-queue/try-runtime',
 	'cumulus-pallet-parachain-system/try-runtime',
@@ -181,6 +184,7 @@
 app-promotion = []
 collator-selection = []
 foreign-assets = []
+preimage = []
 refungible = []
 scheduler = []
 
@@ -210,6 +214,7 @@
 pallet-aura = { workspace = true }
 pallet-authorship = { workspace = true }
 pallet-balances = { workspace = true }
+pallet-preimage = { workspace = true }
 pallet-randomness-collective-flip = { workspace = true }
 pallet-session = { workspace = true }
 pallet-sudo = { workspace = true }
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -39,6 +39,7 @@
 	'pallet-inflation/runtime-benchmarks',
 	'pallet-maintenance/runtime-benchmarks',
 	'pallet-nonfungible/runtime-benchmarks',
+	"pallet-preimage/runtime-benchmarks",
 	'pallet-refungible/runtime-benchmarks',
 	'pallet-structure/runtime-benchmarks',
 	'pallet-timestamp/runtime-benchmarks',
@@ -67,6 +68,7 @@
 	# 'pallet-contracts-primitives/std',
 	# 'pallet-contracts-rpc-runtime-api/std',
 	# 'pallet-contract-helpers/std',
+	"pallet-preimage/std",
 	"pallet-authorship/std",
 	"pallet-identity/std",
 	"pallet-session/std",
@@ -134,6 +136,7 @@
 	"pallet-collator-selection/try-runtime",
 	"pallet-identity/try-runtime",
 	"pallet-session/try-runtime",
+	"pallet-preimage/try-runtime",
 	'cumulus-pallet-aura-ext/try-runtime',
 	'cumulus-pallet-dmp-queue/try-runtime',
 	'cumulus-pallet-parachain-system/try-runtime',
@@ -180,6 +183,7 @@
 app-promotion = []
 collator-selection = []
 foreign-assets = []
+preimage = []
 refungible = []
 scheduler = []
 
@@ -209,6 +213,7 @@
 pallet-aura = { workspace = true }
 pallet-authorship = { workspace = true }
 pallet-balances = { workspace = true }
+pallet-preimage = { workspace = true }
 pallet-randomness-collective-flip = { workspace = true }
 pallet-session = { workspace = true }
 pallet-sudo = { workspace = true }
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -82,7 +82,7 @@
     "testSetOffchainSchema": "mocha --timeout 9999999 -r ts-node/register ./**/setOffchainSchema.test.ts",
     "testNextSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/nextSponsoring.test.ts",
     "testOverflow": "mocha --timeout 9999999 -r ts-node/register ./**/overflow.test.ts",
-    "testMaintenance": "mocha --timeout 9999999 -r ts-node/register ./**/maintenanceMode.seqtest.ts",
+    "testMaintenance": "mocha --timeout 9999999 -r ts-node/register ./**/maintenance.seqtest.ts",
     "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.seqtest.ts",
     "testScheduler": "mocha --timeout 9999999 -r ts-node/register ./**/scheduler.seqtest.ts",
     "testSchedulingEVM": "mocha --timeout 9999999 -r ts-node/register ./**/eth/scheduling.test.ts",
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -41,6 +41,18 @@
        **/
       [key: string]: Codec;
     };
+    authorship: {
+      /**
+       * The number of blocks back we should accept uncles.
+       * This means that we will deal with uncle-parents that are
+       * `UncleGenerations + 1` before `now`.
+       **/
+      uncleGenerations: u32 & AugmentedConst<ApiType>;
+      /**
+       * Generic const
+       **/
+      [key: string]: Codec;
+    };
     balances: {
       /**
        * The minimum amount required to keep an account open.
@@ -102,6 +114,40 @@
        **/
       [key: string]: Codec;
     };
+    identity: {
+      /**
+       * The amount held on deposit for a registered identity
+       **/
+      basicDeposit: u128 & AugmentedConst<ApiType>;
+      /**
+       * The amount held on deposit per additional field for a registered identity.
+       **/
+      fieldDeposit: u128 & AugmentedConst<ApiType>;
+      /**
+       * Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O
+       * required to access an identity, but can be pretty high.
+       **/
+      maxAdditionalFields: u32 & AugmentedConst<ApiType>;
+      /**
+       * Maxmimum number of registrars allowed in the system. Needed to bound the complexity
+       * of, e.g., updating judgements.
+       **/
+      maxRegistrars: u32 & AugmentedConst<ApiType>;
+      /**
+       * The maximum number of sub-accounts allowed per identified account.
+       **/
+      maxSubAccounts: u32 & AugmentedConst<ApiType>;
+      /**
+       * The amount held on deposit for a registered subaccount. This should account for the fact
+       * that one storage item's value will increase by the size of an account ID, and there will
+       * be another trie item whose value is the size of an account ID plus 32 bytes.
+       **/
+      subAccountDeposit: u128 & AugmentedConst<ApiType>;
+      /**
+       * Generic const
+       **/
+      [key: string]: Codec;
+    };
     inflation: {
       /**
        * Number of blocks that pass between treasury balance updates due to inflation
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -21,6 +21,10 @@
        **/
       IncorrectLockedBalanceOperation: AugmentedError<ApiType>;
       /**
+       * Errors caused by insufficient staked balance.
+       **/
+      InsufficientStakedBalance: AugmentedError<ApiType>;
+      /**
        * No permission to perform an action.
        **/
       NoPermission: AugmentedError<ApiType>;
@@ -41,6 +45,40 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    authorship: {
+      /**
+       * The uncle is genesis.
+       **/
+      GenesisUncle: AugmentedError<ApiType>;
+      /**
+       * The uncle parent not in the chain.
+       **/
+      InvalidUncleParent: AugmentedError<ApiType>;
+      /**
+       * The uncle isn't recent enough to be included.
+       **/
+      OldUncle: AugmentedError<ApiType>;
+      /**
+       * The uncle is too high in chain.
+       **/
+      TooHighUncle: AugmentedError<ApiType>;
+      /**
+       * Too many uncles.
+       **/
+      TooManyUncles: AugmentedError<ApiType>;
+      /**
+       * The uncle is already included.
+       **/
+      UncleAlreadyIncluded: AugmentedError<ApiType>;
+      /**
+       * Uncles already set in the block.
+       **/
+      UnclesAlreadySet: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     balances: {
       /**
        * Beneficiary account must pre-exist
@@ -79,6 +117,64 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * User is already a candidate
+       **/
+      AlreadyCandidate: AugmentedError<ApiType>;
+      /**
+       * User already holds license to collate
+       **/
+      AlreadyHoldingLicense: AugmentedError<ApiType>;
+      /**
+       * User is already an Invulnerable
+       **/
+      AlreadyInvulnerable: AugmentedError<ApiType>;
+      /**
+       * Account has no associated validator ID
+       **/
+      NoAssociatedValidatorId: AugmentedError<ApiType>;
+      /**
+       * User does not hold a license to collate
+       **/
+      NoLicense: AugmentedError<ApiType>;
+      /**
+       * User is not a candidate
+       **/
+      NotCandidate: AugmentedError<ApiType>;
+      /**
+       * User is not an Invulnerable
+       **/
+      NotInvulnerable: AugmentedError<ApiType>;
+      /**
+       * Permission issue
+       **/
+      Permission: AugmentedError<ApiType>;
+      /**
+       * Too few invulnerables
+       **/
+      TooFewInvulnerables: AugmentedError<ApiType>;
+      /**
+       * Too many candidates
+       **/
+      TooManyCandidates: AugmentedError<ApiType>;
+      /**
+       * Too many invulnerables
+       **/
+      TooManyInvulnerables: AugmentedError<ApiType>;
+      /**
+       * Unknown error
+       **/
+      Unknown: AugmentedError<ApiType>;
+      /**
+       * Validator ID is not yet registered
+       **/
+      ValidatorNotRegistered: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     common: {
       /**
        * Account token limit exceeded per collection
@@ -425,6 +521,84 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    identity: {
+      /**
+       * Account ID is already named.
+       **/
+      AlreadyClaimed: AugmentedError<ApiType>;
+      /**
+       * Empty index.
+       **/
+      EmptyIndex: AugmentedError<ApiType>;
+      /**
+       * Fee is changed.
+       **/
+      FeeChanged: AugmentedError<ApiType>;
+      /**
+       * The index is invalid.
+       **/
+      InvalidIndex: AugmentedError<ApiType>;
+      /**
+       * Invalid judgement.
+       **/
+      InvalidJudgement: AugmentedError<ApiType>;
+      /**
+       * The target is invalid.
+       **/
+      InvalidTarget: AugmentedError<ApiType>;
+      /**
+       * The provided judgement was for a different identity.
+       **/
+      JudgementForDifferentIdentity: AugmentedError<ApiType>;
+      /**
+       * Judgement given.
+       **/
+      JudgementGiven: AugmentedError<ApiType>;
+      /**
+       * Error that occurs when there is an issue paying for judgement.
+       **/
+      JudgementPaymentFailed: AugmentedError<ApiType>;
+      /**
+       * No identity found.
+       **/
+      NoIdentity: AugmentedError<ApiType>;
+      /**
+       * Account isn't found.
+       **/
+      NotFound: AugmentedError<ApiType>;
+      /**
+       * Account isn't named.
+       **/
+      NotNamed: AugmentedError<ApiType>;
+      /**
+       * Sub-account isn't owned by sender.
+       **/
+      NotOwned: AugmentedError<ApiType>;
+      /**
+       * Sender is not a sub-account.
+       **/
+      NotSub: AugmentedError<ApiType>;
+      /**
+       * Sticky judgement.
+       **/
+      StickyJudgement: AugmentedError<ApiType>;
+      /**
+       * Too many additional fields.
+       **/
+      TooManyFields: AugmentedError<ApiType>;
+      /**
+       * Maximum amount of registrars reached. Cannot add any more.
+       **/
+      TooManyRegistrars: AugmentedError<ApiType>;
+      /**
+       * Too many subs-accounts.
+       **/
+      TooManySubAccounts: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     maintenance: {
       /**
        * Generic error
@@ -549,145 +723,83 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
-    refungible: {
+    preimage: {
       /**
-       * Not Refungible item data used to mint in Refungible collection.
+       * Preimage has already been noted on-chain.
        **/
-      NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;
+      AlreadyNoted: AugmentedError<ApiType>;
       /**
-       * Refungible token can't nest other tokens.
+       * The user is not authorized to perform this action.
        **/
-      RefungibleDisallowsNesting: AugmentedError<ApiType>;
+      NotAuthorized: AugmentedError<ApiType>;
       /**
-       * Refungible token can't be repartitioned by user who isn't owns all pieces.
+       * The preimage cannot be removed since it has not yet been noted.
        **/
-      RepartitionWhileNotOwningAllPieces: AugmentedError<ApiType>;
+      NotNoted: AugmentedError<ApiType>;
       /**
-       * Setting item properties is not allowed.
+       * The preimage request cannot be removed since no outstanding requests exist.
        **/
-      SettingPropertiesNotAllowed: AugmentedError<ApiType>;
+      NotRequested: AugmentedError<ApiType>;
       /**
-       * Maximum refungibility exceeded.
+       * A preimage may not be removed when there are outstanding requests.
        **/
-      WrongRefungiblePieces: AugmentedError<ApiType>;
+      Requested: AugmentedError<ApiType>;
       /**
+       * Preimage is too large to store on-chain.
+       **/
+      TooBig: AugmentedError<ApiType>;
+      /**
        * Generic error
        **/
       [key: string]: AugmentedError<ApiType>;
     };
-    rmrkCore: {
-      /**
-       * Not the target owner of the sent NFT.
-       **/
-      CannotAcceptNonOwnedNft: AugmentedError<ApiType>;
-      /**
-       * Not the target owner of the sent NFT.
-       **/
-      CannotRejectNonOwnedNft: AugmentedError<ApiType>;
-      /**
-       * NFT was not sent and is not pending.
-       **/
-      CannotRejectNonPendingNft: AugmentedError<ApiType>;
-      /**
-       * If an NFT is sent to a descendant, that would form a nesting loop, an ouroboros.
-       * Sending to self is redundant.
-       **/
-      CannotSendToDescendentOrSelf: AugmentedError<ApiType>;
-      /**
-       * Too many tokens created in the collection, no new ones are allowed.
-       **/
-      CollectionFullOrLocked: AugmentedError<ApiType>;
-      /**
-       * Only destroying collections without tokens is allowed.
-       **/
-      CollectionNotEmpty: AugmentedError<ApiType>;
-      /**
-       * Collection does not exist, has a wrong type, or does not map to a Unique ID.
-       **/
-      CollectionUnknown: AugmentedError<ApiType>;
-      /**
-       * Property of the type of RMRK collection could not be read successfully.
-       **/
-      CorruptedCollectionType: AugmentedError<ApiType>;
-      /**
-       * Could not find an ID for a collection. It is likely there were too many collections created on the chain, causing an overflow.
-       **/
-      NoAvailableCollectionId: AugmentedError<ApiType>;
-      /**
-       * Token does not exist, or there is no suitable ID for it, likely too many tokens were created in a collection, causing an overflow.
-       **/
-      NoAvailableNftId: AugmentedError<ApiType>;
-      /**
-       * Could not find an ID for the resource. It is likely there were too many resources created on an NFT, causing an overflow.
-       **/
-      NoAvailableResourceId: AugmentedError<ApiType>;
-      /**
-       * Token is marked as non-transferable, and thus cannot be transferred.
-       **/
-      NonTransferable: AugmentedError<ApiType>;
+    refungible: {
       /**
-       * No permission to perform action.
-       **/
-      NoPermission: AugmentedError<ApiType>;
-      /**
-       * No such resource found.
+       * Not Refungible item data used to mint in Refungible collection.
        **/
-      ResourceDoesntExist: AugmentedError<ApiType>;
+      NotRefungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;
       /**
-       * Resource is not pending for the operation.
+       * Refungible token can't nest other tokens.
        **/
-      ResourceNotPending: AugmentedError<ApiType>;
+      RefungibleDisallowsNesting: AugmentedError<ApiType>;
       /**
-       * Could not find a property by the supplied key.
+       * Refungible token can't be repartitioned by user who isn't owns all pieces.
        **/
-      RmrkPropertyIsNotFound: AugmentedError<ApiType>;
+      RepartitionWhileNotOwningAllPieces: AugmentedError<ApiType>;
       /**
-       * Too many symbols supplied as the property key. The maximum is [256](up_data_structs::MAX_PROPERTY_KEY_LENGTH).
+       * Setting item properties is not allowed.
        **/
-      RmrkPropertyKeyIsTooLong: AugmentedError<ApiType>;
+      SettingPropertiesNotAllowed: AugmentedError<ApiType>;
       /**
-       * Too many bytes supplied as the property value. The maximum is [32768](up_data_structs::MAX_PROPERTY_VALUE_LENGTH).
+       * Maximum refungibility exceeded.
        **/
-      RmrkPropertyValueIsTooLong: AugmentedError<ApiType>;
+      WrongRefungiblePieces: AugmentedError<ApiType>;
       /**
-       * Something went wrong when decoding encoded data from the storage.
-       * Perhaps, there was a wrong key supplied for the type, or the data was improperly stored.
-       **/
-      UnableToDecodeRmrkData: AugmentedError<ApiType>;
-      /**
        * Generic error
        **/
       [key: string]: AugmentedError<ApiType>;
     };
-    rmrkEquip: {
+    session: {
       /**
-       * Base collection linked to this ID does not exist.
+       * Registered duplicate key.
        **/
-      BaseDoesntExist: AugmentedError<ApiType>;
-      /**
-       * No Theme named "default" is associated with the Base.
-       **/
-      NeedsDefaultThemeFirst: AugmentedError<ApiType>;
+      DuplicatedKey: AugmentedError<ApiType>;
       /**
-       * Could not find an ID for a Base collection. It is likely there were too many collections created on the chain, causing an overflow.
-       **/
-      NoAvailableBaseId: AugmentedError<ApiType>;
-      /**
-       * Could not find a suitable ID for a Part, likely too many Part tokens were created in the Base, causing an overflow
+       * Invalid ownership proof.
        **/
-      NoAvailablePartId: AugmentedError<ApiType>;
+      InvalidProof: AugmentedError<ApiType>;
       /**
-       * Cannot assign equippables to a fixed Part.
+       * Key setting account is not live, so it's impossible to associate keys.
        **/
-      NoEquippableOnFixedPart: AugmentedError<ApiType>;
+      NoAccount: AugmentedError<ApiType>;
       /**
-       * Part linked to this ID does not exist.
+       * No associated validator ID for account.
        **/
-      PartDoesntExist: AugmentedError<ApiType>;
+      NoAssociatedValidatorId: AugmentedError<ApiType>;
       /**
-       * No permission to perform action.
+       * No keys are associated with this account.
        **/
-      PermissionError: AugmentedError<ApiType>;
+      NoKeys: AugmentedError<ApiType>;
       /**
        * Generic error
        **/
@@ -699,6 +811,10 @@
        **/
       BreadthLimit: AugmentedError<ApiType>;
       /**
+       * Tried to nest token under collection contract address, instead of token address
+       **/
+      CantNestTokenUnderCollection: AugmentedError<ApiType>;
+      /**
        * While nesting, reached the depth limit of nesting, exceeding the provided budget.
        **/
       DepthLimit: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -8,7 +8,7 @@
 import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
 import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
 
 export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
 
@@ -100,6 +100,18 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    collatorSelection: {
+      CandidateAdded: AugmentedEvent<ApiType, [accountId: AccountId32], { accountId: AccountId32 }>;
+      CandidateRemoved: AugmentedEvent<ApiType, [accountId: AccountId32], { accountId: AccountId32 }>;
+      InvulnerableAdded: AugmentedEvent<ApiType, [invulnerable: AccountId32], { invulnerable: AccountId32 }>;
+      InvulnerableRemoved: AugmentedEvent<ApiType, [invulnerable: AccountId32], { invulnerable: AccountId32 }>;
+      LicenseObtained: AugmentedEvent<ApiType, [accountId: AccountId32, deposit: u128], { accountId: AccountId32, deposit: u128 }>;
+      LicenseReleased: AugmentedEvent<ApiType, [accountId: AccountId32, depositReturned: u128], { accountId: AccountId32, depositReturned: u128 }>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     common: {
       /**
        * Address was added to the allow list.
@@ -340,6 +352,65 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    identity: {
+      /**
+       * A number of identities and associated info were forcibly inserted.
+       **/
+      IdentitiesInserted: AugmentedEvent<ApiType, [amount: u32], { amount: u32 }>;
+      /**
+       * A number of identities and all associated info were forcibly removed.
+       **/
+      IdentitiesRemoved: AugmentedEvent<ApiType, [amount: u32], { amount: u32 }>;
+      /**
+       * A name was cleared, and the given balance returned.
+       **/
+      IdentityCleared: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], { who: AccountId32, deposit: u128 }>;
+      /**
+       * A name was removed and the given balance slashed.
+       **/
+      IdentityKilled: AugmentedEvent<ApiType, [who: AccountId32, deposit: u128], { who: AccountId32, deposit: u128 }>;
+      /**
+       * A name was set or reset (which will remove all judgements).
+       **/
+      IdentitySet: AugmentedEvent<ApiType, [who: AccountId32], { who: AccountId32 }>;
+      /**
+       * A judgement was given by a registrar.
+       **/
+      JudgementGiven: AugmentedEvent<ApiType, [target: AccountId32, registrarIndex: u32], { target: AccountId32, registrarIndex: u32 }>;
+      /**
+       * A judgement was asked from a registrar.
+       **/
+      JudgementRequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], { who: AccountId32, registrarIndex: u32 }>;
+      /**
+       * A judgement request was retracted.
+       **/
+      JudgementUnrequested: AugmentedEvent<ApiType, [who: AccountId32, registrarIndex: u32], { who: AccountId32, registrarIndex: u32 }>;
+      /**
+       * A registrar was added.
+       **/
+      RegistrarAdded: AugmentedEvent<ApiType, [registrarIndex: u32], { registrarIndex: u32 }>;
+      /**
+       * A number of identities were forcibly updated with new sub-identities.
+       **/
+      SubIdentitiesInserted: AugmentedEvent<ApiType, [amount: u32], { amount: u32 }>;
+      /**
+       * A sub-identity was added to an identity and the deposit paid.
+       **/
+      SubIdentityAdded: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
+      /**
+       * A sub-identity was removed from an identity and the deposit freed.
+       **/
+      SubIdentityRemoved: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
+      /**
+       * A sub-identity was cleared, and the given deposit repatriated from the
+       * main identity account to the sub-identity account.
+       **/
+      SubIdentityRevoked: AugmentedEvent<ApiType, [sub: AccountId32, main: AccountId32, deposit: u128], { sub: AccountId32, main: AccountId32, deposit: u128 }>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     maintenance: {
       MaintenanceDisabled: AugmentedEvent<ApiType, []>;
       MaintenanceEnabled: AugmentedEvent<ApiType, []>;
@@ -506,30 +577,30 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
-    rmrkCore: {
-      CollectionCreated: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
-      CollectionDestroyed: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
-      CollectionLocked: AugmentedEvent<ApiType, [issuer: AccountId32, collectionId: u32], { issuer: AccountId32, collectionId: u32 }>;
-      IssuerChanged: AugmentedEvent<ApiType, [oldIssuer: AccountId32, newIssuer: AccountId32, collectionId: u32], { oldIssuer: AccountId32, newIssuer: AccountId32, collectionId: u32 }>;
-      NFTAccepted: AugmentedEvent<ApiType, [sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32], { sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32 }>;
-      NFTBurned: AugmentedEvent<ApiType, [owner: AccountId32, nftId: u32], { owner: AccountId32, nftId: u32 }>;
-      NftMinted: AugmentedEvent<ApiType, [owner: AccountId32, collectionId: u32, nftId: u32], { owner: AccountId32, collectionId: u32, nftId: u32 }>;
-      NFTRejected: AugmentedEvent<ApiType, [sender: AccountId32, collectionId: u32, nftId: u32], { sender: AccountId32, collectionId: u32, nftId: u32 }>;
-      NFTSent: AugmentedEvent<ApiType, [sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32, approvalRequired: bool], { sender: AccountId32, recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple, collectionId: u32, nftId: u32, approvalRequired: bool }>;
-      PrioritySet: AugmentedEvent<ApiType, [collectionId: u32, nftId: u32], { collectionId: u32, nftId: u32 }>;
-      PropertySet: AugmentedEvent<ApiType, [collectionId: u32, maybeNftId: Option<u32>, key: Bytes, value: Bytes], { collectionId: u32, maybeNftId: Option<u32>, key: Bytes, value: Bytes }>;
-      ResourceAccepted: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
-      ResourceAdded: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
-      ResourceRemoval: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
-      ResourceRemovalAccepted: AugmentedEvent<ApiType, [nftId: u32, resourceId: u32], { nftId: u32, resourceId: u32 }>;
+    preimage: {
+      /**
+       * A preimage has ben cleared.
+       **/
+      Cleared: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
+      /**
+       * A preimage has been noted.
+       **/
+      Noted: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
+      /**
+       * A preimage has been requested.
+       **/
+      Requested: AugmentedEvent<ApiType, [hash_: H256], { hash_: H256 }>;
       /**
        * Generic event
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
-    rmrkEquip: {
-      BaseCreated: AugmentedEvent<ApiType, [issuer: AccountId32, baseId: u32], { issuer: AccountId32, baseId: u32 }>;
-      EquippablesUpdated: AugmentedEvent<ApiType, [baseId: u32, slotId: u32], { baseId: u32, slotId: u32 }>;
+    session: {
+      /**
+       * New session has happened. Note that the argument is the session index, not the
+       * block number as the type might suggest.
+       **/
+      NewSession: AugmentedEvent<ApiType, [sessionIndex: u32], { sessionIndex: u32 }>;
       /**
        * Generic event
        **/
@@ -707,6 +778,10 @@
        **/
       Spending: AugmentedEvent<ApiType, [budgetRemaining: u128], { budgetRemaining: u128 }>;
       /**
+       * The inactive funds of the pallet have been updated.
+       **/
+      UpdatedInactive: AugmentedEvent<ApiType, [reactivated: u128, deactivated: u128], { reactivated: u128, deactivated: u128 }>;
+      /**
        * Generic event
        **/
       [key: string]: AugmentedEvent<ApiType>;
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -6,10 +6,11 @@
 import '@polkadot/api-base/types/storage';
 
 import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';
+import type { Data } from '@polkadot/types';
 import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletNonfungibleItemData, PalletPreimageRequestStatus, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
 import type { Observable } from '@polkadot/types/types';
 
 export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -23,7 +24,7 @@
        **/
       admin: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * Stores amount of stakes for an `Account`.
+       * Pending unstake records for an `Account`.
        * 
        * * **Key** - Staker account.
        * * **Value** - Amount of stakes.
@@ -44,7 +45,7 @@
        **/
       staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[u128, u32]>>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;
       /**
-       * Stores amount of stakes for an `Account`.
+       * Stores number of stake records for an `Account`.
        * 
        * * **Key** - Staker account.
        * * **Value** - Amount of stakes.
@@ -54,11 +55,30 @@
        * Stores the total staked amount.
        **/
       totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
+      upgradedToReserves: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Generic query
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    authorship: {
+      /**
+       * Author of current block.
+       **/
+      author: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Whether uncles were already set in this block.
+       **/
+      didSetUncles: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Uncles
+       **/
+      uncles: AugmentedQuery<ApiType, () => Observable<Vec<PalletAuthorshipUncleEntryItem>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     balances: {
       /**
        * The Balances pallet example of storing the balance of an account.
@@ -115,6 +135,28 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * The (community, limited) collation candidates.
+       **/
+      candidates: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * The invulnerable, fixed collators.
+       **/
+      invulnerables: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Last block authored by collator.
+       **/
+      lastAuthoredBlock: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u32>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * The (community) collation license holders.
+       **/
+      licenseDepositOf: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u128>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     common: {
       /**
        * Storage of the amount of collection admins.
@@ -267,6 +309,9 @@
        * * **Value** - owner for contract.
        **/
       owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
+      /**
+       * Deprecated: this storage is deprecated
+       **/
       selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;
       sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;
       /**
@@ -366,6 +411,38 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    identity: {
+      /**
+       * Information that is pertinent to identify the entity behind an account.
+       * 
+       * TWOX-NOTE: OK ― `AccountId` is a secure hash.
+       **/
+      identityOf: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletIdentityRegistration>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * The set of registrars. Not expected to get very big as can only be added through a
+       * special origin (likely a council motion).
+       * 
+       * The index into this can be cast to `RegistrarIndex` to get a valid value.
+       **/
+      registrars: AugmentedQuery<ApiType, () => Observable<Vec<Option<PalletIdentityRegistrarInfo>>>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Alternative "sub" identities of this account.
+       * 
+       * The first item is the deposit, the second is a vector of the accounts.
+       * 
+       * TWOX-NOTE: OK ― `AccountId` is a secure hash.
+       **/
+      subsOf: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<ITuple<[u128, Vec<AccountId32>]>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * The super-identity of an alternative "sub" identity together with its name, within that
+       * context. If the account is not some other account's sub-identity, then just `None`.
+       **/
+      superOf: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<ITuple<[AccountId32, Data]>>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     inflation: {
       /**
        * Current inflation for `InflationBlockInterval` number of blocks
@@ -425,7 +502,7 @@
        * usual [`TokenProperties`] due to an unlimited number
        * and separately stored and written-to key-value pairs.
        * 
-       * Currently used to store RMRK data.
+       * Currently unused.
        **/
       tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;
       /**
@@ -602,6 +679,17 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    preimage: {
+      preimageFor: AugmentedQuery<ApiType, (arg: ITuple<[H256, u32]> | [H256 | string | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<Option<Bytes>>, [ITuple<[H256, u32]>]> & QueryableStorageEntry<ApiType, [ITuple<[H256, u32]>]>;
+      /**
+       * The request status of a given hash.
+       **/
+      statusFor: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletPreimageRequestStatus>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     randomnessCollectiveFlip: {
       /**
        * Series of block headers from the last 81 blocks that acts as random seed material. This
@@ -628,7 +716,7 @@
        **/
       balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
-       * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.
+       * Spender set by a wallet owner that could perform certain transactions on all tokens in the wallet.
        **/
       collectionAllowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
       /**
@@ -656,29 +744,41 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
-    rmrkCore: {
+    session: {
       /**
-       * Latest yet-unused collection ID.
+       * Current index of the session.
        **/
-      collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      currentIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * Mapping from RMRK collection ID to Unique's.
+       * Indices of disabled validators.
+       * 
+       * The vec is always kept sorted so that we can find whether a given validator is
+       * disabled using binary search. It gets cleared when `on_session_ending` returns
+       * a new set of identities.
        **/
-      uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      disabledValidators: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * Generic query
+       * The owner of a key. The key is the `KeyTypeId` + the encoded key.
+       **/
+      keyOwner: AugmentedQuery<ApiType, (arg: ITuple<[SpCoreCryptoKeyTypeId, Bytes]> | [SpCoreCryptoKeyTypeId | string | Uint8Array, Bytes | string | Uint8Array]) => Observable<Option<AccountId32>>, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]> & QueryableStorageEntry<ApiType, [ITuple<[SpCoreCryptoKeyTypeId, Bytes]>]>;
+      /**
+       * The next session keys for a validator.
+       **/
+      nextKeys: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<OpalRuntimeRuntimeCommonSessionKeys>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+      /**
+       * True if the underlying economic identities or weighting behind the validators
+       * has changed in the queued validator set.
        **/
-      [key: string]: QueryableStorageEntry<ApiType>;
-    };
-    rmrkEquip: {
+      queuedChanged: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * Checkmark that a Base has a Theme NFT named "default".
+       * The queued keys for the next session. When the next session begins, these keys
+       * will be used to determine the validator's session keys.
        **/
-      baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      queuedKeys: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[AccountId32, OpalRuntimeRuntimeCommonSessionKeys]>>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
-       * Map of a Base ID and a Part ID to an NFT in the Base collection serving as the Part.
+       * The current set of validators.
        **/
-      inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
+      validators: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Generic query
        **/
@@ -852,7 +952,7 @@
       /**
        * The amount which has been reported as inactive to Currency.
        **/
-      inactive: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
+      deactivated: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Number of proposals that have been made.
        **/
modifiedtests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/rpc-core/types/jsonrpc';
 
-import type { PalletEvmAccountBasicCrossAccountIdRepr, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsPartPartType, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo } from './default';
+import type { PalletEvmAccountBasicCrossAccountIdRepr, UpDataStructsCollectionLimits, UpDataStructsCollectionStats, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsRpcCollection, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo } from './default';
 import type { AugmentedRpc } from '@polkadot/rpc-core/types';
 import type { Metadata, StorageKey } from '@polkadot/types';
 import type { Bytes, HashMap, Json, Null, Option, Text, U256, U64, Vec, bool, f64, u128, u32, u64 } from '@polkadot/types-codec';
@@ -26,7 +26,7 @@
 import type { StorageKind } from '@polkadot/types/interfaces/offchain';
 import type { FeeDetails, RuntimeDispatchInfoV1 } from '@polkadot/types/interfaces/payment';
 import type { RpcMethods } from '@polkadot/types/interfaces/rpc';
-import type { AccountId, AccountId32, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
+import type { AccountId, BlockNumber, H160, H256, H64, Hash, Header, Index, Justification, KeyValue, SignedBlock, StorageData } from '@polkadot/types/interfaces/runtime';
 import type { MigrationStatusResult, ReadProof, RuntimeVersion, TraceBlockResponse } from '@polkadot/types/interfaces/state';
 import type { ApplyExtrinsicResult, ChainProperties, ChainType, Health, NetworkState, NodeRole, PeerInfo, SyncState } from '@polkadot/types/interfaces/system';
 import type { IExtrinsic, Observable } from '@polkadot/types/types';
@@ -441,60 +441,6 @@
        * Estimate PoV size of encoded signed extrinsics
        **/
       estimateExtrinsicPoV: AugmentedRpc<(encodedXt: Vec<Bytes> | (Bytes | string | Uint8Array)[], at?: Hash | string | Uint8Array) => Observable<UpPovEstimateRpcPovInfo>>;
-    };
-    rmrk: {
-      /**
-       * Get tokens owned by an account in a collection
-       **/
-      accountTokens: AugmentedRpc<(accountId: AccountId32 | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<u32>>>;
-      /**
-       * Get base info
-       **/
-      base: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTraitsBaseBaseInfo>>>;
-      /**
-       * Get all Base's parts
-       **/
-      baseParts: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTraitsPartPartType>>>;
-      /**
-       * Get collection by id
-       **/
-      collectionById: AugmentedRpc<(id: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTraitsCollectionCollectionInfo>>>;
-      /**
-       * Get collection properties
-       **/
-      collectionProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, filterKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTraitsPropertyPropertyInfo>>>;
-      /**
-       * Get the latest created collection id
-       **/
-      lastCollectionIdx: AugmentedRpc<(at?: Hash | string | Uint8Array) => Observable<u32>>;
-      /**
-       * Get NFT by collection id and NFT id
-       **/
-      nftById: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<RmrkTraitsNftNftInfo>>>;
-      /**
-       * Get NFT children
-       **/
-      nftChildren: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTraitsNftNftChild>>>;
-      /**
-       * Get NFT properties
-       **/
-      nftProperties: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, filterKeys?: Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTraitsPropertyPropertyInfo>>>;
-      /**
-       * Get NFT resource priorities
-       **/
-      nftResourcePriority: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<u32>>>;
-      /**
-       * Get NFT resources
-       **/
-      nftResources: AugmentedRpc<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<RmrkTraitsResourceResourceInfo>>>;
-      /**
-       * Get Base's theme names
-       **/
-      themeNames: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Vec<Bytes>>>;
-      /**
-       * Get Theme's keys values
-       **/
-      themes: AugmentedRpc<(baseId: u32 | AnyNumber | Uint8Array, themeName: Text | string, keys: Option<Vec<Text>> | null | Uint8Array | Vec<Text> | (Text | string)[], at?: Hash | string | Uint8Array) => Observable<Option<RmrkTraitsTheme>>>;
     };
     rpc: {
       /**
modifiedtests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -6,10 +6,11 @@
 import '@polkadot/api-base/types/submittable';
 
 import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';
+import type { Data } from '@polkadot/types';
 import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
-import type { AccountId32, Call, H160, H256, MultiAddress, Permill } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { AccountId32, Call, H160, H256, MultiAddress } from '@polkadot/types/interfaces/runtime';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OpalRuntimeRuntimeCommonSessionKeys, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistration, SpRuntimeHeader, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
 
 export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>;
 export type __SubmittableExtrinsic<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
@@ -109,11 +110,31 @@
       stopSponsoringContract: AugmentedSubmittable<(contractId: H160 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H160]>;
       /**
        * Unstakes all stakes.
-       * Moves the sum of all stakes to the `reserved` state.
        * After the end of `PendingInterval` this sum becomes completely
        * free for further use.
        **/
-      unstake: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      unstakeAll: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Unstakes the amount of balance for the staker.
+       * After the end of `PendingInterval` this sum becomes completely
+       * free for further use.
+       * 
+       * # Arguments
+       * 
+       * * `staker`: staker account.
+       * * `amount`: amount of unstaked funds.
+       **/
+      unstakePartial: AugmentedSubmittable<(amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u128]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
+    authorship: {
+      /**
+       * Provide a set of uncles.
+       **/
+      setUncles: AugmentedSubmittable<(newUncles: Vec<SpRuntimeHeader> | (SpRuntimeHeader | { parentHash?: any; number?: any; stateRoot?: any; extrinsicsRoot?: any; digest?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<SpRuntimeHeader>]>;
       /**
        * Generic tx
        **/
@@ -214,6 +235,54 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    collatorSelection: {
+      /**
+       * Add a collator to the list of invulnerable (fixed) collators.
+       **/
+      addInvulnerable: AugmentedSubmittable<(updated: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Force deregister `origin` as a collator candidate as a governing authority, and revoke its license.
+       * Note that the collator can only leave on session change.
+       * The `LicenseBond` will be unreserved and returned immediately.
+       * 
+       * This call is, of course, not applicable to `Invulnerable` collators.
+       **/
+      forceReleaseLicense: AugmentedSubmittable<(who: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Purchase a license on block collation for this account.
+       * It does not make it a collator candidate, use `onboard` afterward. The account must
+       * (a) already have registered session keys and (b) be able to reserve the `LicenseBond`.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      getLicense: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Deregister `origin` as a collator candidate. Note that the collator can only leave on
+       * session change. The license to `onboard` later at any other time will remain.
+       **/
+      offboard: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Register this account as a candidate for collators for next sessions.
+       * The account must already hold a license, and cannot offboard immediately during a session.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      onboard: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Forfeit `origin`'s own license. The `LicenseBond` will be unreserved immediately.
+       * 
+       * This call is not available to `Invulnerable` collators.
+       **/
+      releaseLicense: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Remove a collator from the list of invulnerable (fixed) collators.
+       **/
+      removeInvulnerable: AugmentedSubmittable<(who: AccountId32 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [AccountId32]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     configuration: {
       setAppPromotionConfigurationOverride: AugmentedSubmittable<(configuration: PalletConfigurationAppPromotionConfiguration | { recalculationInterval?: any; pendingInterval?: any; intervalIncome?: any; maxStakersPerCalculation?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletConfigurationAppPromotionConfiguration]>;
       setCollatorSelectionDesiredCollators: AugmentedSubmittable<(max: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;
@@ -308,6 +377,10 @@
        **/
       insertEvents: AugmentedSubmittable<(events: Vec<Bytes> | (Bytes | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Bytes>]>;
       /**
+       * Remove remark compatibility data leftovers
+       **/
+      removeRmrkData: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
        * Insert items into contract storage, this method can be called
        * multiple times
        **/
@@ -325,6 +398,298 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    identity: {
+      /**
+       * Add a registrar to the system.
+       * 
+       * The dispatch origin for this call must be `T::RegistrarOrigin`.
+       * 
+       * - `account`: the account of the registrar.
+       * 
+       * Emits `RegistrarAdded` if successful.
+       * 
+       * # <weight>
+       * - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).
+       * - One storage mutation (codec `O(R)`).
+       * - One event.
+       * # </weight>
+       **/
+      addRegistrar: AugmentedSubmittable<(account: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
+      /**
+       * Add the given account to the sender's subs.
+       * 
+       * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
+       * to the sender.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * sub identity of `sub`.
+       **/
+      addSub: AugmentedSubmittable<(sub: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Data]>;
+      /**
+       * Cancel a previous request.
+       * 
+       * Payment: A previously reserved deposit is returned on success.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a
+       * registered identity.
+       * 
+       * - `reg_index`: The index of the registrar whose judgement is no longer requested.
+       * 
+       * Emits `JudgementUnrequested` if successful.
+       * 
+       * # <weight>
+       * - `O(R + X)`.
+       * - One balance-reserve operation.
+       * - One storage mutation `O(R + X)`.
+       * - One event
+       * # </weight>
+       **/
+      cancelRequest: AugmentedSubmittable<(regIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Clear an account's identity info and all sub-accounts and return all deposits.
+       * 
+       * Payment: All reserved balances on the account are returned.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * identity.
+       * 
+       * Emits `IdentityCleared` if successful.
+       * 
+       * # <weight>
+       * - `O(R + S + X)`
+       * - where `R` registrar-count (governance-bounded).
+       * - where `S` subs-count (hard- and deposit-bounded).
+       * - where `X` additional-field-count (deposit-bounded and code-bounded).
+       * - One balance-unreserve operation.
+       * - `2` storage reads and `S + 2` storage deletions.
+       * - One event.
+       * # </weight>
+       **/
+      clearIdentity: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Set identities to be associated with the provided accounts as force origin.
+       * 
+       * This is not meant to operate in tandem with the identity pallet as is,
+       * and be instead used to keep identities made and verified externally,
+       * forbidden from interacting with an ordinary user, since it ignores any safety mechanism.
+       **/
+      forceInsertIdentities: AugmentedSubmittable<(identities: Vec<ITuple<[AccountId32, PalletIdentityRegistration]>> | ([AccountId32 | string | Uint8Array, PalletIdentityRegistration | { judgements?: any; deposit?: any; info?: any } | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[AccountId32, PalletIdentityRegistration]>>]>;
+      /**
+       * Remove identities associated with the provided accounts as force origin.
+       * 
+       * This is not meant to operate in tandem with the identity pallet as is,
+       * and be instead used to keep identities made and verified externally,
+       * forbidden from interacting with an ordinary user, since it ignores any safety mechanism.
+       **/
+      forceRemoveIdentities: AugmentedSubmittable<(identities: Vec<AccountId32> | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>]>;
+      /**
+       * Set sub-identities to be associated with the provided accounts as force origin.
+       * 
+       * This is not meant to operate in tandem with the identity pallet as is,
+       * and be instead used to keep identities made and verified externally,
+       * forbidden from interacting with an ordinary user, since it ignores any safety mechanism.
+       **/
+      forceSetSubs: AugmentedSubmittable<(subs: Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>> | ([AccountId32 | string | Uint8Array, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]> | [u128 | AnyNumber | Uint8Array, Vec<ITuple<[AccountId32, Data]>> | ([AccountId32 | string | Uint8Array, Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array])[]]])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>>]>;
+      /**
+       * Remove an account's identity and sub-account information and slash the deposits.
+       * 
+       * Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by
+       * `Slash`. Verification request deposits are not returned; they should be cancelled
+       * manually using `cancel_request`.
+       * 
+       * The dispatch origin for this call must match `T::ForceOrigin`.
+       * 
+       * - `target`: the account whose identity the judgement is upon. This must be an account
+       * with a registered identity.
+       * 
+       * Emits `IdentityKilled` if successful.
+       * 
+       * # <weight>
+       * - `O(R + S + X)`.
+       * - One balance-reserve operation.
+       * - `S + 2` storage mutations.
+       * - One event.
+       * # </weight>
+       **/
+      killIdentity: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
+      /**
+       * Provide a judgement for an account's identity.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must be the account
+       * of the registrar whose index is `reg_index`.
+       * 
+       * - `reg_index`: the index of the registrar whose judgement is being made.
+       * - `target`: the account whose identity the judgement is upon. This must be an account
+       * with a registered identity.
+       * - `judgement`: the judgement of the registrar of index `reg_index` about `target`.
+       * - `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided.
+       * 
+       * Emits `JudgementGiven` if successful.
+       * 
+       * # <weight>
+       * - `O(R + X)`.
+       * - One balance-transfer operation.
+       * - Up to one account-lookup operation.
+       * - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.
+       * - One event.
+       * # </weight>
+       **/
+      provideJudgement: AugmentedSubmittable<(regIndex: Compact<u32> | AnyNumber | Uint8Array, target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, judgement: PalletIdentityJudgement | { Unknown: any } | { FeePaid: any } | { Reasonable: any } | { KnownGood: any } | { OutOfDate: any } | { LowQuality: any } | { Erroneous: any } | string | Uint8Array, identity: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress, PalletIdentityJudgement, H256]>;
+      /**
+       * Remove the sender as a sub-account.
+       * 
+       * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
+       * to the sender (*not* the original depositor).
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * super-identity.
+       * 
+       * NOTE: This should not normally be used, but is provided in the case that the non-
+       * controller of an account is maliciously registered as a sub-account.
+       **/
+      quitSub: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Remove the given account from the sender's subs.
+       * 
+       * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
+       * to the sender.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * sub identity of `sub`.
+       **/
+      removeSub: AugmentedSubmittable<(sub: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress]>;
+      /**
+       * Alter the associated name of the given sub-account.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * sub identity of `sub`.
+       **/
+      renameSub: AugmentedSubmittable<(sub: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [MultiAddress, Data]>;
+      /**
+       * Request a judgement from a registrar.
+       * 
+       * Payment: At most `max_fee` will be reserved for payment to the registrar if judgement
+       * given.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a
+       * registered identity.
+       * 
+       * - `reg_index`: The index of the registrar whose judgement is requested.
+       * - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:
+       * 
+       * ```nocompile
+       * Self::registrars().get(reg_index).unwrap().fee
+       * ```
+       * 
+       * Emits `JudgementRequested` if successful.
+       * 
+       * # <weight>
+       * - `O(R + X)`.
+       * - One balance-reserve operation.
+       * - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.
+       * - One event.
+       * # </weight>
+       **/
+      requestJudgement: AugmentedSubmittable<(regIndex: Compact<u32> | AnyNumber | Uint8Array, maxFee: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Compact<u128>]>;
+      /**
+       * Change the account associated with a registrar.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must be the account
+       * of the registrar whose index is `index`.
+       * 
+       * - `index`: the index of the registrar whose fee is to be set.
+       * - `new`: the new account ID.
+       * 
+       * # <weight>
+       * - `O(R)`.
+       * - One storage mutation `O(R)`.
+       * - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)
+       * # </weight>
+       **/
+      setAccountId: AugmentedSubmittable<(index: Compact<u32> | AnyNumber | Uint8Array, updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, MultiAddress]>;
+      /**
+       * Set the fee required for a judgement to be requested from a registrar.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must be the account
+       * of the registrar whose index is `index`.
+       * 
+       * - `index`: the index of the registrar whose fee is to be set.
+       * - `fee`: the new fee.
+       * 
+       * # <weight>
+       * - `O(R)`.
+       * - One storage mutation `O(R)`.
+       * - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)
+       * # </weight>
+       **/
+      setFee: AugmentedSubmittable<(index: Compact<u32> | AnyNumber | Uint8Array, fee: Compact<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Compact<u128>]>;
+      /**
+       * Set the field information for a registrar.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must be the account
+       * of the registrar whose index is `index`.
+       * 
+       * - `index`: the index of the registrar whose fee is to be set.
+       * - `fields`: the fields that the registrar concerns themselves with.
+       * 
+       * # <weight>
+       * - `O(R)`.
+       * - One storage mutation `O(R)`.
+       * - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)
+       * # </weight>
+       **/
+      setFields: AugmentedSubmittable<(index: Compact<u32> | AnyNumber | Uint8Array, fields: PalletIdentityBitFlags) => SubmittableExtrinsic<ApiType>, [Compact<u32>, PalletIdentityBitFlags]>;
+      /**
+       * Set an account's identity information and reserve the appropriate deposit.
+       * 
+       * If the account already has identity information, the deposit is taken as part payment
+       * for the new deposit.
+       * 
+       * The dispatch origin for this call must be _Signed_.
+       * 
+       * - `info`: The identity information.
+       * 
+       * Emits `IdentitySet` if successful.
+       * 
+       * # <weight>
+       * - `O(X + X' + R)`
+       * - where `X` additional-field-count (deposit-bounded and code-bounded)
+       * - where `R` judgements-count (registrar-count-bounded)
+       * - One balance reserve operation.
+       * - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).
+       * - One event.
+       * # </weight>
+       **/
+      setIdentity: AugmentedSubmittable<(info: PalletIdentityIdentityInfo | { additional?: any; display?: any; legal?: any; web?: any; riot?: any; email?: any; pgpFingerprint?: any; image?: any; twitter?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletIdentityIdentityInfo]>;
+      /**
+       * Set the sub-accounts of the sender.
+       * 
+       * Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned
+       * and an amount `SubAccountDeposit` will be reserved for each item in `subs`.
+       * 
+       * The dispatch origin for this call must be _Signed_ and the sender must have a registered
+       * identity.
+       * 
+       * - `subs`: The identity's (new) sub-accounts.
+       * 
+       * # <weight>
+       * - `O(P + S)`
+       * - where `P` old-subs-count (hard- and deposit-bounded).
+       * - where `S` subs-count (hard- and deposit-bounded).
+       * - At most one balance operations.
+       * - DB:
+       * - `P + S` storage mutations (codec complexity `O(1)`)
+       * - One storage read (codec complexity `O(P)`).
+       * - One storage write (codec complexity `O(S)`).
+       * - One storage-exists (`IdentityOf::contains_key`).
+       * # </weight>
+       **/
+      setSubs: AugmentedSubmittable<(subs: Vec<ITuple<[AccountId32, Data]>> | ([AccountId32 | string | Uint8Array, Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array])[]) => SubmittableExtrinsic<ApiType>, [Vec<ITuple<[AccountId32, Data]>>]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     inflation: {
       /**
        * This method sets the inflation start date. Can be only called once.
@@ -349,6 +714,13 @@
       disable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       enable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
+       * Execute a runtime call stored as a preimage.
+       * 
+       * `weight_bound` is the maximum weight that the caller is willing
+       * to allow the extrinsic to be executed with.
+       **/
+      executePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array, weightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, SpWeightsWeightV2Weight]>;
+      /**
        * Generic tx
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
@@ -506,337 +878,78 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
-    rmrkCore: {
-      /**
-       * Accept an NFT sent from another account to self or an owned NFT.
-       * 
-       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.
-       * 
-       * # Permissions:
-       * - Token-owner-to-be
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT to be accepted.
-       * - `rmrk_nft_id`: ID of the NFT to be accepted.
-       * - `new_owner`: Either the sender's account ID or a sender-owned NFT,
-       * whichever the accepted NFT was sent to.
-       **/
-      acceptNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;
-      /**
-       * Accept the addition of a newly created pending resource to an existing NFT.
-       * 
-       * This transaction is needed when a resource is created and assigned to an NFT
-       * by a non-owner, i.e. the collection issuer, with one of the
-       * [`add_...` transactions](Pallet::add_basic_resource).
-       * 
-       * # Permissions:
-       * - Token owner
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `rmrk_nft_id`: ID of the NFT with a pending resource to be accepted.
-       * - `resource_id`: ID of the newly created pending resource.
-       * accept the addition of a new resource to an existing NFT
-       **/
-      acceptResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
-      /**
-       * Accept the removal of a removal-pending resource from an NFT.
-       * 
-       * This transaction is needed when a non-owner, i.e. the collection issuer,
-       * requests a [removal](`Pallet::remove_resource`) of a resource from an NFT.
-       * 
-       * # Permissions:
-       * - Token owner
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `rmrk_nft_id`: ID of the NFT with a resource to be removed.
-       * - `resource_id`: ID of the removal-pending resource.
-       **/
-      acceptResourceRemoval: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
-      /**
-       * Create and set/propose a basic resource for an NFT.
-       * 
-       * A basic resource is the simplest, lacking a Base and anything that comes with it.
-       * See RMRK docs for more information and examples.
-       * 
-       * # Permissions:
-       * - Collection issuer - if not the token owner, adding the resource will warrant
-       * the owner's [acceptance](Pallet::accept_resource).
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `nft_id`: ID of the NFT to assign a resource to.
-       * - `resource`: Data of the resource to be created.
-       **/
-      addBasicResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceBasicResource | { src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceBasicResource]>;
-      /**
-       * Create and set/propose a composable resource for an NFT.
-       * 
-       * A composable resource links to a Base and has a subset of its Parts it is composed of.
-       * See RMRK docs for more information and examples.
-       * 
-       * # Permissions:
-       * - Collection issuer - if not the token owner, adding the resource will warrant
-       * the owner's [acceptance](Pallet::accept_resource).
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `nft_id`: ID of the NFT to assign a resource to.
-       * - `resource`: Data of the resource to be created.
-       **/
-      addComposableResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceComposableResource | { parts?: any; base?: any; src?: any; metadata?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceComposableResource]>;
+    preimage: {
       /**
-       * Create and set/propose a slot resource for an NFT.
-       * 
-       * A slot resource links to a Base and a slot ID in it which it can fit into.
-       * See RMRK docs for more information and examples.
-       * 
-       * # Permissions:
-       * - Collection issuer - if not the token owner, adding the resource will warrant
-       * the owner's [acceptance](Pallet::accept_resource).
+       * Register a preimage on-chain.
        * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `nft_id`: ID of the NFT to assign a resource to.
-       * - `resource`: Data of the resource to be created.
+       * If the preimage was previously requested, no fees or deposits are taken for providing
+       * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage.
        **/
-      addSlotResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resource: RmrkTraitsResourceSlotResource | { base?: any; src?: any; metadata?: any; slot?: any; license?: any; thumb?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsResourceSlotResource]>;
-      /**
-       * Burn an NFT, destroying it and its nested tokens up to the specified limit.
-       * If the burning budget is exceeded, the transaction is reverted.
-       * 
-       * This is the way to burn a nested token as well.
-       * 
-       * For more information, see [`burn_recursively`](pallet_nonfungible::pallet::Pallet::burn_recursively).
-       * 
-       * # Permissions:
-       * * Token owner
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `collection_id`: RMRK ID of the collection in which the NFT to burn belongs to.
-       * - `nft_id`: ID of the NFT to be destroyed.
-       * - `max_burns`: Maximum number of tokens to burn, assuming nesting. The transaction
-       * is reverted if there are more tokens to burn in the nesting tree than this number.
-       * This is primarily a mechanism of transaction weight control.
-       **/
-      burnNft: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, maxBurns: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
+      notePreimage: AugmentedSubmittable<(bytes: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
       /**
-       * Change the issuer of a collection. Analogous to Unique's collection's [`owner`](up_data_structs::Collection).
+       * Request a preimage be uploaded to the chain without paying any fees or deposits.
        * 
-       * # Permissions:
-       * * Collection issuer
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `collection_id`: RMRK collection ID to change the issuer of.
-       * - `new_issuer`: Collection's new issuer.
+       * If the preimage requests has already been provided on-chain, we unreserve any deposit
+       * a user may have paid, and take the control of the preimage out of their hands.
        **/
-      changeCollectionIssuer: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, newIssuer: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, MultiAddress]>;
+      requestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
       /**
-       * Create a new collection of NFTs.
+       * Clear an unrequested preimage from the runtime storage.
        * 
-       * # Permissions:
-       * * Anyone - will be assigned as the issuer of the collection.
+       * If `len` is provided, then it will be a much cheaper operation.
        * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `metadata`: Metadata describing the collection, e.g. IPFS hash. Cannot be changed.
-       * - `max`: Optional maximum number of tokens.
-       * - `symbol`: UTF-8 string with token prefix, by which to represent the token in wallets and UIs.
-       * Analogous to Unique's [`token_prefix`](up_data_structs::Collection). Cannot be changed.
+       * - `hash`: The hash of the preimage to be removed from the store.
+       * - `len`: The length of the preimage of `hash`.
        **/
-      createCollection: AugmentedSubmittable<(metadata: Bytes | string | Uint8Array, max: Option<u32> | null | Uint8Array | u32 | AnyNumber, symbol: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes, Option<u32>, Bytes]>;
+      unnotePreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
       /**
-       * Destroy a collection.
-       * 
-       * Only empty collections can be destroyed. If it has any tokens, they must be burned first.
+       * Clear a previously made request for a preimage.
        * 
-       * # Permissions:
-       * * Collection issuer
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `collection_id`: RMRK ID of the collection to destroy.
+       * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`.
        **/
-      destroyCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      /**
-       * "Lock" the collection and prevent new token creation. Cannot be undone.
-       * 
-       * # Permissions:
-       * * Collection issuer
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `collection_id`: RMRK ID of the collection to lock.
-       **/
-      lockCollection: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
-      /**
-       * Mint an NFT in a specified collection.
-       * 
-       * # Permissions:
-       * * Collection issuer
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `owner`: Owner account of the NFT. If set to None, defaults to the sender (collection issuer).
-       * - `collection_id`: RMRK collection ID for the NFT to be minted within. Cannot be changed.
-       * - `recipient`: Receiver account of the royalty. Has no effect if the `royalty_amount` is not set. Cannot be changed.
-       * - `royalty_amount`: Optional permillage reward from each trade for the `recipient`. Cannot be changed.
-       * - `metadata`: Arbitrary data about an NFT, e.g. IPFS hash. Cannot be changed.
-       * - `transferable`: Can this NFT be transferred? Cannot be changed.
-       * - `resources`: Resource data to be added to the NFT immediately after minting.
-       **/
-      mintNft: AugmentedSubmittable<(owner: Option<AccountId32> | null | Uint8Array | AccountId32 | string, collectionId: u32 | AnyNumber | Uint8Array, recipient: Option<AccountId32> | null | Uint8Array | AccountId32 | string, royaltyAmount: Option<Permill> | null | Uint8Array | Permill | AnyNumber, metadata: Bytes | string | Uint8Array, transferable: bool | boolean | Uint8Array, resources: Option<Vec<RmrkTraitsResourceResourceTypes>> | null | Uint8Array | Vec<RmrkTraitsResourceResourceTypes> | (RmrkTraitsResourceResourceTypes | { Basic: any } | { Composable: any } | { Slot: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Option<AccountId32>, u32, Option<AccountId32>, Option<Permill>, Bytes, bool, Option<Vec<RmrkTraitsResourceResourceTypes>>]>;
-      /**
-       * Reject an NFT sent from another account to self or owned NFT.
-       * The NFT in question will not be sent back and burnt instead.
-       * 
-       * The NFT in question must be pending, and, thus, be [sent](`Pallet::send`) first.
-       * 
-       * # Permissions:
-       * - Token-owner-to-be-not
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK ID of the NFT to be rejected.
-       * - `rmrk_nft_id`: ID of the NFT to be rejected.
-       **/
-      rejectNft: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
-      /**
-       * Remove and erase a resource from an NFT.
-       * 
-       * If the sender does not own the NFT, then it will be pending confirmation,
-       * and will have to be [accepted](Pallet::accept_resource_removal) by the token owner.
-       * 
-       * # Permissions
-       * - Collection issuer
-       * 
-       * # Arguments
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK ID of a collection to which the NFT making use of the resource belongs to.
-       * - `nft_id`: ID of the NFT with a resource to be removed.
-       * - `resource_id`: ID of the resource to be removed.
-       **/
-      removeResource: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, nftId: u32 | AnyNumber | Uint8Array, resourceId: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u32]>;
-      /**
-       * Transfer an NFT from an account/NFT A to another account/NFT B.
-       * The token must be transferable. Nesting cannot occur deeper than the [`NESTING_BUDGET`].
-       * 
-       * If the target owner is an NFT owned by another account, then the NFT will enter
-       * the pending state and will have to be accepted by the other account.
-       * 
-       * # Permissions:
-       * - Token owner
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK ID of the collection of the NFT to be transferred.
-       * - `rmrk_nft_id`: ID of the NFT to be transferred.
-       * - `new_owner`: New owner of the nft which can be either an account or a NFT.
-       **/
-      send: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple | { AccountId: any } | { CollectionAndNftTuple: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsNftAccountIdOrCollectionNftTuple]>;
+      unrequestPreimage: AugmentedSubmittable<(hash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
       /**
-       * Set a different order of resource priorities for an NFT. Priorities can be used,
-       * for example, for order of rendering.
-       * 
-       * Note that the priorities are not updated automatically, and are an empty vector
-       * by default. There is no pre-set definition for the order to be particular,
-       * it can be interpreted arbitrarily use-case by use-case.
-       * 
-       * # Permissions:
-       * - Token owner
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID of the NFT.
-       * - `rmrk_nft_id`: ID of the NFT to rearrange resource priorities for.
-       * - `priorities`: Ordered vector of resource IDs.
-       **/
-      setPriority: AugmentedSubmittable<(rmrkCollectionId: u32 | AnyNumber | Uint8Array, rmrkNftId: u32 | AnyNumber | Uint8Array, priorities: Vec<u32> | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [u32, u32, Vec<u32>]>;
-      /**
-       * Add or edit a custom user property, a key-value pair, describing the metadata
-       * of a token or a collection, on either one of these.
-       * 
-       * Note that in this proxy implementation many details regarding RMRK are stored
-       * as scoped properties prefixed with "rmrk:", normally inaccessible
-       * to external transactions and RPCs.
-       * 
-       * # Permissions:
-       * - Collection issuer - in case of collection property
-       * - Token owner - in case of NFT property
-       * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `rmrk_collection_id`: RMRK collection ID.
-       * - `maybe_nft_id`: Optional ID of the NFT. If left empty, then the property is set for the collection.
-       * - `key`: Key of the custom property to be referenced by.
-       * - `value`: Value of the custom property to be stored.
-       **/
-      setProperty: AugmentedSubmittable<(rmrkCollectionId: Compact<u32> | AnyNumber | Uint8Array, maybeNftId: Option<u32> | null | Uint8Array | u32 | AnyNumber, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Option<u32>, Bytes, Bytes]>;
-      /**
        * Generic tx
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
-    rmrkEquip: {
+    session: {
       /**
-       * Create a new Base.
+       * Removes any session key(s) of the function caller.
        * 
-       * Modeled after the [Base interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/base.md)
+       * This doesn't take effect until the next session.
        * 
-       * # Permissions
-       * - Anyone - will be assigned as the issuer of the Base.
-       * 
-       * # Arguments:
-       * - `origin`: Caller, will be assigned as the issuer of the Base
-       * - `base_type`: Arbitrary media type, e.g. "svg".
-       * - `symbol`: Arbitrary client-chosen symbol.
-       * - `parts`: Array of Fixed and Slot Parts composing the Base,
-       * confined in length by [`RmrkPartsLimit`](up_data_structs::RmrkPartsLimit).
-       **/
-      createBase: AugmentedSubmittable<(baseType: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, parts: Vec<RmrkTraitsPartPartType> | (RmrkTraitsPartPartType | { FixedPart: any } | { SlotPart: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Bytes, Bytes, Vec<RmrkTraitsPartPartType>]>;
-      /**
-       * Update the array of Collections allowed to be equipped to a Base's specified Slot Part.
-       * 
-       * Modeled after [equippable interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/equippable.md).
-       * 
-       * # Permissions:
-       * - Base issuer
+       * The dispatch origin of this function must be Signed and the account must be either be
+       * convertible to a validator ID using the chain's typical addressing system (this usually
+       * means being a controller account) or directly convertible into a validator ID (which
+       * usually means being a stash account).
        * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `base_id`: Base containing the Slot Part to be updated.
-       * - `slot_id`: Slot Part whose Equippable List is being updated .
-       * - `equippables`: List of equippables that will override the current Equippables list.
+       * # <weight>
+       * - Complexity: `O(1)` in number of key types. Actual cost depends on the number of length
+       * of `T::Keys::key_ids()` which is fixed.
+       * - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`
+       * - DbWrites: `NextKeys`, `origin account`
+       * - DbWrites per key id: `KeyOwner`
+       * # </weight>
        **/
-      equippable: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, slotId: u32 | AnyNumber | Uint8Array, equippables: RmrkTraitsPartEquippableList | { All: any } | { Empty: any } | { Custom: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, RmrkTraitsPartEquippableList]>;
+      purgeKeys: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
       /**
-       * Add a Theme to a Base.
-       * A Theme named "default" is required prior to adding other Themes.
-       * 
-       * Modeled after [Themeadd interaction](https://github.com/rmrk-team/rmrk-spec/blob/master/standards/rmrk2.0.0/interactions/themeadd.md).
+       * Sets the session key(s) of the function caller to `keys`.
+       * Allows an account to set its session key prior to becoming a validator.
+       * This doesn't take effect until the next session.
        * 
-       * # Permissions:
-       * - Base issuer
+       * The dispatch origin of this function must be signed.
        * 
-       * # Arguments:
-       * - `origin`: sender of the transaction
-       * - `base_id`: Base ID containing the Theme to be updated.
-       * - `theme`: Theme to add to the Base.  A Theme has a name and properties, which are an
-       * array of [key, value, inherit].
-       * - `key`: Arbitrary BoundedString, defined by client.
-       * - `value`: Arbitrary BoundedString, defined by client.
-       * - `inherit`: Optional bool.
+       * # <weight>
+       * - Complexity: `O(1)`. Actual cost depends on the number of length of
+       * `T::Keys::key_ids()` which is fixed.
+       * - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`
+       * - DbWrites: `origin account`, `NextKeys`
+       * - DbReads per key id: `KeyOwner`
+       * - DbWrites per key id: `KeyOwner`
+       * # </weight>
        **/
-      themeAdd: AugmentedSubmittable<(baseId: u32 | AnyNumber | Uint8Array, theme: RmrkTraitsTheme | { name?: any; properties?: any; inherit?: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, RmrkTraitsTheme]>;
+      setKeys: AugmentedSubmittable<(keys: OpalRuntimeRuntimeCommonSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [OpalRuntimeRuntimeCommonSessionKeys, Bytes]>;
       /**
        * Generic tx
        **/
@@ -1328,6 +1441,10 @@
        * * `token_prefix`: Byte string containing the token prefix to mark a collection
        * to which a token belongs (limit [`MAX_TOKEN_PREFIX_LENGTH`]).
        * * `mode`: Type of items stored in the collection and type dependent data.
+       * 
+       * returns collection ID
+       * 
+       * Deprecated: `create_collection_ex` is more up-to-date and advanced, prefer it instead.
        **/
       createCollection: AugmentedSubmittable<(collectionName: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], collectionDescription: Vec<u16> | (u16 | AnyNumber | Uint8Array)[], tokenPrefix: Bytes | string | Uint8Array, mode: UpDataStructsCollectionMode | { NFT: any } | { Fungible: any } | { ReFungible: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<u16>, Vec<u16>, Bytes, UpDataStructsCollectionMode]>;
       /**
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, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, 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, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, 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, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, 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';
@@ -774,6 +774,7 @@
     OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls;
     OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
+    OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
     OpaqueCall: OpaqueCall;
     OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof;
     OpaqueMetadata: OpaqueMetadata;
@@ -818,6 +819,9 @@
     PalletAppPromotionCall: PalletAppPromotionCall;
     PalletAppPromotionError: PalletAppPromotionError;
     PalletAppPromotionEvent: PalletAppPromotionEvent;
+    PalletAuthorshipCall: PalletAuthorshipCall;
+    PalletAuthorshipError: PalletAuthorshipError;
+    PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem;
     PalletBalancesAccountData: PalletBalancesAccountData;
     PalletBalancesBalanceLock: PalletBalancesBalanceLock;
     PalletBalancesCall: PalletBalancesCall;
@@ -827,6 +831,9 @@
     PalletBalancesReserveData: PalletBalancesReserveData;
     PalletCallMetadataLatest: PalletCallMetadataLatest;
     PalletCallMetadataV14: PalletCallMetadataV14;
+    PalletCollatorSelectionCall: PalletCollatorSelectionCall;
+    PalletCollatorSelectionError: PalletCollatorSelectionError;
+    PalletCollatorSelectionEvent: PalletCollatorSelectionEvent;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration;
@@ -862,6 +869,15 @@
     PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency;
     PalletFungibleError: PalletFungibleError;
     PalletId: PalletId;
+    PalletIdentityBitFlags: PalletIdentityBitFlags;
+    PalletIdentityCall: PalletIdentityCall;
+    PalletIdentityError: PalletIdentityError;
+    PalletIdentityEvent: PalletIdentityEvent;
+    PalletIdentityIdentityField: PalletIdentityIdentityField;
+    PalletIdentityIdentityInfo: PalletIdentityIdentityInfo;
+    PalletIdentityJudgement: PalletIdentityJudgement;
+    PalletIdentityRegistrarInfo: PalletIdentityRegistrarInfo;
+    PalletIdentityRegistration: PalletIdentityRegistration;
     PalletInflationCall: PalletInflationCall;
     PalletMaintenanceCall: PalletMaintenanceCall;
     PalletMaintenanceError: PalletMaintenanceError;
@@ -870,13 +886,14 @@
     PalletMetadataV14: PalletMetadataV14;
     PalletNonfungibleError: PalletNonfungibleError;
     PalletNonfungibleItemData: PalletNonfungibleItemData;
+    PalletPreimageCall: PalletPreimageCall;
+    PalletPreimageError: PalletPreimageError;
+    PalletPreimageEvent: PalletPreimageEvent;
+    PalletPreimageRequestStatus: PalletPreimageRequestStatus;
     PalletRefungibleError: PalletRefungibleError;
-    PalletRmrkCoreCall: PalletRmrkCoreCall;
-    PalletRmrkCoreError: PalletRmrkCoreError;
-    PalletRmrkCoreEvent: PalletRmrkCoreEvent;
-    PalletRmrkEquipCall: PalletRmrkEquipCall;
-    PalletRmrkEquipError: PalletRmrkEquipError;
-    PalletRmrkEquipEvent: PalletRmrkEquipEvent;
+    PalletSessionCall: PalletSessionCall;
+    PalletSessionError: PalletSessionError;
+    PalletSessionEvent: PalletSessionEvent;
     PalletsOrigin: PalletsOrigin;
     PalletStorageMetadataLatest: PalletStorageMetadataLatest;
     PalletStorageMetadataV14: PalletStorageMetadataV14;
@@ -1036,24 +1053,6 @@
     Retriable: Retriable;
     RewardDestination: RewardDestination;
     RewardPoint: RewardPoint;
-    RmrkTraitsBaseBaseInfo: RmrkTraitsBaseBaseInfo;
-    RmrkTraitsCollectionCollectionInfo: RmrkTraitsCollectionCollectionInfo;
-    RmrkTraitsNftAccountIdOrCollectionNftTuple: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    RmrkTraitsNftNftChild: RmrkTraitsNftNftChild;
-    RmrkTraitsNftNftInfo: RmrkTraitsNftNftInfo;
-    RmrkTraitsNftRoyaltyInfo: RmrkTraitsNftRoyaltyInfo;
-    RmrkTraitsPartEquippableList: RmrkTraitsPartEquippableList;
-    RmrkTraitsPartFixedPart: RmrkTraitsPartFixedPart;
-    RmrkTraitsPartPartType: RmrkTraitsPartPartType;
-    RmrkTraitsPartSlotPart: RmrkTraitsPartSlotPart;
-    RmrkTraitsPropertyPropertyInfo: RmrkTraitsPropertyPropertyInfo;
-    RmrkTraitsResourceBasicResource: RmrkTraitsResourceBasicResource;
-    RmrkTraitsResourceComposableResource: RmrkTraitsResourceComposableResource;
-    RmrkTraitsResourceResourceInfo: RmrkTraitsResourceResourceInfo;
-    RmrkTraitsResourceResourceTypes: RmrkTraitsResourceResourceTypes;
-    RmrkTraitsResourceSlotResource: RmrkTraitsResourceSlotResource;
-    RmrkTraitsTheme: RmrkTraitsTheme;
-    RmrkTraitsThemeThemeProperty: RmrkTraitsThemeThemeProperty;
     RoundSnapshot: RoundSnapshot;
     RoundState: RoundState;
     RpcMethods: RpcMethods;
@@ -1176,14 +1175,19 @@
     SolutionSupports: SolutionSupports;
     SpanIndex: SpanIndex;
     SpanRecord: SpanRecord;
+    SpArithmeticArithmeticError: SpArithmeticArithmeticError;
+    SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public;
+    SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
+    SpCoreSr25519Public: SpCoreSr25519Public;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
     SpecVersion: SpecVersion;
-    SpRuntimeArithmeticError: SpRuntimeArithmeticError;
+    SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
     SpRuntimeDispatchError: SpRuntimeDispatchError;
+    SpRuntimeHeader: SpRuntimeHeader;
     SpRuntimeModuleError: SpRuntimeModuleError;
     SpRuntimeMultiSignature: SpRuntimeMultiSignature;
     SpRuntimeTokenError: SpRuntimeTokenError;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1,9 +1,10 @@
 // Auto-generated via `yarn polkadot-types-from-defs`, do not edit
 /* eslint-disable */
 
+import type { Data } from '@polkadot/types';
 import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { ITuple } from '@polkadot/types-codec/types';
-import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
 import type { Event } from '@polkadot/types/interfaces/system';
 
 /** @name CumulusPalletDmpQueueCall */
@@ -441,6 +442,7 @@
   readonly isOther: boolean;
   readonly asOther: Text;
   readonly isInvalidCode: boolean;
+  readonly asInvalidCode: u8;
   readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
 }
 
@@ -698,6 +700,11 @@
 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */
 export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {}
 
+/** @name OpalRuntimeRuntimeCommonSessionKeys */
+export interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
+  readonly aura: SpConsensusAuraSr25519AppSr25519Public;
+}
+
 /** @name OrmlTokensAccountData */
 export interface OrmlTokensAccountData extends Struct {
   readonly free: u128;
@@ -1007,7 +1014,7 @@
   readonly asStake: {
     readonly amount: u128;
   } & Struct;
-  readonly isUnstake: boolean;
+  readonly isUnstakeAll: boolean;
   readonly isSponsorCollection: boolean;
   readonly asSponsorCollection: {
     readonly collectionId: u32;
@@ -1028,7 +1035,11 @@
   readonly asPayoutStakers: {
     readonly stakersNumber: Option<u8>;
   } & Struct;
-  readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
+  readonly isUnstakePartial: boolean;
+  readonly asUnstakePartial: {
+    readonly amount: u128;
+  } & Struct;
+  readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial';
 }
 
 /** @name PalletAppPromotionError */
@@ -1039,7 +1050,8 @@
   readonly isPendingForBlockOverflow: boolean;
   readonly isSponsorNotSet: boolean;
   readonly isIncorrectLockedBalanceOperation: boolean;
-  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
+  readonly isInsufficientStakedBalance: boolean;
+  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation' | 'InsufficientStakedBalance';
 }
 
 /** @name PalletAppPromotionEvent */
@@ -1055,6 +1067,36 @@
   readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
 }
 
+/** @name PalletAuthorshipCall */
+export interface PalletAuthorshipCall extends Enum {
+  readonly isSetUncles: boolean;
+  readonly asSetUncles: {
+    readonly newUncles: Vec<SpRuntimeHeader>;
+  } & Struct;
+  readonly type: 'SetUncles';
+}
+
+/** @name PalletAuthorshipError */
+export interface PalletAuthorshipError extends Enum {
+  readonly isInvalidUncleParent: boolean;
+  readonly isUnclesAlreadySet: boolean;
+  readonly isTooManyUncles: boolean;
+  readonly isGenesisUncle: boolean;
+  readonly isTooHighUncle: boolean;
+  readonly isUncleAlreadyIncluded: boolean;
+  readonly isOldUncle: boolean;
+  readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle';
+}
+
+/** @name PalletAuthorshipUncleEntryItem */
+export interface PalletAuthorshipUncleEntryItem extends Enum {
+  readonly isInclusionHeight: boolean;
+  readonly asInclusionHeight: u32;
+  readonly isUncle: boolean;
+  readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
+  readonly type: 'InclusionHeight' | 'Uncle';
+}
+
 /** @name PalletBalancesAccountData */
 export interface PalletBalancesAccountData extends Struct {
   readonly free: u128;
@@ -1193,6 +1235,76 @@
   readonly amount: u128;
 }
 
+/** @name PalletCollatorSelectionCall */
+export interface PalletCollatorSelectionCall extends Enum {
+  readonly isAddInvulnerable: boolean;
+  readonly asAddInvulnerable: {
+    readonly new_: AccountId32;
+  } & Struct;
+  readonly isRemoveInvulnerable: boolean;
+  readonly asRemoveInvulnerable: {
+    readonly who: AccountId32;
+  } & Struct;
+  readonly isGetLicense: boolean;
+  readonly isOnboard: boolean;
+  readonly isOffboard: boolean;
+  readonly isReleaseLicense: boolean;
+  readonly isForceReleaseLicense: boolean;
+  readonly asForceReleaseLicense: {
+    readonly who: AccountId32;
+  } & Struct;
+  readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';
+}
+
+/** @name PalletCollatorSelectionError */
+export interface PalletCollatorSelectionError extends Enum {
+  readonly isTooManyCandidates: boolean;
+  readonly isUnknown: boolean;
+  readonly isPermission: boolean;
+  readonly isAlreadyHoldingLicense: boolean;
+  readonly isNoLicense: boolean;
+  readonly isAlreadyCandidate: boolean;
+  readonly isNotCandidate: boolean;
+  readonly isTooManyInvulnerables: boolean;
+  readonly isTooFewInvulnerables: boolean;
+  readonly isAlreadyInvulnerable: boolean;
+  readonly isNotInvulnerable: boolean;
+  readonly isNoAssociatedValidatorId: boolean;
+  readonly isValidatorNotRegistered: boolean;
+  readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
+}
+
+/** @name PalletCollatorSelectionEvent */
+export interface PalletCollatorSelectionEvent extends Enum {
+  readonly isInvulnerableAdded: boolean;
+  readonly asInvulnerableAdded: {
+    readonly invulnerable: AccountId32;
+  } & Struct;
+  readonly isInvulnerableRemoved: boolean;
+  readonly asInvulnerableRemoved: {
+    readonly invulnerable: AccountId32;
+  } & Struct;
+  readonly isLicenseObtained: boolean;
+  readonly asLicenseObtained: {
+    readonly accountId: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isLicenseReleased: boolean;
+  readonly asLicenseReleased: {
+    readonly accountId: AccountId32;
+    readonly depositReturned: u128;
+  } & Struct;
+  readonly isCandidateAdded: boolean;
+  readonly asCandidateAdded: {
+    readonly accountId: AccountId32;
+  } & Struct;
+  readonly isCandidateRemoved: boolean;
+  readonly asCandidateRemoved: {
+    readonly accountId: AccountId32;
+  } & Struct;
+  readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';
+}
+
 /** @name PalletCommonError */
 export interface PalletCommonError extends Enum {
   readonly isCollectionNotFound: boolean;
@@ -1532,7 +1644,8 @@
   readonly asInsertEvents: {
     readonly events: Vec<Bytes>;
   } & Struct;
-  readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
+  readonly isRemoveRmrkData: boolean;
+  readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';
 }
 
 /** @name PalletEvmMigrationError */
@@ -1638,6 +1751,243 @@
   readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
 }
 
+/** @name PalletIdentityBitFlags */
+export interface PalletIdentityBitFlags extends Struct {
+  readonly _bitLength: 64;
+  readonly Display: 1;
+  readonly Legal: 2;
+  readonly Web: 4;
+  readonly Riot: 8;
+  readonly Email: 16;
+  readonly PgpFingerprint: 32;
+  readonly Image: 64;
+  readonly Twitter: 128;
+}
+
+/** @name PalletIdentityCall */
+export interface PalletIdentityCall extends Enum {
+  readonly isAddRegistrar: boolean;
+  readonly asAddRegistrar: {
+    readonly account: MultiAddress;
+  } & Struct;
+  readonly isSetIdentity: boolean;
+  readonly asSetIdentity: {
+    readonly info: PalletIdentityIdentityInfo;
+  } & Struct;
+  readonly isSetSubs: boolean;
+  readonly asSetSubs: {
+    readonly subs: Vec<ITuple<[AccountId32, Data]>>;
+  } & Struct;
+  readonly isClearIdentity: boolean;
+  readonly isRequestJudgement: boolean;
+  readonly asRequestJudgement: {
+    readonly regIndex: Compact<u32>;
+    readonly maxFee: Compact<u128>;
+  } & Struct;
+  readonly isCancelRequest: boolean;
+  readonly asCancelRequest: {
+    readonly regIndex: u32;
+  } & Struct;
+  readonly isSetFee: boolean;
+  readonly asSetFee: {
+    readonly index: Compact<u32>;
+    readonly fee: Compact<u128>;
+  } & Struct;
+  readonly isSetAccountId: boolean;
+  readonly asSetAccountId: {
+    readonly index: Compact<u32>;
+    readonly new_: MultiAddress;
+  } & Struct;
+  readonly isSetFields: boolean;
+  readonly asSetFields: {
+    readonly index: Compact<u32>;
+    readonly fields: PalletIdentityBitFlags;
+  } & Struct;
+  readonly isProvideJudgement: boolean;
+  readonly asProvideJudgement: {
+    readonly regIndex: Compact<u32>;
+    readonly target: MultiAddress;
+    readonly judgement: PalletIdentityJudgement;
+    readonly identity: H256;
+  } & Struct;
+  readonly isKillIdentity: boolean;
+  readonly asKillIdentity: {
+    readonly target: MultiAddress;
+  } & Struct;
+  readonly isAddSub: boolean;
+  readonly asAddSub: {
+    readonly sub: MultiAddress;
+    readonly data: Data;
+  } & Struct;
+  readonly isRenameSub: boolean;
+  readonly asRenameSub: {
+    readonly sub: MultiAddress;
+    readonly data: Data;
+  } & Struct;
+  readonly isRemoveSub: boolean;
+  readonly asRemoveSub: {
+    readonly sub: MultiAddress;
+  } & Struct;
+  readonly isQuitSub: boolean;
+  readonly isForceInsertIdentities: boolean;
+  readonly asForceInsertIdentities: {
+    readonly identities: Vec<ITuple<[AccountId32, PalletIdentityRegistration]>>;
+  } & Struct;
+  readonly isForceRemoveIdentities: boolean;
+  readonly asForceRemoveIdentities: {
+    readonly identities: Vec<AccountId32>;
+  } & Struct;
+  readonly isForceSetSubs: boolean;
+  readonly asForceSetSubs: {
+    readonly subs: Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>>;
+  } & Struct;
+  readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';
+}
+
+/** @name PalletIdentityError */
+export interface PalletIdentityError extends Enum {
+  readonly isTooManySubAccounts: boolean;
+  readonly isNotFound: boolean;
+  readonly isNotNamed: boolean;
+  readonly isEmptyIndex: boolean;
+  readonly isFeeChanged: boolean;
+  readonly isNoIdentity: boolean;
+  readonly isStickyJudgement: boolean;
+  readonly isJudgementGiven: boolean;
+  readonly isInvalidJudgement: boolean;
+  readonly isInvalidIndex: boolean;
+  readonly isInvalidTarget: boolean;
+  readonly isTooManyFields: boolean;
+  readonly isTooManyRegistrars: boolean;
+  readonly isAlreadyClaimed: boolean;
+  readonly isNotSub: boolean;
+  readonly isNotOwned: boolean;
+  readonly isJudgementForDifferentIdentity: boolean;
+  readonly isJudgementPaymentFailed: boolean;
+  readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed';
+}
+
+/** @name PalletIdentityEvent */
+export interface PalletIdentityEvent extends Enum {
+  readonly isIdentitySet: boolean;
+  readonly asIdentitySet: {
+    readonly who: AccountId32;
+  } & Struct;
+  readonly isIdentityCleared: boolean;
+  readonly asIdentityCleared: {
+    readonly who: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isIdentityKilled: boolean;
+  readonly asIdentityKilled: {
+    readonly who: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isIdentitiesInserted: boolean;
+  readonly asIdentitiesInserted: {
+    readonly amount: u32;
+  } & Struct;
+  readonly isIdentitiesRemoved: boolean;
+  readonly asIdentitiesRemoved: {
+    readonly amount: u32;
+  } & Struct;
+  readonly isJudgementRequested: boolean;
+  readonly asJudgementRequested: {
+    readonly who: AccountId32;
+    readonly registrarIndex: u32;
+  } & Struct;
+  readonly isJudgementUnrequested: boolean;
+  readonly asJudgementUnrequested: {
+    readonly who: AccountId32;
+    readonly registrarIndex: u32;
+  } & Struct;
+  readonly isJudgementGiven: boolean;
+  readonly asJudgementGiven: {
+    readonly target: AccountId32;
+    readonly registrarIndex: u32;
+  } & Struct;
+  readonly isRegistrarAdded: boolean;
+  readonly asRegistrarAdded: {
+    readonly registrarIndex: u32;
+  } & Struct;
+  readonly isSubIdentityAdded: boolean;
+  readonly asSubIdentityAdded: {
+    readonly sub: AccountId32;
+    readonly main: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isSubIdentityRemoved: boolean;
+  readonly asSubIdentityRemoved: {
+    readonly sub: AccountId32;
+    readonly main: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isSubIdentityRevoked: boolean;
+  readonly asSubIdentityRevoked: {
+    readonly sub: AccountId32;
+    readonly main: AccountId32;
+    readonly deposit: u128;
+  } & Struct;
+  readonly isSubIdentitiesInserted: boolean;
+  readonly asSubIdentitiesInserted: {
+    readonly amount: u32;
+  } & Struct;
+  readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'IdentitiesInserted' | 'IdentitiesRemoved' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'SubIdentitiesInserted';
+}
+
+/** @name PalletIdentityIdentityField */
+export interface PalletIdentityIdentityField extends Enum {
+  readonly isDisplay: boolean;
+  readonly isLegal: boolean;
+  readonly isWeb: boolean;
+  readonly isRiot: boolean;
+  readonly isEmail: boolean;
+  readonly isPgpFingerprint: boolean;
+  readonly isImage: boolean;
+  readonly isTwitter: boolean;
+  readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';
+}
+
+/** @name PalletIdentityIdentityInfo */
+export interface PalletIdentityIdentityInfo extends Struct {
+  readonly additional: Vec<ITuple<[Data, Data]>>;
+  readonly display: Data;
+  readonly legal: Data;
+  readonly web: Data;
+  readonly riot: Data;
+  readonly email: Data;
+  readonly pgpFingerprint: Option<U8aFixed>;
+  readonly image: Data;
+  readonly twitter: Data;
+}
+
+/** @name PalletIdentityJudgement */
+export interface PalletIdentityJudgement extends Enum {
+  readonly isUnknown: boolean;
+  readonly isFeePaid: boolean;
+  readonly asFeePaid: u128;
+  readonly isReasonable: boolean;
+  readonly isKnownGood: boolean;
+  readonly isOutOfDate: boolean;
+  readonly isLowQuality: boolean;
+  readonly isErroneous: boolean;
+  readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';
+}
+
+/** @name PalletIdentityRegistrarInfo */
+export interface PalletIdentityRegistrarInfo extends Struct {
+  readonly account: AccountId32;
+  readonly fee: u128;
+  readonly fields: PalletIdentityBitFlags;
+}
+
+/** @name PalletIdentityRegistration */
+export interface PalletIdentityRegistration extends Struct {
+  readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;
+  readonly deposit: u128;
+  readonly info: PalletIdentityIdentityInfo;
+}
+
 /** @name PalletInflationCall */
 export interface PalletInflationCall extends Enum {
   readonly isStartInflation: boolean;
@@ -1651,7 +2001,12 @@
 export interface PalletMaintenanceCall extends Enum {
   readonly isEnable: boolean;
   readonly isDisable: boolean;
-  readonly type: 'Enable' | 'Disable';
+  readonly isExecutePreimage: boolean;
+  readonly asExecutePreimage: {
+    readonly hash_: H256;
+    readonly weightBound: SpWeightsWeightV2Weight;
+  } & Struct;
+  readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';
 }
 
 /** @name PalletMaintenanceError */
@@ -1677,283 +2032,109 @@
   readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
 }
 
-/** @name PalletRefungibleError */
-export interface PalletRefungibleError extends Enum {
-  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
-  readonly isWrongRefungiblePieces: boolean;
-  readonly isRepartitionWhileNotOwningAllPieces: boolean;
-  readonly isRefungibleDisallowsNesting: boolean;
-  readonly isSettingPropertiesNotAllowed: boolean;
-  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
-}
-
-/** @name PalletRmrkCoreCall */
-export interface PalletRmrkCoreCall extends Enum {
-  readonly isCreateCollection: boolean;
-  readonly asCreateCollection: {
-    readonly metadata: Bytes;
-    readonly max: Option<u32>;
-    readonly symbol: Bytes;
+/** @name PalletPreimageCall */
+export interface PalletPreimageCall extends Enum {
+  readonly isNotePreimage: boolean;
+  readonly asNotePreimage: {
+    readonly bytes: Bytes;
   } & Struct;
-  readonly isDestroyCollection: boolean;
-  readonly asDestroyCollection: {
-    readonly collectionId: u32;
+  readonly isUnnotePreimage: boolean;
+  readonly asUnnotePreimage: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isChangeCollectionIssuer: boolean;
-  readonly asChangeCollectionIssuer: {
-    readonly collectionId: u32;
-    readonly newIssuer: MultiAddress;
+  readonly isRequestPreimage: boolean;
+  readonly asRequestPreimage: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isLockCollection: boolean;
-  readonly asLockCollection: {
-    readonly collectionId: u32;
+  readonly isUnrequestPreimage: boolean;
+  readonly asUnrequestPreimage: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isMintNft: boolean;
-  readonly asMintNft: {
-    readonly owner: Option<AccountId32>;
-    readonly collectionId: u32;
-    readonly recipient: Option<AccountId32>;
-    readonly royaltyAmount: Option<Permill>;
-    readonly metadata: Bytes;
-    readonly transferable: bool;
-    readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;
-  } & Struct;
-  readonly isBurnNft: boolean;
-  readonly asBurnNft: {
-    readonly collectionId: u32;
-    readonly nftId: u32;
-    readonly maxBurns: u32;
-  } & Struct;
-  readonly isSend: boolean;
-  readonly asSend: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-  } & Struct;
-  readonly isAcceptNft: boolean;
-  readonly asAcceptNft: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-  } & Struct;
-  readonly isRejectNft: boolean;
-  readonly asRejectNft: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-  } & Struct;
-  readonly isAcceptResource: boolean;
-  readonly asAcceptResource: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isAcceptResourceRemoval: boolean;
-  readonly asAcceptResourceRemoval: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isSetProperty: boolean;
-  readonly asSetProperty: {
-    readonly rmrkCollectionId: Compact<u32>;
-    readonly maybeNftId: Option<u32>;
-    readonly key: Bytes;
-    readonly value: Bytes;
-  } & Struct;
-  readonly isSetPriority: boolean;
-  readonly asSetPriority: {
-    readonly rmrkCollectionId: u32;
-    readonly rmrkNftId: u32;
-    readonly priorities: Vec<u32>;
-  } & Struct;
-  readonly isAddBasicResource: boolean;
-  readonly asAddBasicResource: {
-    readonly rmrkCollectionId: u32;
-    readonly nftId: u32;
-    readonly resource: RmrkTraitsResourceBasicResource;
-  } & Struct;
-  readonly isAddComposableResource: boolean;
-  readonly asAddComposableResource: {
-    readonly rmrkCollectionId: u32;
-    readonly nftId: u32;
-    readonly resource: RmrkTraitsResourceComposableResource;
-  } & Struct;
-  readonly isAddSlotResource: boolean;
-  readonly asAddSlotResource: {
-    readonly rmrkCollectionId: u32;
-    readonly nftId: u32;
-    readonly resource: RmrkTraitsResourceSlotResource;
-  } & Struct;
-  readonly isRemoveResource: boolean;
-  readonly asRemoveResource: {
-    readonly rmrkCollectionId: u32;
-    readonly nftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
+  readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';
 }
 
-/** @name PalletRmrkCoreError */
-export interface PalletRmrkCoreError extends Enum {
-  readonly isCorruptedCollectionType: boolean;
-  readonly isRmrkPropertyKeyIsTooLong: boolean;
-  readonly isRmrkPropertyValueIsTooLong: boolean;
-  readonly isRmrkPropertyIsNotFound: boolean;
-  readonly isUnableToDecodeRmrkData: boolean;
-  readonly isCollectionNotEmpty: boolean;
-  readonly isNoAvailableCollectionId: boolean;
-  readonly isNoAvailableNftId: boolean;
-  readonly isCollectionUnknown: boolean;
-  readonly isNoPermission: boolean;
-  readonly isNonTransferable: boolean;
-  readonly isCollectionFullOrLocked: boolean;
-  readonly isResourceDoesntExist: boolean;
-  readonly isCannotSendToDescendentOrSelf: boolean;
-  readonly isCannotAcceptNonOwnedNft: boolean;
-  readonly isCannotRejectNonOwnedNft: boolean;
-  readonly isCannotRejectNonPendingNft: boolean;
-  readonly isResourceNotPending: boolean;
-  readonly isNoAvailableResourceId: boolean;
-  readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
+/** @name PalletPreimageError */
+export interface PalletPreimageError extends Enum {
+  readonly isTooBig: boolean;
+  readonly isAlreadyNoted: boolean;
+  readonly isNotAuthorized: boolean;
+  readonly isNotNoted: boolean;
+  readonly isRequested: boolean;
+  readonly isNotRequested: boolean;
+  readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested';
 }
 
-/** @name PalletRmrkCoreEvent */
-export interface PalletRmrkCoreEvent extends Enum {
-  readonly isCollectionCreated: boolean;
-  readonly asCollectionCreated: {
-    readonly issuer: AccountId32;
-    readonly collectionId: u32;
+/** @name PalletPreimageEvent */
+export interface PalletPreimageEvent extends Enum {
+  readonly isNoted: boolean;
+  readonly asNoted: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isCollectionDestroyed: boolean;
-  readonly asCollectionDestroyed: {
-    readonly issuer: AccountId32;
-    readonly collectionId: u32;
+  readonly isRequested: boolean;
+  readonly asRequested: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isIssuerChanged: boolean;
-  readonly asIssuerChanged: {
-    readonly oldIssuer: AccountId32;
-    readonly newIssuer: AccountId32;
-    readonly collectionId: u32;
+  readonly isCleared: boolean;
+  readonly asCleared: {
+    readonly hash_: H256;
   } & Struct;
-  readonly isCollectionLocked: boolean;
-  readonly asCollectionLocked: {
-    readonly issuer: AccountId32;
-    readonly collectionId: u32;
+  readonly type: 'Noted' | 'Requested' | 'Cleared';
+}
+
+/** @name PalletPreimageRequestStatus */
+export interface PalletPreimageRequestStatus extends Enum {
+  readonly isUnrequested: boolean;
+  readonly asUnrequested: {
+    readonly deposit: ITuple<[AccountId32, u128]>;
+    readonly len: u32;
   } & Struct;
-  readonly isNftMinted: boolean;
-  readonly asNftMinted: {
-    readonly owner: AccountId32;
-    readonly collectionId: u32;
-    readonly nftId: u32;
+  readonly isRequested: boolean;
+  readonly asRequested: {
+    readonly deposit: Option<ITuple<[AccountId32, u128]>>;
+    readonly count: u32;
+    readonly len: Option<u32>;
   } & Struct;
-  readonly isNftBurned: boolean;
-  readonly asNftBurned: {
-    readonly owner: AccountId32;
-    readonly nftId: u32;
-  } & Struct;
-  readonly isNftSent: boolean;
-  readonly asNftSent: {
-    readonly sender: AccountId32;
-    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    readonly collectionId: u32;
-    readonly nftId: u32;
-    readonly approvalRequired: bool;
-  } & Struct;
-  readonly isNftAccepted: boolean;
-  readonly asNftAccepted: {
-    readonly sender: AccountId32;
-    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    readonly collectionId: u32;
-    readonly nftId: u32;
-  } & Struct;
-  readonly isNftRejected: boolean;
-  readonly asNftRejected: {
-    readonly sender: AccountId32;
-    readonly collectionId: u32;
-    readonly nftId: u32;
-  } & Struct;
-  readonly isPropertySet: boolean;
-  readonly asPropertySet: {
-    readonly collectionId: u32;
-    readonly maybeNftId: Option<u32>;
-    readonly key: Bytes;
-    readonly value: Bytes;
-  } & Struct;
-  readonly isResourceAdded: boolean;
-  readonly asResourceAdded: {
-    readonly nftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isResourceRemoval: boolean;
-  readonly asResourceRemoval: {
-    readonly nftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isResourceAccepted: boolean;
-  readonly asResourceAccepted: {
-    readonly nftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isResourceRemovalAccepted: boolean;
-  readonly asResourceRemovalAccepted: {
-    readonly nftId: u32;
-    readonly resourceId: u32;
-  } & Struct;
-  readonly isPrioritySet: boolean;
-  readonly asPrioritySet: {
-    readonly collectionId: u32;
-    readonly nftId: u32;
-  } & Struct;
-  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
+  readonly type: 'Unrequested' | 'Requested';
+}
+
+/** @name PalletRefungibleError */
+export interface PalletRefungibleError extends Enum {
+  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
+  readonly isWrongRefungiblePieces: boolean;
+  readonly isRepartitionWhileNotOwningAllPieces: boolean;
+  readonly isRefungibleDisallowsNesting: boolean;
+  readonly isSettingPropertiesNotAllowed: boolean;
+  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
 }
 
-/** @name PalletRmrkEquipCall */
-export interface PalletRmrkEquipCall extends Enum {
-  readonly isCreateBase: boolean;
-  readonly asCreateBase: {
-    readonly baseType: Bytes;
-    readonly symbol: Bytes;
-    readonly parts: Vec<RmrkTraitsPartPartType>;
+/** @name PalletSessionCall */
+export interface PalletSessionCall extends Enum {
+  readonly isSetKeys: boolean;
+  readonly asSetKeys: {
+    readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
+    readonly proof: Bytes;
   } & Struct;
-  readonly isThemeAdd: boolean;
-  readonly asThemeAdd: {
-    readonly baseId: u32;
-    readonly theme: RmrkTraitsTheme;
-  } & Struct;
-  readonly isEquippable: boolean;
-  readonly asEquippable: {
-    readonly baseId: u32;
-    readonly slotId: u32;
-    readonly equippables: RmrkTraitsPartEquippableList;
-  } & Struct;
-  readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
+  readonly isPurgeKeys: boolean;
+  readonly type: 'SetKeys' | 'PurgeKeys';
 }
 
-/** @name PalletRmrkEquipError */
-export interface PalletRmrkEquipError extends Enum {
-  readonly isPermissionError: boolean;
-  readonly isNoAvailableBaseId: boolean;
-  readonly isNoAvailablePartId: boolean;
-  readonly isBaseDoesntExist: boolean;
-  readonly isNeedsDefaultThemeFirst: boolean;
-  readonly isPartDoesntExist: boolean;
-  readonly isNoEquippableOnFixedPart: boolean;
-  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
+/** @name PalletSessionError */
+export interface PalletSessionError extends Enum {
+  readonly isInvalidProof: boolean;
+  readonly isNoAssociatedValidatorId: boolean;
+  readonly isDuplicatedKey: boolean;
+  readonly isNoKeys: boolean;
+  readonly isNoAccount: boolean;
+  readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
 }
 
-/** @name PalletRmrkEquipEvent */
-export interface PalletRmrkEquipEvent extends Enum {
-  readonly isBaseCreated: boolean;
-  readonly asBaseCreated: {
-    readonly issuer: AccountId32;
-    readonly baseId: u32;
+/** @name PalletSessionEvent */
+export interface PalletSessionEvent extends Enum {
+  readonly isNewSession: boolean;
+  readonly asNewSession: {
+    readonly sessionIndex: u32;
   } & Struct;
-  readonly isEquippablesUpdated: boolean;
-  readonly asEquippablesUpdated: {
-    readonly baseId: u32;
-    readonly slotId: u32;
-  } & Struct;
-  readonly type: 'BaseCreated' | 'EquippablesUpdated';
+  readonly type: 'NewSession';
 }
 
 /** @name PalletStructureCall */
@@ -1965,7 +2146,8 @@
   readonly isDepthLimit: boolean;
   readonly isBreadthLimit: boolean;
   readonly isTokenNotFound: boolean;
-  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
+  readonly isCantNestTokenUnderCollection: boolean;
+  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection';
 }
 
 /** @name PalletStructureEvent */
@@ -2165,7 +2347,12 @@
     readonly amount: u128;
     readonly beneficiary: AccountId32;
   } & Struct;
-  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';
+  readonly isUpdatedInactive: boolean;
+  readonly asUpdatedInactive: {
+    readonly reactivated: u128;
+    readonly deactivated: u128;
+  } & Struct;
+  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive';
 }
 
 /** @name PalletTreasuryProposal */
@@ -2485,7 +2672,7 @@
 }
 
 /** @name PhantomTypeUpDataStructs */
-export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild, UpPovEstimateRpcPovInfo]>> {}
+export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}
 
 /** @name PolkadotCorePrimitivesInboundDownwardMessage */
 export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
@@ -2550,150 +2737,19 @@
   readonly type: 'Present';
 }
 
-/** @name RmrkTraitsBaseBaseInfo */
-export interface RmrkTraitsBaseBaseInfo extends Struct {
-  readonly issuer: AccountId32;
-  readonly baseType: Bytes;
-  readonly symbol: Bytes;
+/** @name SpArithmeticArithmeticError */
+export interface SpArithmeticArithmeticError extends Enum {
+  readonly isUnderflow: boolean;
+  readonly isOverflow: boolean;
+  readonly isDivisionByZero: boolean;
+  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
 }
 
-/** @name RmrkTraitsCollectionCollectionInfo */
-export interface RmrkTraitsCollectionCollectionInfo extends Struct {
-  readonly issuer: AccountId32;
-  readonly metadata: Bytes;
-  readonly max: Option<u32>;
-  readonly symbol: Bytes;
-  readonly nftsCount: u32;
-}
+/** @name SpConsensusAuraSr25519AppSr25519Public */
+export interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
 
-/** @name RmrkTraitsNftAccountIdOrCollectionNftTuple */
-export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
-  readonly isAccountId: boolean;
-  readonly asAccountId: AccountId32;
-  readonly isCollectionAndNftTuple: boolean;
-  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;
-  readonly type: 'AccountId' | 'CollectionAndNftTuple';
-}
-
-/** @name RmrkTraitsNftNftChild */
-export interface RmrkTraitsNftNftChild extends Struct {
-  readonly collectionId: u32;
-  readonly nftId: u32;
-}
-
-/** @name RmrkTraitsNftNftInfo */
-export interface RmrkTraitsNftNftInfo extends Struct {
-  readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-  readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
-  readonly metadata: Bytes;
-  readonly equipped: bool;
-  readonly pending: bool;
-}
-
-/** @name RmrkTraitsNftRoyaltyInfo */
-export interface RmrkTraitsNftRoyaltyInfo extends Struct {
-  readonly recipient: AccountId32;
-  readonly amount: Permill;
-}
-
-/** @name RmrkTraitsPartEquippableList */
-export interface RmrkTraitsPartEquippableList extends Enum {
-  readonly isAll: boolean;
-  readonly isEmpty: boolean;
-  readonly isCustom: boolean;
-  readonly asCustom: Vec<u32>;
-  readonly type: 'All' | 'Empty' | 'Custom';
-}
-
-/** @name RmrkTraitsPartFixedPart */
-export interface RmrkTraitsPartFixedPart extends Struct {
-  readonly id: u32;
-  readonly z: u32;
-  readonly src: Bytes;
-}
-
-/** @name RmrkTraitsPartPartType */
-export interface RmrkTraitsPartPartType extends Enum {
-  readonly isFixedPart: boolean;
-  readonly asFixedPart: RmrkTraitsPartFixedPart;
-  readonly isSlotPart: boolean;
-  readonly asSlotPart: RmrkTraitsPartSlotPart;
-  readonly type: 'FixedPart' | 'SlotPart';
-}
-
-/** @name RmrkTraitsPartSlotPart */
-export interface RmrkTraitsPartSlotPart extends Struct {
-  readonly id: u32;
-  readonly equippable: RmrkTraitsPartEquippableList;
-  readonly src: Bytes;
-  readonly z: u32;
-}
-
-/** @name RmrkTraitsPropertyPropertyInfo */
-export interface RmrkTraitsPropertyPropertyInfo extends Struct {
-  readonly key: Bytes;
-  readonly value: Bytes;
-}
-
-/** @name RmrkTraitsResourceBasicResource */
-export interface RmrkTraitsResourceBasicResource extends Struct {
-  readonly src: Option<Bytes>;
-  readonly metadata: Option<Bytes>;
-  readonly license: Option<Bytes>;
-  readonly thumb: Option<Bytes>;
-}
-
-/** @name RmrkTraitsResourceComposableResource */
-export interface RmrkTraitsResourceComposableResource extends Struct {
-  readonly parts: Vec<u32>;
-  readonly base: u32;
-  readonly src: Option<Bytes>;
-  readonly metadata: Option<Bytes>;
-  readonly license: Option<Bytes>;
-  readonly thumb: Option<Bytes>;
-}
-
-/** @name RmrkTraitsResourceResourceInfo */
-export interface RmrkTraitsResourceResourceInfo extends Struct {
-  readonly id: u32;
-  readonly resource: RmrkTraitsResourceResourceTypes;
-  readonly pending: bool;
-  readonly pendingRemoval: bool;
-}
-
-/** @name RmrkTraitsResourceResourceTypes */
-export interface RmrkTraitsResourceResourceTypes extends Enum {
-  readonly isBasic: boolean;
-  readonly asBasic: RmrkTraitsResourceBasicResource;
-  readonly isComposable: boolean;
-  readonly asComposable: RmrkTraitsResourceComposableResource;
-  readonly isSlot: boolean;
-  readonly asSlot: RmrkTraitsResourceSlotResource;
-  readonly type: 'Basic' | 'Composable' | 'Slot';
-}
-
-/** @name RmrkTraitsResourceSlotResource */
-export interface RmrkTraitsResourceSlotResource extends Struct {
-  readonly base: u32;
-  readonly src: Option<Bytes>;
-  readonly metadata: Option<Bytes>;
-  readonly slot: u32;
-  readonly license: Option<Bytes>;
-  readonly thumb: Option<Bytes>;
-}
-
-/** @name RmrkTraitsTheme */
-export interface RmrkTraitsTheme extends Struct {
-  readonly name: Bytes;
-  readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
-  readonly inherit: bool;
-}
-
-/** @name RmrkTraitsThemeThemeProperty */
-export interface RmrkTraitsThemeThemeProperty extends Struct {
-  readonly key: Bytes;
-  readonly value: Bytes;
-}
+/** @name SpCoreCryptoKeyTypeId */
+export interface SpCoreCryptoKeyTypeId extends U8aFixed {}
 
 /** @name SpCoreEcdsaSignature */
 export interface SpCoreEcdsaSignature extends U8aFixed {}
@@ -2701,16 +2757,14 @@
 /** @name SpCoreEd25519Signature */
 export interface SpCoreEd25519Signature extends U8aFixed {}
 
+/** @name SpCoreSr25519Public */
+export interface SpCoreSr25519Public extends U8aFixed {}
+
 /** @name SpCoreSr25519Signature */
 export interface SpCoreSr25519Signature extends U8aFixed {}
 
-/** @name SpRuntimeArithmeticError */
-export interface SpRuntimeArithmeticError extends Enum {
-  readonly isUnderflow: boolean;
-  readonly isOverflow: boolean;
-  readonly isDivisionByZero: boolean;
-  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';
-}
+/** @name SpRuntimeBlakeTwo256 */
+export interface SpRuntimeBlakeTwo256 extends Null {}
 
 /** @name SpRuntimeDigest */
 export interface SpRuntimeDigest extends Struct {
@@ -2744,7 +2798,7 @@
   readonly isToken: boolean;
   readonly asToken: SpRuntimeTokenError;
   readonly isArithmetic: boolean;
-  readonly asArithmetic: SpRuntimeArithmeticError;
+  readonly asArithmetic: SpArithmeticArithmeticError;
   readonly isTransactional: boolean;
   readonly asTransactional: SpRuntimeTransactionalError;
   readonly isExhausted: boolean;
@@ -2753,6 +2807,15 @@
   readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';
 }
 
+/** @name SpRuntimeHeader */
+export interface SpRuntimeHeader extends Struct {
+  readonly parentHash: H256;
+  readonly number: Compact<u32>;
+  readonly stateRoot: H256;
+  readonly extrinsicsRoot: H256;
+  readonly digest: SpRuntimeDigest;
+}
+
 /** @name SpRuntimeModuleError */
 export interface SpRuntimeModuleError extends Struct {
   readonly index: u8;
@@ -3160,7 +3223,10 @@
   readonly isTechnical: boolean;
   readonly isLegislative: boolean;
   readonly isJudicial: boolean;
-  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
+  readonly isDefense: boolean;
+  readonly isAdministration: boolean;
+  readonly isTreasury: boolean;
+  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';
 }
 
 /** @name XcmV0JunctionBodyPart */
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
before · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup3: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>9   **/10  FrameSystemAccountInfo: {11    nonce: 'u32',12    consumers: 'u32',13    providers: 'u32',14    sufficients: 'u32',15    data: 'PalletBalancesAccountData'16  },17  /**18   * Lookup5: pallet_balances::AccountData<Balance>19   **/20  PalletBalancesAccountData: {21    free: 'u128',22    reserved: 'u128',23    miscFrozen: 'u128',24    feeFrozen: 'u128'25  },26  /**27   * Lookup7: frame_support::dispatch::PerDispatchClass<sp_weights::weight_v2::Weight>28   **/29  FrameSupportDispatchPerDispatchClassWeight: {30    normal: 'SpWeightsWeightV2Weight',31    operational: 'SpWeightsWeightV2Weight',32    mandatory: 'SpWeightsWeightV2Weight'33  },34  /**35   * Lookup8: sp_weights::weight_v2::Weight36   **/37  SpWeightsWeightV2Weight: {38    refTime: 'Compact<u64>',39    proofSize: 'Compact<u64>'40  },41  /**42   * Lookup13: sp_runtime::generic::digest::Digest43   **/44  SpRuntimeDigest: {45    logs: 'Vec<SpRuntimeDigestDigestItem>'46  },47  /**48   * Lookup15: sp_runtime::generic::digest::DigestItem49   **/50  SpRuntimeDigestDigestItem: {51    _enum: {52      Other: 'Bytes',53      __Unused1: 'Null',54      __Unused2: 'Null',55      __Unused3: 'Null',56      Consensus: '([u8;4],Bytes)',57      Seal: '([u8;4],Bytes)',58      PreRuntime: '([u8;4],Bytes)',59      __Unused7: 'Null',60      RuntimeEnvironmentUpdated: 'Null'61    }62  },63  /**64   * Lookup18: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>65   **/66  FrameSystemEventRecord: {67    phase: 'FrameSystemPhase',68    event: 'Event',69    topics: 'Vec<H256>'70  },71  /**72   * Lookup20: frame_system::pallet::Event<T>73   **/74  FrameSystemEvent: {75    _enum: {76      ExtrinsicSuccess: {77        dispatchInfo: 'FrameSupportDispatchDispatchInfo',78      },79      ExtrinsicFailed: {80        dispatchError: 'SpRuntimeDispatchError',81        dispatchInfo: 'FrameSupportDispatchDispatchInfo',82      },83      CodeUpdated: 'Null',84      NewAccount: {85        account: 'AccountId32',86      },87      KilledAccount: {88        account: 'AccountId32',89      },90      Remarked: {91        _alias: {92          hash_: 'hash',93        },94        sender: 'AccountId32',95        hash_: 'H256'96      }97    }98  },99  /**100   * Lookup21: frame_support::dispatch::DispatchInfo101   **/102  FrameSupportDispatchDispatchInfo: {103    weight: 'SpWeightsWeightV2Weight',104    class: 'FrameSupportDispatchDispatchClass',105    paysFee: 'FrameSupportDispatchPays'106  },107  /**108   * Lookup22: frame_support::dispatch::DispatchClass109   **/110  FrameSupportDispatchDispatchClass: {111    _enum: ['Normal', 'Operational', 'Mandatory']112  },113  /**114   * Lookup23: frame_support::dispatch::Pays115   **/116  FrameSupportDispatchPays: {117    _enum: ['Yes', 'No']118  },119  /**120   * Lookup24: sp_runtime::DispatchError121   **/122  SpRuntimeDispatchError: {123    _enum: {124      Other: 'Null',125      CannotLookup: 'Null',126      BadOrigin: 'Null',127      Module: 'SpRuntimeModuleError',128      ConsumerRemaining: 'Null',129      NoProviders: 'Null',130      TooManyConsumers: 'Null',131      Token: 'SpRuntimeTokenError',132      Arithmetic: 'SpRuntimeArithmeticError',133      Transactional: 'SpRuntimeTransactionalError',134      Exhausted: 'Null',135      Corruption: 'Null',136      Unavailable: 'Null'137    }138  },139  /**140   * Lookup25: sp_runtime::ModuleError141   **/142  SpRuntimeModuleError: {143    index: 'u8',144    error: '[u8;4]'145  },146  /**147   * Lookup26: sp_runtime::TokenError148   **/149  SpRuntimeTokenError: {150    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']151  },152  /**153   * Lookup27: sp_runtime::ArithmeticError154   **/155  SpRuntimeArithmeticError: {156    _enum: ['Underflow', 'Overflow', 'DivisionByZero']157  },158  /**159   * Lookup28: sp_runtime::TransactionalError160   **/161  SpRuntimeTransactionalError: {162    _enum: ['LimitReached', 'NoLayer']163  },164  /**165   * Lookup29: cumulus_pallet_parachain_system::pallet::Event<T>166   **/167  CumulusPalletParachainSystemEvent: {168    _enum: {169      ValidationFunctionStored: 'Null',170      ValidationFunctionApplied: {171        relayChainBlockNum: 'u32',172      },173      ValidationFunctionDiscarded: 'Null',174      UpgradeAuthorized: {175        codeHash: 'H256',176      },177      DownwardMessagesReceived: {178        count: 'u32',179      },180      DownwardMessagesProcessed: {181        weightUsed: 'SpWeightsWeightV2Weight',182        dmqHead: 'H256'183      }184    }185  },186  /**187   * Lookup30: pallet_balances::pallet::Event<T, I>188   **/189  PalletBalancesEvent: {190    _enum: {191      Endowed: {192        account: 'AccountId32',193        freeBalance: 'u128',194      },195      DustLost: {196        account: 'AccountId32',197        amount: 'u128',198      },199      Transfer: {200        from: 'AccountId32',201        to: 'AccountId32',202        amount: 'u128',203      },204      BalanceSet: {205        who: 'AccountId32',206        free: 'u128',207        reserved: 'u128',208      },209      Reserved: {210        who: 'AccountId32',211        amount: 'u128',212      },213      Unreserved: {214        who: 'AccountId32',215        amount: 'u128',216      },217      ReserveRepatriated: {218        from: 'AccountId32',219        to: 'AccountId32',220        amount: 'u128',221        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',222      },223      Deposit: {224        who: 'AccountId32',225        amount: 'u128',226      },227      Withdraw: {228        who: 'AccountId32',229        amount: 'u128',230      },231      Slashed: {232        who: 'AccountId32',233        amount: 'u128'234      }235    }236  },237  /**238   * Lookup31: frame_support::traits::tokens::misc::BalanceStatus239   **/240  FrameSupportTokensMiscBalanceStatus: {241    _enum: ['Free', 'Reserved']242  },243  /**244   * Lookup32: pallet_transaction_payment::pallet::Event<T>245   **/246  PalletTransactionPaymentEvent: {247    _enum: {248      TransactionFeePaid: {249        who: 'AccountId32',250        actualFee: 'u128',251        tip: 'u128'252      }253    }254  },255  /**256   * Lookup33: pallet_treasury::pallet::Event<T, I>257   **/258  PalletTreasuryEvent: {259    _enum: {260      Proposed: {261        proposalIndex: 'u32',262      },263      Spending: {264        budgetRemaining: 'u128',265      },266      Awarded: {267        proposalIndex: 'u32',268        award: 'u128',269        account: 'AccountId32',270      },271      Rejected: {272        proposalIndex: 'u32',273        slashed: 'u128',274      },275      Burnt: {276        burntFunds: 'u128',277      },278      Rollover: {279        rolloverBalance: 'u128',280      },281      Deposit: {282        value: 'u128',283      },284      SpendApproved: {285        proposalIndex: 'u32',286        amount: 'u128',287        beneficiary: 'AccountId32'288      }289    }290  },291  /**292   * Lookup34: pallet_sudo::pallet::Event<T>293   **/294  PalletSudoEvent: {295    _enum: {296      Sudid: {297        sudoResult: 'Result<Null, SpRuntimeDispatchError>',298      },299      KeyChanged: {300        oldSudoer: 'Option<AccountId32>',301      },302      SudoAsDone: {303        sudoResult: 'Result<Null, SpRuntimeDispatchError>'304      }305    }306  },307  /**308   * Lookup38: orml_vesting::module::Event<T>309   **/310  OrmlVestingModuleEvent: {311    _enum: {312      VestingScheduleAdded: {313        from: 'AccountId32',314        to: 'AccountId32',315        vestingSchedule: 'OrmlVestingVestingSchedule',316      },317      Claimed: {318        who: 'AccountId32',319        amount: 'u128',320      },321      VestingSchedulesUpdated: {322        who: 'AccountId32'323      }324    }325  },326  /**327   * Lookup39: orml_vesting::VestingSchedule<BlockNumber, Balance>328   **/329  OrmlVestingVestingSchedule: {330    start: 'u32',331    period: 'u32',332    periodCount: 'u32',333    perPeriod: 'Compact<u128>'334  },335  /**336   * Lookup41: orml_xtokens::module::Event<T>337   **/338  OrmlXtokensModuleEvent: {339    _enum: {340      TransferredMultiAssets: {341        sender: 'AccountId32',342        assets: 'XcmV1MultiassetMultiAssets',343        fee: 'XcmV1MultiAsset',344        dest: 'XcmV1MultiLocation'345      }346    }347  },348  /**349   * Lookup42: xcm::v1::multiasset::MultiAssets350   **/351  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',352  /**353   * Lookup44: xcm::v1::multiasset::MultiAsset354   **/355  XcmV1MultiAsset: {356    id: 'XcmV1MultiassetAssetId',357    fun: 'XcmV1MultiassetFungibility'358  },359  /**360   * Lookup45: xcm::v1::multiasset::AssetId361   **/362  XcmV1MultiassetAssetId: {363    _enum: {364      Concrete: 'XcmV1MultiLocation',365      Abstract: 'Bytes'366    }367  },368  /**369   * Lookup46: xcm::v1::multilocation::MultiLocation370   **/371  XcmV1MultiLocation: {372    parents: 'u8',373    interior: 'XcmV1MultilocationJunctions'374  },375  /**376   * Lookup47: xcm::v1::multilocation::Junctions377   **/378  XcmV1MultilocationJunctions: {379    _enum: {380      Here: 'Null',381      X1: 'XcmV1Junction',382      X2: '(XcmV1Junction,XcmV1Junction)',383      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',384      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',385      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',386      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',387      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',388      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'389    }390  },391  /**392   * Lookup48: xcm::v1::junction::Junction393   **/394  XcmV1Junction: {395    _enum: {396      Parachain: 'Compact<u32>',397      AccountId32: {398        network: 'XcmV0JunctionNetworkId',399        id: '[u8;32]',400      },401      AccountIndex64: {402        network: 'XcmV0JunctionNetworkId',403        index: 'Compact<u64>',404      },405      AccountKey20: {406        network: 'XcmV0JunctionNetworkId',407        key: '[u8;20]',408      },409      PalletInstance: 'u8',410      GeneralIndex: 'Compact<u128>',411      GeneralKey: 'Bytes',412      OnlyChild: 'Null',413      Plurality: {414        id: 'XcmV0JunctionBodyId',415        part: 'XcmV0JunctionBodyPart'416      }417    }418  },419  /**420   * Lookup50: xcm::v0::junction::NetworkId421   **/422  XcmV0JunctionNetworkId: {423    _enum: {424      Any: 'Null',425      Named: 'Bytes',426      Polkadot: 'Null',427      Kusama: 'Null'428    }429  },430  /**431   * Lookup53: xcm::v0::junction::BodyId432   **/433  XcmV0JunctionBodyId: {434    _enum: {435      Unit: 'Null',436      Named: 'Bytes',437      Index: 'Compact<u32>',438      Executive: 'Null',439      Technical: 'Null',440      Legislative: 'Null',441      Judicial: 'Null'442    }443  },444  /**445   * Lookup54: xcm::v0::junction::BodyPart446   **/447  XcmV0JunctionBodyPart: {448    _enum: {449      Voice: 'Null',450      Members: {451        count: 'Compact<u32>',452      },453      Fraction: {454        nom: 'Compact<u32>',455        denom: 'Compact<u32>',456      },457      AtLeastProportion: {458        nom: 'Compact<u32>',459        denom: 'Compact<u32>',460      },461      MoreThanProportion: {462        nom: 'Compact<u32>',463        denom: 'Compact<u32>'464      }465    }466  },467  /**468   * Lookup55: xcm::v1::multiasset::Fungibility469   **/470  XcmV1MultiassetFungibility: {471    _enum: {472      Fungible: 'Compact<u128>',473      NonFungible: 'XcmV1MultiassetAssetInstance'474    }475  },476  /**477   * Lookup56: xcm::v1::multiasset::AssetInstance478   **/479  XcmV1MultiassetAssetInstance: {480    _enum: {481      Undefined: 'Null',482      Index: 'Compact<u128>',483      Array4: '[u8;4]',484      Array8: '[u8;8]',485      Array16: '[u8;16]',486      Array32: '[u8;32]',487      Blob: 'Bytes'488    }489  },490  /**491   * Lookup59: orml_tokens::module::Event<T>492   **/493  OrmlTokensModuleEvent: {494    _enum: {495      Endowed: {496        currencyId: 'PalletForeignAssetsAssetIds',497        who: 'AccountId32',498        amount: 'u128',499      },500      DustLost: {501        currencyId: 'PalletForeignAssetsAssetIds',502        who: 'AccountId32',503        amount: 'u128',504      },505      Transfer: {506        currencyId: 'PalletForeignAssetsAssetIds',507        from: 'AccountId32',508        to: 'AccountId32',509        amount: 'u128',510      },511      Reserved: {512        currencyId: 'PalletForeignAssetsAssetIds',513        who: 'AccountId32',514        amount: 'u128',515      },516      Unreserved: {517        currencyId: 'PalletForeignAssetsAssetIds',518        who: 'AccountId32',519        amount: 'u128',520      },521      ReserveRepatriated: {522        currencyId: 'PalletForeignAssetsAssetIds',523        from: 'AccountId32',524        to: 'AccountId32',525        amount: 'u128',526        status: 'FrameSupportTokensMiscBalanceStatus',527      },528      BalanceSet: {529        currencyId: 'PalletForeignAssetsAssetIds',530        who: 'AccountId32',531        free: 'u128',532        reserved: 'u128',533      },534      TotalIssuanceSet: {535        currencyId: 'PalletForeignAssetsAssetIds',536        amount: 'u128',537      },538      Withdrawn: {539        currencyId: 'PalletForeignAssetsAssetIds',540        who: 'AccountId32',541        amount: 'u128',542      },543      Slashed: {544        currencyId: 'PalletForeignAssetsAssetIds',545        who: 'AccountId32',546        freeAmount: 'u128',547        reservedAmount: 'u128',548      },549      Deposited: {550        currencyId: 'PalletForeignAssetsAssetIds',551        who: 'AccountId32',552        amount: 'u128',553      },554      LockSet: {555        lockId: '[u8;8]',556        currencyId: 'PalletForeignAssetsAssetIds',557        who: 'AccountId32',558        amount: 'u128',559      },560      LockRemoved: {561        lockId: '[u8;8]',562        currencyId: 'PalletForeignAssetsAssetIds',563        who: 'AccountId32'564      }565    }566  },567  /**568   * Lookup60: pallet_foreign_assets::AssetIds569   **/570  PalletForeignAssetsAssetIds: {571    _enum: {572      ForeignAssetId: 'u32',573      NativeAssetId: 'PalletForeignAssetsNativeCurrency'574    }575  },576  /**577   * Lookup61: pallet_foreign_assets::NativeCurrency578   **/579  PalletForeignAssetsNativeCurrency: {580    _enum: ['Here', 'Parent']581  },582  /**583   * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>584   **/585  CumulusPalletXcmpQueueEvent: {586    _enum: {587      Success: {588        messageHash: 'Option<H256>',589        weight: 'SpWeightsWeightV2Weight',590      },591      Fail: {592        messageHash: 'Option<H256>',593        error: 'XcmV2TraitsError',594        weight: 'SpWeightsWeightV2Weight',595      },596      BadVersion: {597        messageHash: 'Option<H256>',598      },599      BadFormat: {600        messageHash: 'Option<H256>',601      },602      UpwardMessageSent: {603        messageHash: 'Option<H256>',604      },605      XcmpMessageSent: {606        messageHash: 'Option<H256>',607      },608      OverweightEnqueued: {609        sender: 'u32',610        sentAt: 'u32',611        index: 'u64',612        required: 'SpWeightsWeightV2Weight',613      },614      OverweightServiced: {615        index: 'u64',616        used: 'SpWeightsWeightV2Weight'617      }618    }619  },620  /**621   * Lookup64: xcm::v2::traits::Error622   **/623  XcmV2TraitsError: {624    _enum: {625      Overflow: 'Null',626      Unimplemented: 'Null',627      UntrustedReserveLocation: 'Null',628      UntrustedTeleportLocation: 'Null',629      MultiLocationFull: 'Null',630      MultiLocationNotInvertible: 'Null',631      BadOrigin: 'Null',632      InvalidLocation: 'Null',633      AssetNotFound: 'Null',634      FailedToTransactAsset: 'Null',635      NotWithdrawable: 'Null',636      LocationCannotHold: 'Null',637      ExceedsMaxMessageSize: 'Null',638      DestinationUnsupported: 'Null',639      Transport: 'Null',640      Unroutable: 'Null',641      UnknownClaim: 'Null',642      FailedToDecode: 'Null',643      MaxWeightInvalid: 'Null',644      NotHoldingFees: 'Null',645      TooExpensive: 'Null',646      Trap: 'u64',647      UnhandledXcmVersion: 'Null',648      WeightLimitReached: 'u64',649      Barrier: 'Null',650      WeightNotComputable: 'Null'651    }652  },653  /**654   * Lookup66: pallet_xcm::pallet::Event<T>655   **/656  PalletXcmEvent: {657    _enum: {658      Attempted: 'XcmV2TraitsOutcome',659      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',660      UnexpectedResponse: '(XcmV1MultiLocation,u64)',661      ResponseReady: '(u64,XcmV2Response)',662      Notified: '(u64,u8,u8)',663      NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',664      NotifyDispatchError: '(u64,u8,u8)',665      NotifyDecodeFailed: '(u64,u8,u8)',666      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',667      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',668      ResponseTaken: 'u64',669      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',670      VersionChangeNotified: '(XcmV1MultiLocation,u32)',671      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',672      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',673      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',674      AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)'675    }676  },677  /**678   * Lookup67: xcm::v2::traits::Outcome679   **/680  XcmV2TraitsOutcome: {681    _enum: {682      Complete: 'u64',683      Incomplete: '(u64,XcmV2TraitsError)',684      Error: 'XcmV2TraitsError'685    }686  },687  /**688   * Lookup68: xcm::v2::Xcm<RuntimeCall>689   **/690  XcmV2Xcm: 'Vec<XcmV2Instruction>',691  /**692   * Lookup70: xcm::v2::Instruction<RuntimeCall>693   **/694  XcmV2Instruction: {695    _enum: {696      WithdrawAsset: 'XcmV1MultiassetMultiAssets',697      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',698      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',699      QueryResponse: {700        queryId: 'Compact<u64>',701        response: 'XcmV2Response',702        maxWeight: 'Compact<u64>',703      },704      TransferAsset: {705        assets: 'XcmV1MultiassetMultiAssets',706        beneficiary: 'XcmV1MultiLocation',707      },708      TransferReserveAsset: {709        assets: 'XcmV1MultiassetMultiAssets',710        dest: 'XcmV1MultiLocation',711        xcm: 'XcmV2Xcm',712      },713      Transact: {714        originType: 'XcmV0OriginKind',715        requireWeightAtMost: 'Compact<u64>',716        call: 'XcmDoubleEncoded',717      },718      HrmpNewChannelOpenRequest: {719        sender: 'Compact<u32>',720        maxMessageSize: 'Compact<u32>',721        maxCapacity: 'Compact<u32>',722      },723      HrmpChannelAccepted: {724        recipient: 'Compact<u32>',725      },726      HrmpChannelClosing: {727        initiator: 'Compact<u32>',728        sender: 'Compact<u32>',729        recipient: 'Compact<u32>',730      },731      ClearOrigin: 'Null',732      DescendOrigin: 'XcmV1MultilocationJunctions',733      ReportError: {734        queryId: 'Compact<u64>',735        dest: 'XcmV1MultiLocation',736        maxResponseWeight: 'Compact<u64>',737      },738      DepositAsset: {739        assets: 'XcmV1MultiassetMultiAssetFilter',740        maxAssets: 'Compact<u32>',741        beneficiary: 'XcmV1MultiLocation',742      },743      DepositReserveAsset: {744        assets: 'XcmV1MultiassetMultiAssetFilter',745        maxAssets: 'Compact<u32>',746        dest: 'XcmV1MultiLocation',747        xcm: 'XcmV2Xcm',748      },749      ExchangeAsset: {750        give: 'XcmV1MultiassetMultiAssetFilter',751        receive: 'XcmV1MultiassetMultiAssets',752      },753      InitiateReserveWithdraw: {754        assets: 'XcmV1MultiassetMultiAssetFilter',755        reserve: 'XcmV1MultiLocation',756        xcm: 'XcmV2Xcm',757      },758      InitiateTeleport: {759        assets: 'XcmV1MultiassetMultiAssetFilter',760        dest: 'XcmV1MultiLocation',761        xcm: 'XcmV2Xcm',762      },763      QueryHolding: {764        queryId: 'Compact<u64>',765        dest: 'XcmV1MultiLocation',766        assets: 'XcmV1MultiassetMultiAssetFilter',767        maxResponseWeight: 'Compact<u64>',768      },769      BuyExecution: {770        fees: 'XcmV1MultiAsset',771        weightLimit: 'XcmV2WeightLimit',772      },773      RefundSurplus: 'Null',774      SetErrorHandler: 'XcmV2Xcm',775      SetAppendix: 'XcmV2Xcm',776      ClearError: 'Null',777      ClaimAsset: {778        assets: 'XcmV1MultiassetMultiAssets',779        ticket: 'XcmV1MultiLocation',780      },781      Trap: 'Compact<u64>',782      SubscribeVersion: {783        queryId: 'Compact<u64>',784        maxResponseWeight: 'Compact<u64>',785      },786      UnsubscribeVersion: 'Null'787    }788  },789  /**790   * Lookup71: xcm::v2::Response791   **/792  XcmV2Response: {793    _enum: {794      Null: 'Null',795      Assets: 'XcmV1MultiassetMultiAssets',796      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',797      Version: 'u32'798    }799  },800  /**801   * Lookup74: xcm::v0::OriginKind802   **/803  XcmV0OriginKind: {804    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']805  },806  /**807   * Lookup75: xcm::double_encoded::DoubleEncoded<T>808   **/809  XcmDoubleEncoded: {810    encoded: 'Bytes'811  },812  /**813   * Lookup76: xcm::v1::multiasset::MultiAssetFilter814   **/815  XcmV1MultiassetMultiAssetFilter: {816    _enum: {817      Definite: 'XcmV1MultiassetMultiAssets',818      Wild: 'XcmV1MultiassetWildMultiAsset'819    }820  },821  /**822   * Lookup77: xcm::v1::multiasset::WildMultiAsset823   **/824  XcmV1MultiassetWildMultiAsset: {825    _enum: {826      All: 'Null',827      AllOf: {828        id: 'XcmV1MultiassetAssetId',829        fun: 'XcmV1MultiassetWildFungibility'830      }831    }832  },833  /**834   * Lookup78: xcm::v1::multiasset::WildFungibility835   **/836  XcmV1MultiassetWildFungibility: {837    _enum: ['Fungible', 'NonFungible']838  },839  /**840   * Lookup79: xcm::v2::WeightLimit841   **/842  XcmV2WeightLimit: {843    _enum: {844      Unlimited: 'Null',845      Limited: 'Compact<u64>'846    }847  },848  /**849   * Lookup81: xcm::VersionedMultiAssets850   **/851  XcmVersionedMultiAssets: {852    _enum: {853      V0: 'Vec<XcmV0MultiAsset>',854      V1: 'XcmV1MultiassetMultiAssets'855    }856  },857  /**858   * Lookup83: xcm::v0::multi_asset::MultiAsset859   **/860  XcmV0MultiAsset: {861    _enum: {862      None: 'Null',863      All: 'Null',864      AllFungible: 'Null',865      AllNonFungible: 'Null',866      AllAbstractFungible: {867        id: 'Bytes',868      },869      AllAbstractNonFungible: {870        class: 'Bytes',871      },872      AllConcreteFungible: {873        id: 'XcmV0MultiLocation',874      },875      AllConcreteNonFungible: {876        class: 'XcmV0MultiLocation',877      },878      AbstractFungible: {879        id: 'Bytes',880        amount: 'Compact<u128>',881      },882      AbstractNonFungible: {883        class: 'Bytes',884        instance: 'XcmV1MultiassetAssetInstance',885      },886      ConcreteFungible: {887        id: 'XcmV0MultiLocation',888        amount: 'Compact<u128>',889      },890      ConcreteNonFungible: {891        class: 'XcmV0MultiLocation',892        instance: 'XcmV1MultiassetAssetInstance'893      }894    }895  },896  /**897   * Lookup84: xcm::v0::multi_location::MultiLocation898   **/899  XcmV0MultiLocation: {900    _enum: {901      Null: 'Null',902      X1: 'XcmV0Junction',903      X2: '(XcmV0Junction,XcmV0Junction)',904      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',905      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',906      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',907      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',908      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',909      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'910    }911  },912  /**913   * Lookup85: xcm::v0::junction::Junction914   **/915  XcmV0Junction: {916    _enum: {917      Parent: 'Null',918      Parachain: 'Compact<u32>',919      AccountId32: {920        network: 'XcmV0JunctionNetworkId',921        id: '[u8;32]',922      },923      AccountIndex64: {924        network: 'XcmV0JunctionNetworkId',925        index: 'Compact<u64>',926      },927      AccountKey20: {928        network: 'XcmV0JunctionNetworkId',929        key: '[u8;20]',930      },931      PalletInstance: 'u8',932      GeneralIndex: 'Compact<u128>',933      GeneralKey: 'Bytes',934      OnlyChild: 'Null',935      Plurality: {936        id: 'XcmV0JunctionBodyId',937        part: 'XcmV0JunctionBodyPart'938      }939    }940  },941  /**942   * Lookup86: xcm::VersionedMultiLocation943   **/944  XcmVersionedMultiLocation: {945    _enum: {946      V0: 'XcmV0MultiLocation',947      V1: 'XcmV1MultiLocation'948    }949  },950  /**951   * Lookup87: cumulus_pallet_xcm::pallet::Event<T>952   **/953  CumulusPalletXcmEvent: {954    _enum: {955      InvalidFormat: '[u8;8]',956      UnsupportedVersion: '[u8;8]',957      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'958    }959  },960  /**961   * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>962   **/963  CumulusPalletDmpQueueEvent: {964    _enum: {965      InvalidFormat: {966        messageId: '[u8;32]',967      },968      UnsupportedVersion: {969        messageId: '[u8;32]',970      },971      ExecutedDownward: {972        messageId: '[u8;32]',973        outcome: 'XcmV2TraitsOutcome',974      },975      WeightExhausted: {976        messageId: '[u8;32]',977        remainingWeight: 'SpWeightsWeightV2Weight',978        requiredWeight: 'SpWeightsWeightV2Weight',979      },980      OverweightEnqueued: {981        messageId: '[u8;32]',982        overweightIndex: 'u64',983        requiredWeight: 'SpWeightsWeightV2Weight',984      },985      OverweightServiced: {986        overweightIndex: 'u64',987        weightUsed: 'SpWeightsWeightV2Weight'988      }989    }990  },991  /**992   * Lookup89: pallet_configuration::pallet::Event<T>993   **/994  PalletConfigurationEvent: {995    _enum: {996      NewDesiredCollators: {997        desiredCollators: 'Option<u32>',998      },999      NewCollatorLicenseBond: {1000        bondCost: 'Option<u128>',1001      },1002      NewCollatorKickThreshold: {1003        lengthInBlocks: 'Option<u32>'1004      }1005    }1006  },1007  /**1008   * Lookup92: pallet_common::pallet::Event<T>1009   **/1010  PalletCommonEvent: {1011    _enum: {1012      CollectionCreated: '(u32,u8,AccountId32)',1013      CollectionDestroyed: 'u32',1014      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1015      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1016      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1017      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1018      ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',1019      CollectionPropertySet: '(u32,Bytes)',1020      CollectionPropertyDeleted: '(u32,Bytes)',1021      TokenPropertySet: '(u32,u32,Bytes)',1022      TokenPropertyDeleted: '(u32,u32,Bytes)',1023      PropertyPermissionSet: '(u32,Bytes)',1024      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1025      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1026      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1027      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1028      CollectionLimitSet: 'u32',1029      CollectionOwnerChanged: '(u32,AccountId32)',1030      CollectionPermissionSet: 'u32',1031      CollectionSponsorSet: '(u32,AccountId32)',1032      SponsorshipConfirmed: '(u32,AccountId32)',1033      CollectionSponsorRemoved: 'u32'1034    }1035  },1036  /**1037   * Lookup95: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1038   **/1039  PalletEvmAccountBasicCrossAccountIdRepr: {1040    _enum: {1041      Substrate: 'AccountId32',1042      Ethereum: 'H160'1043    }1044  },1045  /**1046   * Lookup99: pallet_structure::pallet::Event<T>1047   **/1048  PalletStructureEvent: {1049    _enum: {1050      Executed: 'Result<Null, SpRuntimeDispatchError>'1051    }1052  },1053  /**1054   * Lookup100: pallet_rmrk_core::pallet::Event<T>1055   **/1056  PalletRmrkCoreEvent: {1057    _enum: {1058      CollectionCreated: {1059        issuer: 'AccountId32',1060        collectionId: 'u32',1061      },1062      CollectionDestroyed: {1063        issuer: 'AccountId32',1064        collectionId: 'u32',1065      },1066      IssuerChanged: {1067        oldIssuer: 'AccountId32',1068        newIssuer: 'AccountId32',1069        collectionId: 'u32',1070      },1071      CollectionLocked: {1072        issuer: 'AccountId32',1073        collectionId: 'u32',1074      },1075      NftMinted: {1076        owner: 'AccountId32',1077        collectionId: 'u32',1078        nftId: 'u32',1079      },1080      NFTBurned: {1081        owner: 'AccountId32',1082        nftId: 'u32',1083      },1084      NFTSent: {1085        sender: 'AccountId32',1086        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1087        collectionId: 'u32',1088        nftId: 'u32',1089        approvalRequired: 'bool',1090      },1091      NFTAccepted: {1092        sender: 'AccountId32',1093        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1094        collectionId: 'u32',1095        nftId: 'u32',1096      },1097      NFTRejected: {1098        sender: 'AccountId32',1099        collectionId: 'u32',1100        nftId: 'u32',1101      },1102      PropertySet: {1103        collectionId: 'u32',1104        maybeNftId: 'Option<u32>',1105        key: 'Bytes',1106        value: 'Bytes',1107      },1108      ResourceAdded: {1109        nftId: 'u32',1110        resourceId: 'u32',1111      },1112      ResourceRemoval: {1113        nftId: 'u32',1114        resourceId: 'u32',1115      },1116      ResourceAccepted: {1117        nftId: 'u32',1118        resourceId: 'u32',1119      },1120      ResourceRemovalAccepted: {1121        nftId: 'u32',1122        resourceId: 'u32',1123      },1124      PrioritySet: {1125        collectionId: 'u32',1126        nftId: 'u32'1127      }1128    }1129  },1130  /**1131   * Lookup101: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1132   **/1133  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1134    _enum: {1135      AccountId: 'AccountId32',1136      CollectionAndNftTuple: '(u32,u32)'1137    }1138  },1139  /**1140   * Lookup104: pallet_rmrk_equip::pallet::Event<T>1141   **/1142  PalletRmrkEquipEvent: {1143    _enum: {1144      BaseCreated: {1145        issuer: 'AccountId32',1146        baseId: 'u32',1147      },1148      EquippablesUpdated: {1149        baseId: 'u32',1150        slotId: 'u32'1151      }1152    }1153  },1154  /**1155   * Lookup105: pallet_app_promotion::pallet::Event<T>1156   **/1157  PalletAppPromotionEvent: {1158    _enum: {1159      StakingRecalculation: '(AccountId32,u128,u128)',1160      Stake: '(AccountId32,u128)',1161      Unstake: '(AccountId32,u128)',1162      SetAdmin: 'AccountId32'1163    }1164  },1165  /**1166   * Lookup106: pallet_foreign_assets::module::Event<T>1167   **/1168  PalletForeignAssetsModuleEvent: {1169    _enum: {1170      ForeignAssetRegistered: {1171        assetId: 'u32',1172        assetAddress: 'XcmV1MultiLocation',1173        metadata: 'PalletForeignAssetsModuleAssetMetadata',1174      },1175      ForeignAssetUpdated: {1176        assetId: 'u32',1177        assetAddress: 'XcmV1MultiLocation',1178        metadata: 'PalletForeignAssetsModuleAssetMetadata',1179      },1180      AssetRegistered: {1181        assetId: 'PalletForeignAssetsAssetIds',1182        metadata: 'PalletForeignAssetsModuleAssetMetadata',1183      },1184      AssetUpdated: {1185        assetId: 'PalletForeignAssetsAssetIds',1186        metadata: 'PalletForeignAssetsModuleAssetMetadata'1187      }1188    }1189  },1190  /**1191   * Lookup107: pallet_foreign_assets::module::AssetMetadata<Balance>1192   **/1193  PalletForeignAssetsModuleAssetMetadata: {1194    name: 'Bytes',1195    symbol: 'Bytes',1196    decimals: 'u8',1197    minimalBalance: 'u128'1198  },1199  /**1200   * Lookup108: pallet_evm::pallet::Event<T>1201   **/1202  PalletEvmEvent: {1203    _enum: {1204      Log: {1205        log: 'EthereumLog',1206      },1207      Created: {1208        address: 'H160',1209      },1210      CreatedFailed: {1211        address: 'H160',1212      },1213      Executed: {1214        address: 'H160',1215      },1216      ExecutedFailed: {1217        address: 'H160'1218      }1219    }1220  },1221  /**1222   * Lookup109: ethereum::log::Log1223   **/1224  EthereumLog: {1225    address: 'H160',1226    topics: 'Vec<H256>',1227    data: 'Bytes'1228  },1229  /**1230   * Lookup111: pallet_ethereum::pallet::Event1231   **/1232  PalletEthereumEvent: {1233    _enum: {1234      Executed: {1235        from: 'H160',1236        to: 'H160',1237        transactionHash: 'H256',1238        exitReason: 'EvmCoreErrorExitReason'1239      }1240    }1241  },1242  /**1243   * Lookup112: evm_core::error::ExitReason1244   **/1245  EvmCoreErrorExitReason: {1246    _enum: {1247      Succeed: 'EvmCoreErrorExitSucceed',1248      Error: 'EvmCoreErrorExitError',1249      Revert: 'EvmCoreErrorExitRevert',1250      Fatal: 'EvmCoreErrorExitFatal'1251    }1252  },1253  /**1254   * Lookup113: evm_core::error::ExitSucceed1255   **/1256  EvmCoreErrorExitSucceed: {1257    _enum: ['Stopped', 'Returned', 'Suicided']1258  },1259  /**1260   * Lookup114: evm_core::error::ExitError1261   **/1262  EvmCoreErrorExitError: {1263    _enum: {1264      StackUnderflow: 'Null',1265      StackOverflow: 'Null',1266      InvalidJump: 'Null',1267      InvalidRange: 'Null',1268      DesignatedInvalid: 'Null',1269      CallTooDeep: 'Null',1270      CreateCollision: 'Null',1271      CreateContractLimit: 'Null',1272      OutOfOffset: 'Null',1273      OutOfGas: 'Null',1274      OutOfFund: 'Null',1275      PCUnderflow: 'Null',1276      CreateEmpty: 'Null',1277      Other: 'Text',1278      InvalidCode: 'Null'1279    }1280  },1281  /**1282   * Lookup117: evm_core::error::ExitRevert1283   **/1284  EvmCoreErrorExitRevert: {1285    _enum: ['Reverted']1286  },1287  /**1288   * Lookup118: evm_core::error::ExitFatal1289   **/1290  EvmCoreErrorExitFatal: {1291    _enum: {1292      NotSupported: 'Null',1293      UnhandledInterrupt: 'Null',1294      CallErrorAsFatal: 'EvmCoreErrorExitError',1295      Other: 'Text'1296    }1297  },1298  /**1299   * Lookup119: pallet_evm_contract_helpers::pallet::Event<T>1300   **/1301  PalletEvmContractHelpersEvent: {1302    _enum: {1303      ContractSponsorSet: '(H160,AccountId32)',1304      ContractSponsorshipConfirmed: '(H160,AccountId32)',1305      ContractSponsorRemoved: 'H160'1306    }1307  },1308  /**1309   * Lookup120: pallet_evm_migration::pallet::Event<T>1310   **/1311  PalletEvmMigrationEvent: {1312    _enum: ['TestEvent']1313  },1314  /**1315   * Lookup121: pallet_maintenance::pallet::Event<T>1316   **/1317  PalletMaintenanceEvent: {1318    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1319  },1320  /**1321   * Lookup122: pallet_test_utils::pallet::Event<T>1322   **/1323  PalletTestUtilsEvent: {1324    _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1325  },1326  /**1327   * Lookup123: frame_system::Phase1328   **/1329  FrameSystemPhase: {1330    _enum: {1331      ApplyExtrinsic: 'u32',1332      Finalization: 'Null',1333      Initialization: 'Null'1334    }1335  },1336  /**1337   * Lookup126: frame_system::LastRuntimeUpgradeInfo1338   **/1339  FrameSystemLastRuntimeUpgradeInfo: {1340    specVersion: 'Compact<u32>',1341    specName: 'Text'1342  },1343  /**1344   * Lookup127: frame_system::pallet::Call<T>1345   **/1346  FrameSystemCall: {1347    _enum: {1348      remark: {1349        remark: 'Bytes',1350      },1351      set_heap_pages: {1352        pages: 'u64',1353      },1354      set_code: {1355        code: 'Bytes',1356      },1357      set_code_without_checks: {1358        code: 'Bytes',1359      },1360      set_storage: {1361        items: 'Vec<(Bytes,Bytes)>',1362      },1363      kill_storage: {1364        _alias: {1365          keys_: 'keys',1366        },1367        keys_: 'Vec<Bytes>',1368      },1369      kill_prefix: {1370        prefix: 'Bytes',1371        subkeys: 'u32',1372      },1373      remark_with_event: {1374        remark: 'Bytes'1375      }1376    }1377  },1378  /**1379   * Lookup131: frame_system::limits::BlockWeights1380   **/1381  FrameSystemLimitsBlockWeights: {1382    baseBlock: 'SpWeightsWeightV2Weight',1383    maxBlock: 'SpWeightsWeightV2Weight',1384    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1385  },1386  /**1387   * Lookup132: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1388   **/1389  FrameSupportDispatchPerDispatchClassWeightsPerClass: {1390    normal: 'FrameSystemLimitsWeightsPerClass',1391    operational: 'FrameSystemLimitsWeightsPerClass',1392    mandatory: 'FrameSystemLimitsWeightsPerClass'1393  },1394  /**1395   * Lookup133: frame_system::limits::WeightsPerClass1396   **/1397  FrameSystemLimitsWeightsPerClass: {1398    baseExtrinsic: 'SpWeightsWeightV2Weight',1399    maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',1400    maxTotal: 'Option<SpWeightsWeightV2Weight>',1401    reserved: 'Option<SpWeightsWeightV2Weight>'1402  },1403  /**1404   * Lookup135: frame_system::limits::BlockLength1405   **/1406  FrameSystemLimitsBlockLength: {1407    max: 'FrameSupportDispatchPerDispatchClassU32'1408  },1409  /**1410   * Lookup136: frame_support::dispatch::PerDispatchClass<T>1411   **/1412  FrameSupportDispatchPerDispatchClassU32: {1413    normal: 'u32',1414    operational: 'u32',1415    mandatory: 'u32'1416  },1417  /**1418   * Lookup137: sp_weights::RuntimeDbWeight1419   **/1420  SpWeightsRuntimeDbWeight: {1421    read: 'u64',1422    write: 'u64'1423  },1424  /**1425   * Lookup138: sp_version::RuntimeVersion1426   **/1427  SpVersionRuntimeVersion: {1428    specName: 'Text',1429    implName: 'Text',1430    authoringVersion: 'u32',1431    specVersion: 'u32',1432    implVersion: 'u32',1433    apis: 'Vec<([u8;8],u32)>',1434    transactionVersion: 'u32',1435    stateVersion: 'u8'1436  },1437  /**1438   * Lookup143: frame_system::pallet::Error<T>1439   **/1440  FrameSystemError: {1441    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1442  },1443  /**1444   * Lookup144: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1445   **/1446  PolkadotPrimitivesV2PersistedValidationData: {1447    parentHead: 'Bytes',1448    relayParentNumber: 'u32',1449    relayParentStorageRoot: 'H256',1450    maxPovSize: 'u32'1451  },1452  /**1453   * Lookup147: polkadot_primitives::v2::UpgradeRestriction1454   **/1455  PolkadotPrimitivesV2UpgradeRestriction: {1456    _enum: ['Present']1457  },1458  /**1459   * Lookup148: sp_trie::storage_proof::StorageProof1460   **/1461  SpTrieStorageProof: {1462    trieNodes: 'BTreeSet<Bytes>'1463  },1464  /**1465   * Lookup150: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1466   **/1467  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1468    dmqMqcHead: 'H256',1469    relayDispatchQueueSize: '(u32,u32)',1470    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1471    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1472  },1473  /**1474   * Lookup153: polkadot_primitives::v2::AbridgedHrmpChannel1475   **/1476  PolkadotPrimitivesV2AbridgedHrmpChannel: {1477    maxCapacity: 'u32',1478    maxTotalSize: 'u32',1479    maxMessageSize: 'u32',1480    msgCount: 'u32',1481    totalSize: 'u32',1482    mqcHead: 'Option<H256>'1483  },1484  /**1485   * Lookup154: polkadot_primitives::v2::AbridgedHostConfiguration1486   **/1487  PolkadotPrimitivesV2AbridgedHostConfiguration: {1488    maxCodeSize: 'u32',1489    maxHeadDataSize: 'u32',1490    maxUpwardQueueCount: 'u32',1491    maxUpwardQueueSize: 'u32',1492    maxUpwardMessageSize: 'u32',1493    maxUpwardMessageNumPerCandidate: 'u32',1494    hrmpMaxMessageNumPerCandidate: 'u32',1495    validationUpgradeCooldown: 'u32',1496    validationUpgradeDelay: 'u32'1497  },1498  /**1499   * Lookup160: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1500   **/1501  PolkadotCorePrimitivesOutboundHrmpMessage: {1502    recipient: 'u32',1503    data: 'Bytes'1504  },1505  /**1506   * Lookup161: cumulus_pallet_parachain_system::pallet::Call<T>1507   **/1508  CumulusPalletParachainSystemCall: {1509    _enum: {1510      set_validation_data: {1511        data: 'CumulusPrimitivesParachainInherentParachainInherentData',1512      },1513      sudo_send_upward_message: {1514        message: 'Bytes',1515      },1516      authorize_upgrade: {1517        codeHash: 'H256',1518      },1519      enact_authorized_upgrade: {1520        code: 'Bytes'1521      }1522    }1523  },1524  /**1525   * Lookup162: cumulus_primitives_parachain_inherent::ParachainInherentData1526   **/1527  CumulusPrimitivesParachainInherentParachainInherentData: {1528    validationData: 'PolkadotPrimitivesV2PersistedValidationData',1529    relayChainState: 'SpTrieStorageProof',1530    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1531    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1532  },1533  /**1534   * Lookup164: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1535   **/1536  PolkadotCorePrimitivesInboundDownwardMessage: {1537    sentAt: 'u32',1538    msg: 'Bytes'1539  },1540  /**1541   * Lookup167: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1542   **/1543  PolkadotCorePrimitivesInboundHrmpMessage: {1544    sentAt: 'u32',1545    data: 'Bytes'1546  },1547  /**1548   * Lookup170: cumulus_pallet_parachain_system::pallet::Error<T>1549   **/1550  CumulusPalletParachainSystemError: {1551    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1552  },1553  /**1554   * Lookup172: pallet_balances::BalanceLock<Balance>1555   **/1556  PalletBalancesBalanceLock: {1557    id: '[u8;8]',1558    amount: 'u128',1559    reasons: 'PalletBalancesReasons'1560  },1561  /**1562   * Lookup173: pallet_balances::Reasons1563   **/1564  PalletBalancesReasons: {1565    _enum: ['Fee', 'Misc', 'All']1566  },1567  /**1568   * Lookup176: pallet_balances::ReserveData<ReserveIdentifier, Balance>1569   **/1570  PalletBalancesReserveData: {1571    id: '[u8;16]',1572    amount: 'u128'1573  },1574  /**1575   * Lookup178: pallet_balances::pallet::Call<T, I>1576   **/1577  PalletBalancesCall: {1578    _enum: {1579      transfer: {1580        dest: 'MultiAddress',1581        value: 'Compact<u128>',1582      },1583      set_balance: {1584        who: 'MultiAddress',1585        newFree: 'Compact<u128>',1586        newReserved: 'Compact<u128>',1587      },1588      force_transfer: {1589        source: 'MultiAddress',1590        dest: 'MultiAddress',1591        value: 'Compact<u128>',1592      },1593      transfer_keep_alive: {1594        dest: 'MultiAddress',1595        value: 'Compact<u128>',1596      },1597      transfer_all: {1598        dest: 'MultiAddress',1599        keepAlive: 'bool',1600      },1601      force_unreserve: {1602        who: 'MultiAddress',1603        amount: 'u128'1604      }1605    }1606  },1607  /**1608   * Lookup181: pallet_balances::pallet::Error<T, I>1609   **/1610  PalletBalancesError: {1611    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1612  },1613  /**1614   * Lookup183: pallet_timestamp::pallet::Call<T>1615   **/1616  PalletTimestampCall: {1617    _enum: {1618      set: {1619        now: 'Compact<u64>'1620      }1621    }1622  },1623  /**1624   * Lookup185: pallet_transaction_payment::Releases1625   **/1626  PalletTransactionPaymentReleases: {1627    _enum: ['V1Ancient', 'V2']1628  },1629  /**1630   * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1631   **/1632  PalletTreasuryProposal: {1633    proposer: 'AccountId32',1634    value: 'u128',1635    beneficiary: 'AccountId32',1636    bond: 'u128'1637  },1638  /**1639   * Lookup189: pallet_treasury::pallet::Call<T, I>1640   **/1641  PalletTreasuryCall: {1642    _enum: {1643      propose_spend: {1644        value: 'Compact<u128>',1645        beneficiary: 'MultiAddress',1646      },1647      reject_proposal: {1648        proposalId: 'Compact<u32>',1649      },1650      approve_proposal: {1651        proposalId: 'Compact<u32>',1652      },1653      spend: {1654        amount: 'Compact<u128>',1655        beneficiary: 'MultiAddress',1656      },1657      remove_approval: {1658        proposalId: 'Compact<u32>'1659      }1660    }1661  },1662  /**1663   * Lookup191: frame_support::PalletId1664   **/1665  FrameSupportPalletId: '[u8;8]',1666  /**1667   * Lookup192: pallet_treasury::pallet::Error<T, I>1668   **/1669  PalletTreasuryError: {1670    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1671  },1672  /**1673   * Lookup193: pallet_sudo::pallet::Call<T>1674   **/1675  PalletSudoCall: {1676    _enum: {1677      sudo: {1678        call: 'Call',1679      },1680      sudo_unchecked_weight: {1681        call: 'Call',1682        weight: 'SpWeightsWeightV2Weight',1683      },1684      set_key: {1685        _alias: {1686          new_: 'new',1687        },1688        new_: 'MultiAddress',1689      },1690      sudo_as: {1691        who: 'MultiAddress',1692        call: 'Call'1693      }1694    }1695  },1696  /**1697   * Lookup195: orml_vesting::module::Call<T>1698   **/1699  OrmlVestingModuleCall: {1700    _enum: {1701      claim: 'Null',1702      vested_transfer: {1703        dest: 'MultiAddress',1704        schedule: 'OrmlVestingVestingSchedule',1705      },1706      update_vesting_schedules: {1707        who: 'MultiAddress',1708        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1709      },1710      claim_for: {1711        dest: 'MultiAddress'1712      }1713    }1714  },1715  /**1716   * Lookup197: orml_xtokens::module::Call<T>1717   **/1718  OrmlXtokensModuleCall: {1719    _enum: {1720      transfer: {1721        currencyId: 'PalletForeignAssetsAssetIds',1722        amount: 'u128',1723        dest: 'XcmVersionedMultiLocation',1724        destWeightLimit: 'XcmV2WeightLimit',1725      },1726      transfer_multiasset: {1727        asset: 'XcmVersionedMultiAsset',1728        dest: 'XcmVersionedMultiLocation',1729        destWeightLimit: 'XcmV2WeightLimit',1730      },1731      transfer_with_fee: {1732        currencyId: 'PalletForeignAssetsAssetIds',1733        amount: 'u128',1734        fee: 'u128',1735        dest: 'XcmVersionedMultiLocation',1736        destWeightLimit: 'XcmV2WeightLimit',1737      },1738      transfer_multiasset_with_fee: {1739        asset: 'XcmVersionedMultiAsset',1740        fee: 'XcmVersionedMultiAsset',1741        dest: 'XcmVersionedMultiLocation',1742        destWeightLimit: 'XcmV2WeightLimit',1743      },1744      transfer_multicurrencies: {1745        currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1746        feeItem: 'u32',1747        dest: 'XcmVersionedMultiLocation',1748        destWeightLimit: 'XcmV2WeightLimit',1749      },1750      transfer_multiassets: {1751        assets: 'XcmVersionedMultiAssets',1752        feeItem: 'u32',1753        dest: 'XcmVersionedMultiLocation',1754        destWeightLimit: 'XcmV2WeightLimit'1755      }1756    }1757  },1758  /**1759   * Lookup198: xcm::VersionedMultiAsset1760   **/1761  XcmVersionedMultiAsset: {1762    _enum: {1763      V0: 'XcmV0MultiAsset',1764      V1: 'XcmV1MultiAsset'1765    }1766  },1767  /**1768   * Lookup201: orml_tokens::module::Call<T>1769   **/1770  OrmlTokensModuleCall: {1771    _enum: {1772      transfer: {1773        dest: 'MultiAddress',1774        currencyId: 'PalletForeignAssetsAssetIds',1775        amount: 'Compact<u128>',1776      },1777      transfer_all: {1778        dest: 'MultiAddress',1779        currencyId: 'PalletForeignAssetsAssetIds',1780        keepAlive: 'bool',1781      },1782      transfer_keep_alive: {1783        dest: 'MultiAddress',1784        currencyId: 'PalletForeignAssetsAssetIds',1785        amount: 'Compact<u128>',1786      },1787      force_transfer: {1788        source: 'MultiAddress',1789        dest: 'MultiAddress',1790        currencyId: 'PalletForeignAssetsAssetIds',1791        amount: 'Compact<u128>',1792      },1793      set_balance: {1794        who: 'MultiAddress',1795        currencyId: 'PalletForeignAssetsAssetIds',1796        newFree: 'Compact<u128>',1797        newReserved: 'Compact<u128>'1798      }1799    }1800  },1801  /**1802   * Lookup202: cumulus_pallet_xcmp_queue::pallet::Call<T>1803   **/1804  CumulusPalletXcmpQueueCall: {1805    _enum: {1806      service_overweight: {1807        index: 'u64',1808        weightLimit: 'u64',1809      },1810      suspend_xcm_execution: 'Null',1811      resume_xcm_execution: 'Null',1812      update_suspend_threshold: {1813        _alias: {1814          new_: 'new',1815        },1816        new_: 'u32',1817      },1818      update_drop_threshold: {1819        _alias: {1820          new_: 'new',1821        },1822        new_: 'u32',1823      },1824      update_resume_threshold: {1825        _alias: {1826          new_: 'new',1827        },1828        new_: 'u32',1829      },1830      update_threshold_weight: {1831        _alias: {1832          new_: 'new',1833        },1834        new_: 'u64',1835      },1836      update_weight_restrict_decay: {1837        _alias: {1838          new_: 'new',1839        },1840        new_: 'u64',1841      },1842      update_xcmp_max_individual_weight: {1843        _alias: {1844          new_: 'new',1845        },1846        new_: 'u64'1847      }1848    }1849  },1850  /**1851   * Lookup203: pallet_xcm::pallet::Call<T>1852   **/1853  PalletXcmCall: {1854    _enum: {1855      send: {1856        dest: 'XcmVersionedMultiLocation',1857        message: 'XcmVersionedXcm',1858      },1859      teleport_assets: {1860        dest: 'XcmVersionedMultiLocation',1861        beneficiary: 'XcmVersionedMultiLocation',1862        assets: 'XcmVersionedMultiAssets',1863        feeAssetItem: 'u32',1864      },1865      reserve_transfer_assets: {1866        dest: 'XcmVersionedMultiLocation',1867        beneficiary: 'XcmVersionedMultiLocation',1868        assets: 'XcmVersionedMultiAssets',1869        feeAssetItem: 'u32',1870      },1871      execute: {1872        message: 'XcmVersionedXcm',1873        maxWeight: 'u64',1874      },1875      force_xcm_version: {1876        location: 'XcmV1MultiLocation',1877        xcmVersion: 'u32',1878      },1879      force_default_xcm_version: {1880        maybeXcmVersion: 'Option<u32>',1881      },1882      force_subscribe_version_notify: {1883        location: 'XcmVersionedMultiLocation',1884      },1885      force_unsubscribe_version_notify: {1886        location: 'XcmVersionedMultiLocation',1887      },1888      limited_reserve_transfer_assets: {1889        dest: 'XcmVersionedMultiLocation',1890        beneficiary: 'XcmVersionedMultiLocation',1891        assets: 'XcmVersionedMultiAssets',1892        feeAssetItem: 'u32',1893        weightLimit: 'XcmV2WeightLimit',1894      },1895      limited_teleport_assets: {1896        dest: 'XcmVersionedMultiLocation',1897        beneficiary: 'XcmVersionedMultiLocation',1898        assets: 'XcmVersionedMultiAssets',1899        feeAssetItem: 'u32',1900        weightLimit: 'XcmV2WeightLimit'1901      }1902    }1903  },1904  /**1905   * Lookup204: xcm::VersionedXcm<RuntimeCall>1906   **/1907  XcmVersionedXcm: {1908    _enum: {1909      V0: 'XcmV0Xcm',1910      V1: 'XcmV1Xcm',1911      V2: 'XcmV2Xcm'1912    }1913  },1914  /**1915   * Lookup205: xcm::v0::Xcm<RuntimeCall>1916   **/1917  XcmV0Xcm: {1918    _enum: {1919      WithdrawAsset: {1920        assets: 'Vec<XcmV0MultiAsset>',1921        effects: 'Vec<XcmV0Order>',1922      },1923      ReserveAssetDeposit: {1924        assets: 'Vec<XcmV0MultiAsset>',1925        effects: 'Vec<XcmV0Order>',1926      },1927      TeleportAsset: {1928        assets: 'Vec<XcmV0MultiAsset>',1929        effects: 'Vec<XcmV0Order>',1930      },1931      QueryResponse: {1932        queryId: 'Compact<u64>',1933        response: 'XcmV0Response',1934      },1935      TransferAsset: {1936        assets: 'Vec<XcmV0MultiAsset>',1937        dest: 'XcmV0MultiLocation',1938      },1939      TransferReserveAsset: {1940        assets: 'Vec<XcmV0MultiAsset>',1941        dest: 'XcmV0MultiLocation',1942        effects: 'Vec<XcmV0Order>',1943      },1944      Transact: {1945        originType: 'XcmV0OriginKind',1946        requireWeightAtMost: 'u64',1947        call: 'XcmDoubleEncoded',1948      },1949      HrmpNewChannelOpenRequest: {1950        sender: 'Compact<u32>',1951        maxMessageSize: 'Compact<u32>',1952        maxCapacity: 'Compact<u32>',1953      },1954      HrmpChannelAccepted: {1955        recipient: 'Compact<u32>',1956      },1957      HrmpChannelClosing: {1958        initiator: 'Compact<u32>',1959        sender: 'Compact<u32>',1960        recipient: 'Compact<u32>',1961      },1962      RelayedFrom: {1963        who: 'XcmV0MultiLocation',1964        message: 'XcmV0Xcm'1965      }1966    }1967  },1968  /**1969   * Lookup207: xcm::v0::order::Order<RuntimeCall>1970   **/1971  XcmV0Order: {1972    _enum: {1973      Null: 'Null',1974      DepositAsset: {1975        assets: 'Vec<XcmV0MultiAsset>',1976        dest: 'XcmV0MultiLocation',1977      },1978      DepositReserveAsset: {1979        assets: 'Vec<XcmV0MultiAsset>',1980        dest: 'XcmV0MultiLocation',1981        effects: 'Vec<XcmV0Order>',1982      },1983      ExchangeAsset: {1984        give: 'Vec<XcmV0MultiAsset>',1985        receive: 'Vec<XcmV0MultiAsset>',1986      },1987      InitiateReserveWithdraw: {1988        assets: 'Vec<XcmV0MultiAsset>',1989        reserve: 'XcmV0MultiLocation',1990        effects: 'Vec<XcmV0Order>',1991      },1992      InitiateTeleport: {1993        assets: 'Vec<XcmV0MultiAsset>',1994        dest: 'XcmV0MultiLocation',1995        effects: 'Vec<XcmV0Order>',1996      },1997      QueryHolding: {1998        queryId: 'Compact<u64>',1999        dest: 'XcmV0MultiLocation',2000        assets: 'Vec<XcmV0MultiAsset>',2001      },2002      BuyExecution: {2003        fees: 'XcmV0MultiAsset',2004        weight: 'u64',2005        debt: 'u64',2006        haltOnError: 'bool',2007        xcm: 'Vec<XcmV0Xcm>'2008      }2009    }2010  },2011  /**2012   * Lookup209: xcm::v0::Response2013   **/2014  XcmV0Response: {2015    _enum: {2016      Assets: 'Vec<XcmV0MultiAsset>'2017    }2018  },2019  /**2020   * Lookup210: xcm::v1::Xcm<RuntimeCall>2021   **/2022  XcmV1Xcm: {2023    _enum: {2024      WithdrawAsset: {2025        assets: 'XcmV1MultiassetMultiAssets',2026        effects: 'Vec<XcmV1Order>',2027      },2028      ReserveAssetDeposited: {2029        assets: 'XcmV1MultiassetMultiAssets',2030        effects: 'Vec<XcmV1Order>',2031      },2032      ReceiveTeleportedAsset: {2033        assets: 'XcmV1MultiassetMultiAssets',2034        effects: 'Vec<XcmV1Order>',2035      },2036      QueryResponse: {2037        queryId: 'Compact<u64>',2038        response: 'XcmV1Response',2039      },2040      TransferAsset: {2041        assets: 'XcmV1MultiassetMultiAssets',2042        beneficiary: 'XcmV1MultiLocation',2043      },2044      TransferReserveAsset: {2045        assets: 'XcmV1MultiassetMultiAssets',2046        dest: 'XcmV1MultiLocation',2047        effects: 'Vec<XcmV1Order>',2048      },2049      Transact: {2050        originType: 'XcmV0OriginKind',2051        requireWeightAtMost: 'u64',2052        call: 'XcmDoubleEncoded',2053      },2054      HrmpNewChannelOpenRequest: {2055        sender: 'Compact<u32>',2056        maxMessageSize: 'Compact<u32>',2057        maxCapacity: 'Compact<u32>',2058      },2059      HrmpChannelAccepted: {2060        recipient: 'Compact<u32>',2061      },2062      HrmpChannelClosing: {2063        initiator: 'Compact<u32>',2064        sender: 'Compact<u32>',2065        recipient: 'Compact<u32>',2066      },2067      RelayedFrom: {2068        who: 'XcmV1MultilocationJunctions',2069        message: 'XcmV1Xcm',2070      },2071      SubscribeVersion: {2072        queryId: 'Compact<u64>',2073        maxResponseWeight: 'Compact<u64>',2074      },2075      UnsubscribeVersion: 'Null'2076    }2077  },2078  /**2079   * Lookup212: xcm::v1::order::Order<RuntimeCall>2080   **/2081  XcmV1Order: {2082    _enum: {2083      Noop: 'Null',2084      DepositAsset: {2085        assets: 'XcmV1MultiassetMultiAssetFilter',2086        maxAssets: 'u32',2087        beneficiary: 'XcmV1MultiLocation',2088      },2089      DepositReserveAsset: {2090        assets: 'XcmV1MultiassetMultiAssetFilter',2091        maxAssets: 'u32',2092        dest: 'XcmV1MultiLocation',2093        effects: 'Vec<XcmV1Order>',2094      },2095      ExchangeAsset: {2096        give: 'XcmV1MultiassetMultiAssetFilter',2097        receive: 'XcmV1MultiassetMultiAssets',2098      },2099      InitiateReserveWithdraw: {2100        assets: 'XcmV1MultiassetMultiAssetFilter',2101        reserve: 'XcmV1MultiLocation',2102        effects: 'Vec<XcmV1Order>',2103      },2104      InitiateTeleport: {2105        assets: 'XcmV1MultiassetMultiAssetFilter',2106        dest: 'XcmV1MultiLocation',2107        effects: 'Vec<XcmV1Order>',2108      },2109      QueryHolding: {2110        queryId: 'Compact<u64>',2111        dest: 'XcmV1MultiLocation',2112        assets: 'XcmV1MultiassetMultiAssetFilter',2113      },2114      BuyExecution: {2115        fees: 'XcmV1MultiAsset',2116        weight: 'u64',2117        debt: 'u64',2118        haltOnError: 'bool',2119        instructions: 'Vec<XcmV1Xcm>'2120      }2121    }2122  },2123  /**2124   * Lookup214: xcm::v1::Response2125   **/2126  XcmV1Response: {2127    _enum: {2128      Assets: 'XcmV1MultiassetMultiAssets',2129      Version: 'u32'2130    }2131  },2132  /**2133   * Lookup228: cumulus_pallet_xcm::pallet::Call<T>2134   **/2135  CumulusPalletXcmCall: 'Null',2136  /**2137   * Lookup229: cumulus_pallet_dmp_queue::pallet::Call<T>2138   **/2139  CumulusPalletDmpQueueCall: {2140    _enum: {2141      service_overweight: {2142        index: 'u64',2143        weightLimit: 'u64'2144      }2145    }2146  },2147  /**2148   * Lookup230: pallet_inflation::pallet::Call<T>2149   **/2150  PalletInflationCall: {2151    _enum: {2152      start_inflation: {2153        inflationStartRelayBlock: 'u32'2154      }2155    }2156  },2157  /**2158   * Lookup231: pallet_unique::Call<T>2159   **/2160  PalletUniqueCall: {2161    _enum: {2162      create_collection: {2163        collectionName: 'Vec<u16>',2164        collectionDescription: 'Vec<u16>',2165        tokenPrefix: 'Bytes',2166        mode: 'UpDataStructsCollectionMode',2167      },2168      create_collection_ex: {2169        data: 'UpDataStructsCreateCollectionData',2170      },2171      destroy_collection: {2172        collectionId: 'u32',2173      },2174      add_to_allow_list: {2175        collectionId: 'u32',2176        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2177      },2178      remove_from_allow_list: {2179        collectionId: 'u32',2180        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2181      },2182      change_collection_owner: {2183        collectionId: 'u32',2184        newOwner: 'AccountId32',2185      },2186      add_collection_admin: {2187        collectionId: 'u32',2188        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2189      },2190      remove_collection_admin: {2191        collectionId: 'u32',2192        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2193      },2194      set_collection_sponsor: {2195        collectionId: 'u32',2196        newSponsor: 'AccountId32',2197      },2198      confirm_sponsorship: {2199        collectionId: 'u32',2200      },2201      remove_collection_sponsor: {2202        collectionId: 'u32',2203      },2204      create_item: {2205        collectionId: 'u32',2206        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2207        data: 'UpDataStructsCreateItemData',2208      },2209      create_multiple_items: {2210        collectionId: 'u32',2211        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2212        itemsData: 'Vec<UpDataStructsCreateItemData>',2213      },2214      set_collection_properties: {2215        collectionId: 'u32',2216        properties: 'Vec<UpDataStructsProperty>',2217      },2218      delete_collection_properties: {2219        collectionId: 'u32',2220        propertyKeys: 'Vec<Bytes>',2221      },2222      set_token_properties: {2223        collectionId: 'u32',2224        tokenId: 'u32',2225        properties: 'Vec<UpDataStructsProperty>',2226      },2227      delete_token_properties: {2228        collectionId: 'u32',2229        tokenId: 'u32',2230        propertyKeys: 'Vec<Bytes>',2231      },2232      set_token_property_permissions: {2233        collectionId: 'u32',2234        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2235      },2236      create_multiple_items_ex: {2237        collectionId: 'u32',2238        data: 'UpDataStructsCreateItemExData',2239      },2240      set_transfers_enabled_flag: {2241        collectionId: 'u32',2242        value: 'bool',2243      },2244      burn_item: {2245        collectionId: 'u32',2246        itemId: 'u32',2247        value: 'u128',2248      },2249      burn_from: {2250        collectionId: 'u32',2251        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2252        itemId: 'u32',2253        value: 'u128',2254      },2255      transfer: {2256        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2257        collectionId: 'u32',2258        itemId: 'u32',2259        value: 'u128',2260      },2261      approve: {2262        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2263        collectionId: 'u32',2264        itemId: 'u32',2265        amount: 'u128',2266      },2267      approve_from: {2268        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2269        to: 'PalletEvmAccountBasicCrossAccountIdRepr',2270        collectionId: 'u32',2271        itemId: 'u32',2272        amount: 'u128',2273      },2274      transfer_from: {2275        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2276        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2277        collectionId: 'u32',2278        itemId: 'u32',2279        value: 'u128',2280      },2281      set_collection_limits: {2282        collectionId: 'u32',2283        newLimit: 'UpDataStructsCollectionLimits',2284      },2285      set_collection_permissions: {2286        collectionId: 'u32',2287        newPermission: 'UpDataStructsCollectionPermissions',2288      },2289      repartition: {2290        collectionId: 'u32',2291        tokenId: 'u32',2292        amount: 'u128',2293      },2294      set_allowance_for_all: {2295        collectionId: 'u32',2296        operator: 'PalletEvmAccountBasicCrossAccountIdRepr',2297        approve: 'bool',2298      },2299      force_repair_collection: {2300        collectionId: 'u32',2301      },2302      force_repair_item: {2303        collectionId: 'u32',2304        itemId: 'u32'2305      }2306    }2307  },2308  /**2309   * Lookup236: up_data_structs::CollectionMode2310   **/2311  UpDataStructsCollectionMode: {2312    _enum: {2313      NFT: 'Null',2314      Fungible: 'u8',2315      ReFungible: 'Null'2316    }2317  },2318  /**2319   * Lookup237: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2320   **/2321  UpDataStructsCreateCollectionData: {2322    mode: 'UpDataStructsCollectionMode',2323    access: 'Option<UpDataStructsAccessMode>',2324    name: 'Vec<u16>',2325    description: 'Vec<u16>',2326    tokenPrefix: 'Bytes',2327    pendingSponsor: 'Option<AccountId32>',2328    limits: 'Option<UpDataStructsCollectionLimits>',2329    permissions: 'Option<UpDataStructsCollectionPermissions>',2330    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2331    properties: 'Vec<UpDataStructsProperty>'2332  },2333  /**2334   * Lookup239: up_data_structs::AccessMode2335   **/2336  UpDataStructsAccessMode: {2337    _enum: ['Normal', 'AllowList']2338  },2339  /**2340   * Lookup241: up_data_structs::CollectionLimits2341   **/2342  UpDataStructsCollectionLimits: {2343    accountTokenOwnershipLimit: 'Option<u32>',2344    sponsoredDataSize: 'Option<u32>',2345    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2346    tokenLimit: 'Option<u32>',2347    sponsorTransferTimeout: 'Option<u32>',2348    sponsorApproveTimeout: 'Option<u32>',2349    ownerCanTransfer: 'Option<bool>',2350    ownerCanDestroy: 'Option<bool>',2351    transfersEnabled: 'Option<bool>'2352  },2353  /**2354   * Lookup243: up_data_structs::SponsoringRateLimit2355   **/2356  UpDataStructsSponsoringRateLimit: {2357    _enum: {2358      SponsoringDisabled: 'Null',2359      Blocks: 'u32'2360    }2361  },2362  /**2363   * Lookup246: up_data_structs::CollectionPermissions2364   **/2365  UpDataStructsCollectionPermissions: {2366    access: 'Option<UpDataStructsAccessMode>',2367    mintMode: 'Option<bool>',2368    nesting: 'Option<UpDataStructsNestingPermissions>'2369  },2370  /**2371   * Lookup248: up_data_structs::NestingPermissions2372   **/2373  UpDataStructsNestingPermissions: {2374    tokenOwner: 'bool',2375    collectionAdmin: 'bool',2376    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2377  },2378  /**2379   * Lookup250: up_data_structs::OwnerRestrictedSet2380   **/2381  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2382  /**2383   * Lookup255: up_data_structs::PropertyKeyPermission2384   **/2385  UpDataStructsPropertyKeyPermission: {2386    key: 'Bytes',2387    permission: 'UpDataStructsPropertyPermission'2388  },2389  /**2390   * Lookup256: up_data_structs::PropertyPermission2391   **/2392  UpDataStructsPropertyPermission: {2393    mutable: 'bool',2394    collectionAdmin: 'bool',2395    tokenOwner: 'bool'2396  },2397  /**2398   * Lookup259: up_data_structs::Property2399   **/2400  UpDataStructsProperty: {2401    key: 'Bytes',2402    value: 'Bytes'2403  },2404  /**2405   * Lookup262: up_data_structs::CreateItemData2406   **/2407  UpDataStructsCreateItemData: {2408    _enum: {2409      NFT: 'UpDataStructsCreateNftData',2410      Fungible: 'UpDataStructsCreateFungibleData',2411      ReFungible: 'UpDataStructsCreateReFungibleData'2412    }2413  },2414  /**2415   * Lookup263: up_data_structs::CreateNftData2416   **/2417  UpDataStructsCreateNftData: {2418    properties: 'Vec<UpDataStructsProperty>'2419  },2420  /**2421   * Lookup264: up_data_structs::CreateFungibleData2422   **/2423  UpDataStructsCreateFungibleData: {2424    value: 'u128'2425  },2426  /**2427   * Lookup265: up_data_structs::CreateReFungibleData2428   **/2429  UpDataStructsCreateReFungibleData: {2430    pieces: 'u128',2431    properties: 'Vec<UpDataStructsProperty>'2432  },2433  /**2434   * Lookup268: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2435   **/2436  UpDataStructsCreateItemExData: {2437    _enum: {2438      NFT: 'Vec<UpDataStructsCreateNftExData>',2439      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2440      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2441      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2442    }2443  },2444  /**2445   * Lookup270: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2446   **/2447  UpDataStructsCreateNftExData: {2448    properties: 'Vec<UpDataStructsProperty>',2449    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2450  },2451  /**2452   * Lookup277: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2453   **/2454  UpDataStructsCreateRefungibleExSingleOwner: {2455    user: 'PalletEvmAccountBasicCrossAccountIdRepr',2456    pieces: 'u128',2457    properties: 'Vec<UpDataStructsProperty>'2458  },2459  /**2460   * Lookup279: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2461   **/2462  UpDataStructsCreateRefungibleExMultipleOwners: {2463    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2464    properties: 'Vec<UpDataStructsProperty>'2465  },2466  /**2467   * Lookup280: pallet_configuration::pallet::Call<T>2468   **/2469  PalletConfigurationCall: {2470    _enum: {2471      set_weight_to_fee_coefficient_override: {2472        coeff: 'Option<u64>',2473      },2474      set_min_gas_price_override: {2475        coeff: 'Option<u64>',2476      },2477      set_xcm_allowed_locations: {2478        locations: 'Option<Vec<XcmV1MultiLocation>>',2479      },2480      set_app_promotion_configuration_override: {2481        configuration: 'PalletConfigurationAppPromotionConfiguration',2482      },2483      set_collator_selection_desired_collators: {2484        max: 'Option<u32>',2485      },2486      set_collator_selection_license_bond: {2487        amount: 'Option<u128>',2488      },2489      set_collator_selection_kick_threshold: {2490        threshold: 'Option<u32>'2491      }2492    }2493  },2494  /**2495   * Lookup285: pallet_configuration::AppPromotionConfiguration<BlockNumber>2496   **/2497  PalletConfigurationAppPromotionConfiguration: {2498    recalculationInterval: 'Option<u32>',2499    pendingInterval: 'Option<u32>',2500    intervalIncome: 'Option<Perbill>',2501    maxStakersPerCalculation: 'Option<u8>'2502  },2503  /**2504   * Lookup289: pallet_template_transaction_payment::Call<T>2505   **/2506  PalletTemplateTransactionPaymentCall: 'Null',2507  /**2508   * Lookup290: pallet_structure::pallet::Call<T>2509   **/2510  PalletStructureCall: 'Null',2511  /**2512   * Lookup291: pallet_rmrk_core::pallet::Call<T>2513   **/2514  PalletRmrkCoreCall: {2515    _enum: {2516      create_collection: {2517        metadata: 'Bytes',2518        max: 'Option<u32>',2519        symbol: 'Bytes',2520      },2521      destroy_collection: {2522        collectionId: 'u32',2523      },2524      change_collection_issuer: {2525        collectionId: 'u32',2526        newIssuer: 'MultiAddress',2527      },2528      lock_collection: {2529        collectionId: 'u32',2530      },2531      mint_nft: {2532        owner: 'Option<AccountId32>',2533        collectionId: 'u32',2534        recipient: 'Option<AccountId32>',2535        royaltyAmount: 'Option<Permill>',2536        metadata: 'Bytes',2537        transferable: 'bool',2538        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',2539      },2540      burn_nft: {2541        collectionId: 'u32',2542        nftId: 'u32',2543        maxBurns: 'u32',2544      },2545      send: {2546        rmrkCollectionId: 'u32',2547        rmrkNftId: 'u32',2548        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2549      },2550      accept_nft: {2551        rmrkCollectionId: 'u32',2552        rmrkNftId: 'u32',2553        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2554      },2555      reject_nft: {2556        rmrkCollectionId: 'u32',2557        rmrkNftId: 'u32',2558      },2559      accept_resource: {2560        rmrkCollectionId: 'u32',2561        rmrkNftId: 'u32',2562        resourceId: 'u32',2563      },2564      accept_resource_removal: {2565        rmrkCollectionId: 'u32',2566        rmrkNftId: 'u32',2567        resourceId: 'u32',2568      },2569      set_property: {2570        rmrkCollectionId: 'Compact<u32>',2571        maybeNftId: 'Option<u32>',2572        key: 'Bytes',2573        value: 'Bytes',2574      },2575      set_priority: {2576        rmrkCollectionId: 'u32',2577        rmrkNftId: 'u32',2578        priorities: 'Vec<u32>',2579      },2580      add_basic_resource: {2581        rmrkCollectionId: 'u32',2582        nftId: 'u32',2583        resource: 'RmrkTraitsResourceBasicResource',2584      },2585      add_composable_resource: {2586        rmrkCollectionId: 'u32',2587        nftId: 'u32',2588        resource: 'RmrkTraitsResourceComposableResource',2589      },2590      add_slot_resource: {2591        rmrkCollectionId: 'u32',2592        nftId: 'u32',2593        resource: 'RmrkTraitsResourceSlotResource',2594      },2595      remove_resource: {2596        rmrkCollectionId: 'u32',2597        nftId: 'u32',2598        resourceId: 'u32'2599      }2600    }2601  },2602  /**2603   * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2604   **/2605  RmrkTraitsResourceResourceTypes: {2606    _enum: {2607      Basic: 'RmrkTraitsResourceBasicResource',2608      Composable: 'RmrkTraitsResourceComposableResource',2609      Slot: 'RmrkTraitsResourceSlotResource'2610    }2611  },2612  /**2613   * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2614   **/2615  RmrkTraitsResourceBasicResource: {2616    src: 'Option<Bytes>',2617    metadata: 'Option<Bytes>',2618    license: 'Option<Bytes>',2619    thumb: 'Option<Bytes>'2620  },2621  /**2622   * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2623   **/2624  RmrkTraitsResourceComposableResource: {2625    parts: 'Vec<u32>',2626    base: 'u32',2627    src: 'Option<Bytes>',2628    metadata: 'Option<Bytes>',2629    license: 'Option<Bytes>',2630    thumb: 'Option<Bytes>'2631  },2632  /**2633   * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2634   **/2635  RmrkTraitsResourceSlotResource: {2636    base: 'u32',2637    src: 'Option<Bytes>',2638    metadata: 'Option<Bytes>',2639    slot: 'u32',2640    license: 'Option<Bytes>',2641    thumb: 'Option<Bytes>'2642  },2643  /**2644   * Lookup305: pallet_rmrk_equip::pallet::Call<T>2645   **/2646  PalletRmrkEquipCall: {2647    _enum: {2648      create_base: {2649        baseType: 'Bytes',2650        symbol: 'Bytes',2651        parts: 'Vec<RmrkTraitsPartPartType>',2652      },2653      theme_add: {2654        baseId: 'u32',2655        theme: 'RmrkTraitsTheme',2656      },2657      equippable: {2658        baseId: 'u32',2659        slotId: 'u32',2660        equippables: 'RmrkTraitsPartEquippableList'2661      }2662    }2663  },2664  /**2665   * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2666   **/2667  RmrkTraitsPartPartType: {2668    _enum: {2669      FixedPart: 'RmrkTraitsPartFixedPart',2670      SlotPart: 'RmrkTraitsPartSlotPart'2671    }2672  },2673  /**2674   * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2675   **/2676  RmrkTraitsPartFixedPart: {2677    id: 'u32',2678    z: 'u32',2679    src: 'Bytes'2680  },2681  /**2682   * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2683   **/2684  RmrkTraitsPartSlotPart: {2685    id: 'u32',2686    equippable: 'RmrkTraitsPartEquippableList',2687    src: 'Bytes',2688    z: 'u32'2689  },2690  /**2691   * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2692   **/2693  RmrkTraitsPartEquippableList: {2694    _enum: {2695      All: 'Null',2696      Empty: 'Null',2697      Custom: 'Vec<u32>'2698    }2699  },2700  /**2701   * Lookup314: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>2702   **/2703  RmrkTraitsTheme: {2704    name: 'Bytes',2705    properties: 'Vec<RmrkTraitsThemeThemeProperty>',2706    inherit: 'bool'2707  },2708  /**2709   * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2710   **/2711  RmrkTraitsThemeThemeProperty: {2712    key: 'Bytes',2713    value: 'Bytes'2714  },2715  /**2716   * Lookup318: pallet_app_promotion::pallet::Call<T>2717   **/2718  PalletAppPromotionCall: {2719    _enum: {2720      set_admin_address: {2721        admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2722      },2723      stake: {2724        amount: 'u128',2725      },2726      unstake: 'Null',2727      sponsor_collection: {2728        collectionId: 'u32',2729      },2730      stop_sponsoring_collection: {2731        collectionId: 'u32',2732      },2733      sponsor_contract: {2734        contractId: 'H160',2735      },2736      stop_sponsoring_contract: {2737        contractId: 'H160',2738      },2739      payout_stakers: {2740        stakersNumber: 'Option<u8>'2741      }2742    }2743  },2744  /**2745   * Lookup319: pallet_foreign_assets::module::Call<T>2746   **/2747  PalletForeignAssetsModuleCall: {2748    _enum: {2749      register_foreign_asset: {2750        owner: 'AccountId32',2751        location: 'XcmVersionedMultiLocation',2752        metadata: 'PalletForeignAssetsModuleAssetMetadata',2753      },2754      update_foreign_asset: {2755        foreignAssetId: 'u32',2756        location: 'XcmVersionedMultiLocation',2757        metadata: 'PalletForeignAssetsModuleAssetMetadata'2758      }2759    }2760  },2761  /**2762   * Lookup320: pallet_evm::pallet::Call<T>2763   **/2764  PalletEvmCall: {2765    _enum: {2766      withdraw: {2767        address: 'H160',2768        value: 'u128',2769      },2770      call: {2771        source: 'H160',2772        target: 'H160',2773        input: 'Bytes',2774        value: 'U256',2775        gasLimit: 'u64',2776        maxFeePerGas: 'U256',2777        maxPriorityFeePerGas: 'Option<U256>',2778        nonce: 'Option<U256>',2779        accessList: 'Vec<(H160,Vec<H256>)>',2780      },2781      create: {2782        source: 'H160',2783        init: 'Bytes',2784        value: 'U256',2785        gasLimit: 'u64',2786        maxFeePerGas: 'U256',2787        maxPriorityFeePerGas: 'Option<U256>',2788        nonce: 'Option<U256>',2789        accessList: 'Vec<(H160,Vec<H256>)>',2790      },2791      create2: {2792        source: 'H160',2793        init: 'Bytes',2794        salt: 'H256',2795        value: 'U256',2796        gasLimit: 'u64',2797        maxFeePerGas: 'U256',2798        maxPriorityFeePerGas: 'Option<U256>',2799        nonce: 'Option<U256>',2800        accessList: 'Vec<(H160,Vec<H256>)>'2801      }2802    }2803  },2804  /**2805   * Lookup326: pallet_ethereum::pallet::Call<T>2806   **/2807  PalletEthereumCall: {2808    _enum: {2809      transact: {2810        transaction: 'EthereumTransactionTransactionV2'2811      }2812    }2813  },2814  /**2815   * Lookup327: ethereum::transaction::TransactionV22816   **/2817  EthereumTransactionTransactionV2: {2818    _enum: {2819      Legacy: 'EthereumTransactionLegacyTransaction',2820      EIP2930: 'EthereumTransactionEip2930Transaction',2821      EIP1559: 'EthereumTransactionEip1559Transaction'2822    }2823  },2824  /**2825   * Lookup328: ethereum::transaction::LegacyTransaction2826   **/2827  EthereumTransactionLegacyTransaction: {2828    nonce: 'U256',2829    gasPrice: 'U256',2830    gasLimit: 'U256',2831    action: 'EthereumTransactionTransactionAction',2832    value: 'U256',2833    input: 'Bytes',2834    signature: 'EthereumTransactionTransactionSignature'2835  },2836  /**2837   * Lookup329: ethereum::transaction::TransactionAction2838   **/2839  EthereumTransactionTransactionAction: {2840    _enum: {2841      Call: 'H160',2842      Create: 'Null'2843    }2844  },2845  /**2846   * Lookup330: ethereum::transaction::TransactionSignature2847   **/2848  EthereumTransactionTransactionSignature: {2849    v: 'u64',2850    r: 'H256',2851    s: 'H256'2852  },2853  /**2854   * Lookup332: ethereum::transaction::EIP2930Transaction2855   **/2856  EthereumTransactionEip2930Transaction: {2857    chainId: 'u64',2858    nonce: 'U256',2859    gasPrice: 'U256',2860    gasLimit: 'U256',2861    action: 'EthereumTransactionTransactionAction',2862    value: 'U256',2863    input: 'Bytes',2864    accessList: 'Vec<EthereumTransactionAccessListItem>',2865    oddYParity: 'bool',2866    r: 'H256',2867    s: 'H256'2868  },2869  /**2870   * Lookup334: ethereum::transaction::AccessListItem2871   **/2872  EthereumTransactionAccessListItem: {2873    address: 'H160',2874    storageKeys: 'Vec<H256>'2875  },2876  /**2877   * Lookup335: ethereum::transaction::EIP1559Transaction2878   **/2879  EthereumTransactionEip1559Transaction: {2880    chainId: 'u64',2881    nonce: 'U256',2882    maxPriorityFeePerGas: 'U256',2883    maxFeePerGas: 'U256',2884    gasLimit: 'U256',2885    action: 'EthereumTransactionTransactionAction',2886    value: 'U256',2887    input: 'Bytes',2888    accessList: 'Vec<EthereumTransactionAccessListItem>',2889    oddYParity: 'bool',2890    r: 'H256',2891    s: 'H256'2892  },2893  /**2894   * Lookup336: pallet_evm_migration::pallet::Call<T>2895   **/2896  PalletEvmMigrationCall: {2897    _enum: {2898      begin: {2899        address: 'H160',2900      },2901      set_data: {2902        address: 'H160',2903        data: 'Vec<(H256,H256)>',2904      },2905      finish: {2906        address: 'H160',2907        code: 'Bytes',2908      },2909      insert_eth_logs: {2910        logs: 'Vec<EthereumLog>',2911      },2912      insert_events: {2913        events: 'Vec<Bytes>'2914      }2915    }2916  },2917  /**2918   * Lookup340: pallet_maintenance::pallet::Call<T>2919   **/2920  PalletMaintenanceCall: {2921    _enum: ['enable', 'disable']2922  },2923  /**2924   * Lookup341: pallet_test_utils::pallet::Call<T>2925   **/2926  PalletTestUtilsCall: {2927    _enum: {2928      enable: 'Null',2929      set_test_value: {2930        value: 'u32',2931      },2932      set_test_value_and_rollback: {2933        value: 'u32',2934      },2935      inc_test_value: 'Null',2936      just_take_fee: 'Null',2937      batch_all: {2938        calls: 'Vec<Call>'2939      }2940    }2941  },2942  /**2943   * Lookup343: pallet_sudo::pallet::Error<T>2944   **/2945  PalletSudoError: {2946    _enum: ['RequireSudo']2947  },2948  /**2949   * Lookup345: orml_vesting::module::Error<T>2950   **/2951  OrmlVestingModuleError: {2952    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2953  },2954  /**2955   * Lookup346: orml_xtokens::module::Error<T>2956   **/2957  OrmlXtokensModuleError: {2958    _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']2959  },2960  /**2961   * Lookup349: orml_tokens::BalanceLock<Balance>2962   **/2963  OrmlTokensBalanceLock: {2964    id: '[u8;8]',2965    amount: 'u128'2966  },2967  /**2968   * Lookup351: orml_tokens::AccountData<Balance>2969   **/2970  OrmlTokensAccountData: {2971    free: 'u128',2972    reserved: 'u128',2973    frozen: 'u128'2974  },2975  /**2976   * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>2977   **/2978  OrmlTokensReserveData: {2979    id: 'Null',2980    amount: 'u128'2981  },2982  /**2983   * Lookup355: orml_tokens::module::Error<T>2984   **/2985  OrmlTokensModuleError: {2986    _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']2987  },2988  /**2989   * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails2990   **/2991  CumulusPalletXcmpQueueInboundChannelDetails: {2992    sender: 'u32',2993    state: 'CumulusPalletXcmpQueueInboundState',2994    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2995  },2996  /**2997   * Lookup358: cumulus_pallet_xcmp_queue::InboundState2998   **/2999  CumulusPalletXcmpQueueInboundState: {3000    _enum: ['Ok', 'Suspended']3001  },3002  /**3003   * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat3004   **/3005  PolkadotParachainPrimitivesXcmpMessageFormat: {3006    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3007  },3008  /**3009   * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails3010   **/3011  CumulusPalletXcmpQueueOutboundChannelDetails: {3012    recipient: 'u32',3013    state: 'CumulusPalletXcmpQueueOutboundState',3014    signalsExist: 'bool',3015    firstIndex: 'u16',3016    lastIndex: 'u16'3017  },3018  /**3019   * Lookup365: cumulus_pallet_xcmp_queue::OutboundState3020   **/3021  CumulusPalletXcmpQueueOutboundState: {3022    _enum: ['Ok', 'Suspended']3023  },3024  /**3025   * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData3026   **/3027  CumulusPalletXcmpQueueQueueConfigData: {3028    suspendThreshold: 'u32',3029    dropThreshold: 'u32',3030    resumeThreshold: 'u32',3031    thresholdWeight: 'SpWeightsWeightV2Weight',3032    weightRestrictDecay: 'SpWeightsWeightV2Weight',3033    xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'3034  },3035  /**3036   * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>3037   **/3038  CumulusPalletXcmpQueueError: {3039    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3040  },3041  /**3042   * Lookup370: pallet_xcm::pallet::Error<T>3043   **/3044  PalletXcmError: {3045    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3046  },3047  /**3048   * Lookup371: cumulus_pallet_xcm::pallet::Error<T>3049   **/3050  CumulusPalletXcmError: 'Null',3051  /**3052   * Lookup372: cumulus_pallet_dmp_queue::ConfigData3053   **/3054  CumulusPalletDmpQueueConfigData: {3055    maxIndividual: 'SpWeightsWeightV2Weight'3056  },3057  /**3058   * Lookup373: cumulus_pallet_dmp_queue::PageIndexData3059   **/3060  CumulusPalletDmpQueuePageIndexData: {3061    beginUsed: 'u32',3062    endUsed: 'u32',3063    overweightCount: 'u64'3064  },3065  /**3066   * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>3067   **/3068  CumulusPalletDmpQueueError: {3069    _enum: ['Unknown', 'OverLimit']3070  },3071  /**3072   * Lookup380: pallet_unique::Error<T>3073   **/3074  PalletUniqueError: {3075    _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3076  },3077  /**3078   * Lookup381: pallet_configuration::pallet::Error<T>3079   **/3080  PalletConfigurationError: {3081    _enum: ['InconsistentConfiguration']3082  },3083  /**3084   * Lookup382: up_data_structs::Collection<sp_core::crypto::AccountId32>3085   **/3086  UpDataStructsCollection: {3087    owner: 'AccountId32',3088    mode: 'UpDataStructsCollectionMode',3089    name: 'Vec<u16>',3090    description: 'Vec<u16>',3091    tokenPrefix: 'Bytes',3092    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3093    limits: 'UpDataStructsCollectionLimits',3094    permissions: 'UpDataStructsCollectionPermissions',3095    flags: '[u8;1]'3096  },3097  /**3098   * Lookup383: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3099   **/3100  UpDataStructsSponsorshipStateAccountId32: {3101    _enum: {3102      Disabled: 'Null',3103      Unconfirmed: 'AccountId32',3104      Confirmed: 'AccountId32'3105    }3106  },3107  /**3108   * Lookup385: up_data_structs::Properties3109   **/3110  UpDataStructsProperties: {3111    map: 'UpDataStructsPropertiesMapBoundedVec',3112    consumedSpace: 'u32',3113    spaceLimit: 'u32'3114  },3115  /**3116   * Lookup386: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3117   **/3118  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3119  /**3120   * Lookup391: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3121   **/3122  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3123  /**3124   * Lookup398: up_data_structs::CollectionStats3125   **/3126  UpDataStructsCollectionStats: {3127    created: 'u32',3128    destroyed: 'u32',3129    alive: 'u32'3130  },3131  /**3132   * Lookup399: up_data_structs::TokenChild3133   **/3134  UpDataStructsTokenChild: {3135    token: 'u32',3136    collection: 'u32'3137  },3138  /**3139   * Lookup400: PhantomType::up_data_structs<T>3140   **/3141  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild,UpPovEstimateRpcPovInfo);0]',3142  /**3143   * Lookup402: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3144   **/3145  UpDataStructsTokenData: {3146    properties: 'Vec<UpDataStructsProperty>',3147    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3148    pieces: 'u128'3149  },3150  /**3151   * Lookup404: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3152   **/3153  UpDataStructsRpcCollection: {3154    owner: 'AccountId32',3155    mode: 'UpDataStructsCollectionMode',3156    name: 'Vec<u16>',3157    description: 'Vec<u16>',3158    tokenPrefix: 'Bytes',3159    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3160    limits: 'UpDataStructsCollectionLimits',3161    permissions: 'UpDataStructsCollectionPermissions',3162    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3163    properties: 'Vec<UpDataStructsProperty>',3164    readOnly: 'bool',3165    flags: 'UpDataStructsRpcCollectionFlags'3166  },3167  /**3168   * Lookup405: up_data_structs::RpcCollectionFlags3169   **/3170  UpDataStructsRpcCollectionFlags: {3171    foreign: 'bool',3172    erc721metadata: 'bool'3173  },3174  /**3175   * Lookup406: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>3176   **/3177  RmrkTraitsCollectionCollectionInfo: {3178    issuer: 'AccountId32',3179    metadata: 'Bytes',3180    max: 'Option<u32>',3181    symbol: 'Bytes',3182    nftsCount: 'u32'3183  },3184  /**3185   * Lookup407: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3186   **/3187  RmrkTraitsNftNftInfo: {3188    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3189    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3190    metadata: 'Bytes',3191    equipped: 'bool',3192    pending: 'bool'3193  },3194  /**3195   * Lookup409: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3196   **/3197  RmrkTraitsNftRoyaltyInfo: {3198    recipient: 'AccountId32',3199    amount: 'Permill'3200  },3201  /**3202   * Lookup410: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3203   **/3204  RmrkTraitsResourceResourceInfo: {3205    id: 'u32',3206    resource: 'RmrkTraitsResourceResourceTypes',3207    pending: 'bool',3208    pendingRemoval: 'bool'3209  },3210  /**3211   * Lookup411: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3212   **/3213  RmrkTraitsPropertyPropertyInfo: {3214    key: 'Bytes',3215    value: 'Bytes'3216  },3217  /**3218   * Lookup412: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3219   **/3220  RmrkTraitsBaseBaseInfo: {3221    issuer: 'AccountId32',3222    baseType: 'Bytes',3223    symbol: 'Bytes'3224  },3225  /**3226   * Lookup413: rmrk_traits::nft::NftChild3227   **/3228  RmrkTraitsNftNftChild: {3229    collectionId: 'u32',3230    nftId: 'u32'3231  },3232  /**3233   * Lookup414: up_pov_estimate_rpc::PovInfo3234   **/3235  UpPovEstimateRpcPovInfo: {3236    proofSize: 'u64',3237    compactProofSize: 'u64',3238    compressedProofSize: 'u64',3239    results: 'Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>',3240    keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'3241  },3242  /**3243   * Lookup417: sp_runtime::transaction_validity::TransactionValidityError3244   **/3245  SpRuntimeTransactionValidityTransactionValidityError: {3246    _enum: {3247      Invalid: 'SpRuntimeTransactionValidityInvalidTransaction',3248      Unknown: 'SpRuntimeTransactionValidityUnknownTransaction'3249    }3250  },3251  /**3252   * Lookup418: sp_runtime::transaction_validity::InvalidTransaction3253   **/3254  SpRuntimeTransactionValidityInvalidTransaction: {3255    _enum: {3256      Call: 'Null',3257      Payment: 'Null',3258      Future: 'Null',3259      Stale: 'Null',3260      BadProof: 'Null',3261      AncientBirthBlock: 'Null',3262      ExhaustsResources: 'Null',3263      Custom: 'u8',3264      BadMandatory: 'Null',3265      MandatoryValidation: 'Null',3266      BadSigner: 'Null'3267    }3268  },3269  /**3270   * Lookup419: sp_runtime::transaction_validity::UnknownTransaction3271   **/3272  SpRuntimeTransactionValidityUnknownTransaction: {3273    _enum: {3274      CannotLookup: 'Null',3275      NoUnsignedValidator: 'Null',3276      Custom: 'u8'3277    }3278  },3279  /**3280   * Lookup421: up_pov_estimate_rpc::TrieKeyValue3281   **/3282  UpPovEstimateRpcTrieKeyValue: {3283    key: 'Bytes',3284    value: 'Bytes'3285  },3286  /**3287   * Lookup423: pallet_common::pallet::Error<T>3288   **/3289  PalletCommonError: {3290    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']3291  },3292  /**3293   * Lookup425: pallet_fungible::pallet::Error<T>3294   **/3295  PalletFungibleError: {3296    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']3297  },3298  /**3299   * Lookup429: pallet_refungible::pallet::Error<T>3300   **/3301  PalletRefungibleError: {3302    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3303  },3304  /**3305   * Lookup430: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3306   **/3307  PalletNonfungibleItemData: {3308    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3309  },3310  /**3311   * Lookup432: up_data_structs::PropertyScope3312   **/3313  UpDataStructsPropertyScope: {3314    _enum: ['None', 'Rmrk']3315  },3316  /**3317   * Lookup435: pallet_nonfungible::pallet::Error<T>3318   **/3319  PalletNonfungibleError: {3320    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3321  },3322  /**3323   * Lookup436: pallet_structure::pallet::Error<T>3324   **/3325  PalletStructureError: {3326    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3327  },3328  /**3329   * Lookup437: pallet_rmrk_core::pallet::Error<T>3330   **/3331  PalletRmrkCoreError: {3332    _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3333  },3334  /**3335   * Lookup439: pallet_rmrk_equip::pallet::Error<T>3336   **/3337  PalletRmrkEquipError: {3338    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3339  },3340  /**3341   * Lookup445: pallet_app_promotion::pallet::Error<T>3342   **/3343  PalletAppPromotionError: {3344    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3345  },3346  /**3347   * Lookup446: pallet_foreign_assets::module::Error<T>3348   **/3349  PalletForeignAssetsModuleError: {3350    _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3351  },3352  /**3353   * Lookup448: pallet_evm::pallet::Error<T>3354   **/3355  PalletEvmError: {3356    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']3357  },3358  /**3359   * Lookup451: fp_rpc::TransactionStatus3360   **/3361  FpRpcTransactionStatus: {3362    transactionHash: 'H256',3363    transactionIndex: 'u32',3364    from: 'H160',3365    to: 'Option<H160>',3366    contractAddress: 'Option<H160>',3367    logs: 'Vec<EthereumLog>',3368    logsBloom: 'EthbloomBloom'3369  },3370  /**3371   * Lookup453: ethbloom::Bloom3372   **/3373  EthbloomBloom: '[u8;256]',3374  /**3375   * Lookup455: ethereum::receipt::ReceiptV33376   **/3377  EthereumReceiptReceiptV3: {3378    _enum: {3379      Legacy: 'EthereumReceiptEip658ReceiptData',3380      EIP2930: 'EthereumReceiptEip658ReceiptData',3381      EIP1559: 'EthereumReceiptEip658ReceiptData'3382    }3383  },3384  /**3385   * Lookup456: ethereum::receipt::EIP658ReceiptData3386   **/3387  EthereumReceiptEip658ReceiptData: {3388    statusCode: 'u8',3389    usedGas: 'U256',3390    logsBloom: 'EthbloomBloom',3391    logs: 'Vec<EthereumLog>'3392  },3393  /**3394   * Lookup457: ethereum::block::Block<ethereum::transaction::TransactionV2>3395   **/3396  EthereumBlock: {3397    header: 'EthereumHeader',3398    transactions: 'Vec<EthereumTransactionTransactionV2>',3399    ommers: 'Vec<EthereumHeader>'3400  },3401  /**3402   * Lookup458: ethereum::header::Header3403   **/3404  EthereumHeader: {3405    parentHash: 'H256',3406    ommersHash: 'H256',3407    beneficiary: 'H160',3408    stateRoot: 'H256',3409    transactionsRoot: 'H256',3410    receiptsRoot: 'H256',3411    logsBloom: 'EthbloomBloom',3412    difficulty: 'U256',3413    number: 'U256',3414    gasLimit: 'U256',3415    gasUsed: 'U256',3416    timestamp: 'u64',3417    extraData: 'Bytes',3418    mixHash: 'H256',3419    nonce: 'EthereumTypesHashH64'3420  },3421  /**3422   * Lookup459: ethereum_types::hash::H643423   **/3424  EthereumTypesHashH64: '[u8;8]',3425  /**3426   * Lookup464: pallet_ethereum::pallet::Error<T>3427   **/3428  PalletEthereumError: {3429    _enum: ['InvalidSignature', 'PreLogExists']3430  },3431  /**3432   * Lookup465: pallet_evm_coder_substrate::pallet::Error<T>3433   **/3434  PalletEvmCoderSubstrateError: {3435    _enum: ['OutOfGas', 'OutOfFund']3436  },3437  /**3438   * Lookup466: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3439   **/3440  UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3441    _enum: {3442      Disabled: 'Null',3443      Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3444      Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3445    }3446  },3447  /**3448   * Lookup467: pallet_evm_contract_helpers::SponsoringModeT3449   **/3450  PalletEvmContractHelpersSponsoringModeT: {3451    _enum: ['Disabled', 'Allowlisted', 'Generous']3452  },3453  /**3454   * Lookup473: pallet_evm_contract_helpers::pallet::Error<T>3455   **/3456  PalletEvmContractHelpersError: {3457    _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3458  },3459  /**3460   * Lookup474: pallet_evm_migration::pallet::Error<T>3461   **/3462  PalletEvmMigrationError: {3463    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3464  },3465  /**3466   * Lookup475: pallet_maintenance::pallet::Error<T>3467   **/3468  PalletMaintenanceError: 'Null',3469  /**3470   * Lookup476: pallet_test_utils::pallet::Error<T>3471   **/3472  PalletTestUtilsError: {3473    _enum: ['TestPalletDisabled', 'TriggerRollback']3474  },3475  /**3476   * Lookup478: sp_runtime::MultiSignature3477   **/3478  SpRuntimeMultiSignature: {3479    _enum: {3480      Ed25519: 'SpCoreEd25519Signature',3481      Sr25519: 'SpCoreSr25519Signature',3482      Ecdsa: 'SpCoreEcdsaSignature'3483    }3484  },3485  /**3486   * Lookup479: sp_core::ed25519::Signature3487   **/3488  SpCoreEd25519Signature: '[u8;64]',3489  /**3490   * Lookup481: sp_core::sr25519::Signature3491   **/3492  SpCoreSr25519Signature: '[u8;64]',3493  /**3494   * Lookup482: sp_core::ecdsa::Signature3495   **/3496  SpCoreEcdsaSignature: '[u8;65]',3497  /**3498   * Lookup485: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3499   **/3500  FrameSystemExtensionsCheckSpecVersion: 'Null',3501  /**3502   * Lookup486: frame_system::extensions::check_tx_version::CheckTxVersion<T>3503   **/3504  FrameSystemExtensionsCheckTxVersion: 'Null',3505  /**3506   * Lookup487: frame_system::extensions::check_genesis::CheckGenesis<T>3507   **/3508  FrameSystemExtensionsCheckGenesis: 'Null',3509  /**3510   * Lookup490: frame_system::extensions::check_nonce::CheckNonce<T>3511   **/3512  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3513  /**3514   * Lookup491: frame_system::extensions::check_weight::CheckWeight<T>3515   **/3516  FrameSystemExtensionsCheckWeight: 'Null',3517  /**3518   * Lookup492: opal_runtime::runtime_common::maintenance::CheckMaintenance3519   **/3520  OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3521  /**3522   * Lookup493: opal_runtime::runtime_common::identity::DisableIdentityCalls3523   **/3524  OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',3525  /**3526   * Lookup494: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3527   **/3528  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3529  /**3530   * Lookup495: opal_runtime::Runtime3531   **/3532  OpalRuntimeRuntime: 'Null',3533  /**3534   * Lookup496: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3535   **/3536  PalletEthereumFakeTransactionFinalizer: 'Null'3537};
after · tests/src/interfaces/lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7  /**8   * Lookup3: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>9   **/10  FrameSystemAccountInfo: {11    nonce: 'u32',12    consumers: 'u32',13    providers: 'u32',14    sufficients: 'u32',15    data: 'PalletBalancesAccountData'16  },17  /**18   * Lookup5: pallet_balances::AccountData<Balance>19   **/20  PalletBalancesAccountData: {21    free: 'u128',22    reserved: 'u128',23    miscFrozen: 'u128',24    feeFrozen: 'u128'25  },26  /**27   * Lookup7: frame_support::dispatch::PerDispatchClass<sp_weights::weight_v2::Weight>28   **/29  FrameSupportDispatchPerDispatchClassWeight: {30    normal: 'SpWeightsWeightV2Weight',31    operational: 'SpWeightsWeightV2Weight',32    mandatory: 'SpWeightsWeightV2Weight'33  },34  /**35   * Lookup8: sp_weights::weight_v2::Weight36   **/37  SpWeightsWeightV2Weight: {38    refTime: 'Compact<u64>',39    proofSize: 'Compact<u64>'40  },41  /**42   * Lookup13: sp_runtime::generic::digest::Digest43   **/44  SpRuntimeDigest: {45    logs: 'Vec<SpRuntimeDigestDigestItem>'46  },47  /**48   * Lookup15: sp_runtime::generic::digest::DigestItem49   **/50  SpRuntimeDigestDigestItem: {51    _enum: {52      Other: 'Bytes',53      __Unused1: 'Null',54      __Unused2: 'Null',55      __Unused3: 'Null',56      Consensus: '([u8;4],Bytes)',57      Seal: '([u8;4],Bytes)',58      PreRuntime: '([u8;4],Bytes)',59      __Unused7: 'Null',60      RuntimeEnvironmentUpdated: 'Null'61    }62  },63  /**64   * Lookup18: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>65   **/66  FrameSystemEventRecord: {67    phase: 'FrameSystemPhase',68    event: 'Event',69    topics: 'Vec<H256>'70  },71  /**72   * Lookup20: frame_system::pallet::Event<T>73   **/74  FrameSystemEvent: {75    _enum: {76      ExtrinsicSuccess: {77        dispatchInfo: 'FrameSupportDispatchDispatchInfo',78      },79      ExtrinsicFailed: {80        dispatchError: 'SpRuntimeDispatchError',81        dispatchInfo: 'FrameSupportDispatchDispatchInfo',82      },83      CodeUpdated: 'Null',84      NewAccount: {85        account: 'AccountId32',86      },87      KilledAccount: {88        account: 'AccountId32',89      },90      Remarked: {91        _alias: {92          hash_: 'hash',93        },94        sender: 'AccountId32',95        hash_: 'H256'96      }97    }98  },99  /**100   * Lookup21: frame_support::dispatch::DispatchInfo101   **/102  FrameSupportDispatchDispatchInfo: {103    weight: 'SpWeightsWeightV2Weight',104    class: 'FrameSupportDispatchDispatchClass',105    paysFee: 'FrameSupportDispatchPays'106  },107  /**108   * Lookup22: frame_support::dispatch::DispatchClass109   **/110  FrameSupportDispatchDispatchClass: {111    _enum: ['Normal', 'Operational', 'Mandatory']112  },113  /**114   * Lookup23: frame_support::dispatch::Pays115   **/116  FrameSupportDispatchPays: {117    _enum: ['Yes', 'No']118  },119  /**120   * Lookup24: sp_runtime::DispatchError121   **/122  SpRuntimeDispatchError: {123    _enum: {124      Other: 'Null',125      CannotLookup: 'Null',126      BadOrigin: 'Null',127      Module: 'SpRuntimeModuleError',128      ConsumerRemaining: 'Null',129      NoProviders: 'Null',130      TooManyConsumers: 'Null',131      Token: 'SpRuntimeTokenError',132      Arithmetic: 'SpArithmeticArithmeticError',133      Transactional: 'SpRuntimeTransactionalError',134      Exhausted: 'Null',135      Corruption: 'Null',136      Unavailable: 'Null'137    }138  },139  /**140   * Lookup25: sp_runtime::ModuleError141   **/142  SpRuntimeModuleError: {143    index: 'u8',144    error: '[u8;4]'145  },146  /**147   * Lookup26: sp_runtime::TokenError148   **/149  SpRuntimeTokenError: {150    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']151  },152  /**153   * Lookup27: sp_arithmetic::ArithmeticError154   **/155  SpArithmeticArithmeticError: {156    _enum: ['Underflow', 'Overflow', 'DivisionByZero']157  },158  /**159   * Lookup28: sp_runtime::TransactionalError160   **/161  SpRuntimeTransactionalError: {162    _enum: ['LimitReached', 'NoLayer']163  },164  /**165   * Lookup29: cumulus_pallet_parachain_system::pallet::Event<T>166   **/167  CumulusPalletParachainSystemEvent: {168    _enum: {169      ValidationFunctionStored: 'Null',170      ValidationFunctionApplied: {171        relayChainBlockNum: 'u32',172      },173      ValidationFunctionDiscarded: 'Null',174      UpgradeAuthorized: {175        codeHash: 'H256',176      },177      DownwardMessagesReceived: {178        count: 'u32',179      },180      DownwardMessagesProcessed: {181        weightUsed: 'SpWeightsWeightV2Weight',182        dmqHead: 'H256'183      }184    }185  },186  /**187   * Lookup30: pallet_collator_selection::pallet::Event<T>188   **/189  PalletCollatorSelectionEvent: {190    _enum: {191      InvulnerableAdded: {192        invulnerable: 'AccountId32',193      },194      InvulnerableRemoved: {195        invulnerable: 'AccountId32',196      },197      LicenseObtained: {198        accountId: 'AccountId32',199        deposit: 'u128',200      },201      LicenseReleased: {202        accountId: 'AccountId32',203        depositReturned: 'u128',204      },205      CandidateAdded: {206        accountId: 'AccountId32',207      },208      CandidateRemoved: {209        accountId: 'AccountId32'210      }211    }212  },213  /**214   * Lookup31: pallet_session::pallet::Event215   **/216  PalletSessionEvent: {217    _enum: {218      NewSession: {219        sessionIndex: 'u32'220      }221    }222  },223  /**224   * Lookup32: pallet_balances::pallet::Event<T, I>225   **/226  PalletBalancesEvent: {227    _enum: {228      Endowed: {229        account: 'AccountId32',230        freeBalance: 'u128',231      },232      DustLost: {233        account: 'AccountId32',234        amount: 'u128',235      },236      Transfer: {237        from: 'AccountId32',238        to: 'AccountId32',239        amount: 'u128',240      },241      BalanceSet: {242        who: 'AccountId32',243        free: 'u128',244        reserved: 'u128',245      },246      Reserved: {247        who: 'AccountId32',248        amount: 'u128',249      },250      Unreserved: {251        who: 'AccountId32',252        amount: 'u128',253      },254      ReserveRepatriated: {255        from: 'AccountId32',256        to: 'AccountId32',257        amount: 'u128',258        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',259      },260      Deposit: {261        who: 'AccountId32',262        amount: 'u128',263      },264      Withdraw: {265        who: 'AccountId32',266        amount: 'u128',267      },268      Slashed: {269        who: 'AccountId32',270        amount: 'u128'271      }272    }273  },274  /**275   * Lookup33: frame_support::traits::tokens::misc::BalanceStatus276   **/277  FrameSupportTokensMiscBalanceStatus: {278    _enum: ['Free', 'Reserved']279  },280  /**281   * Lookup34: pallet_transaction_payment::pallet::Event<T>282   **/283  PalletTransactionPaymentEvent: {284    _enum: {285      TransactionFeePaid: {286        who: 'AccountId32',287        actualFee: 'u128',288        tip: 'u128'289      }290    }291  },292  /**293   * Lookup35: pallet_treasury::pallet::Event<T, I>294   **/295  PalletTreasuryEvent: {296    _enum: {297      Proposed: {298        proposalIndex: 'u32',299      },300      Spending: {301        budgetRemaining: 'u128',302      },303      Awarded: {304        proposalIndex: 'u32',305        award: 'u128',306        account: 'AccountId32',307      },308      Rejected: {309        proposalIndex: 'u32',310        slashed: 'u128',311      },312      Burnt: {313        burntFunds: 'u128',314      },315      Rollover: {316        rolloverBalance: 'u128',317      },318      Deposit: {319        value: 'u128',320      },321      SpendApproved: {322        proposalIndex: 'u32',323        amount: 'u128',324        beneficiary: 'AccountId32',325      },326      UpdatedInactive: {327        reactivated: 'u128',328        deactivated: 'u128'329      }330    }331  },332  /**333   * Lookup36: pallet_sudo::pallet::Event<T>334   **/335  PalletSudoEvent: {336    _enum: {337      Sudid: {338        sudoResult: 'Result<Null, SpRuntimeDispatchError>',339      },340      KeyChanged: {341        oldSudoer: 'Option<AccountId32>',342      },343      SudoAsDone: {344        sudoResult: 'Result<Null, SpRuntimeDispatchError>'345      }346    }347  },348  /**349   * Lookup40: orml_vesting::module::Event<T>350   **/351  OrmlVestingModuleEvent: {352    _enum: {353      VestingScheduleAdded: {354        from: 'AccountId32',355        to: 'AccountId32',356        vestingSchedule: 'OrmlVestingVestingSchedule',357      },358      Claimed: {359        who: 'AccountId32',360        amount: 'u128',361      },362      VestingSchedulesUpdated: {363        who: 'AccountId32'364      }365    }366  },367  /**368   * Lookup41: orml_vesting::VestingSchedule<BlockNumber, Balance>369   **/370  OrmlVestingVestingSchedule: {371    start: 'u32',372    period: 'u32',373    periodCount: 'u32',374    perPeriod: 'Compact<u128>'375  },376  /**377   * Lookup43: orml_xtokens::module::Event<T>378   **/379  OrmlXtokensModuleEvent: {380    _enum: {381      TransferredMultiAssets: {382        sender: 'AccountId32',383        assets: 'XcmV1MultiassetMultiAssets',384        fee: 'XcmV1MultiAsset',385        dest: 'XcmV1MultiLocation'386      }387    }388  },389  /**390   * Lookup44: xcm::v1::multiasset::MultiAssets391   **/392  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',393  /**394   * Lookup46: xcm::v1::multiasset::MultiAsset395   **/396  XcmV1MultiAsset: {397    id: 'XcmV1MultiassetAssetId',398    fun: 'XcmV1MultiassetFungibility'399  },400  /**401   * Lookup47: xcm::v1::multiasset::AssetId402   **/403  XcmV1MultiassetAssetId: {404    _enum: {405      Concrete: 'XcmV1MultiLocation',406      Abstract: 'Bytes'407    }408  },409  /**410   * Lookup48: xcm::v1::multilocation::MultiLocation411   **/412  XcmV1MultiLocation: {413    parents: 'u8',414    interior: 'XcmV1MultilocationJunctions'415  },416  /**417   * Lookup49: xcm::v1::multilocation::Junctions418   **/419  XcmV1MultilocationJunctions: {420    _enum: {421      Here: 'Null',422      X1: 'XcmV1Junction',423      X2: '(XcmV1Junction,XcmV1Junction)',424      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',425      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',426      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',427      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',428      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',429      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'430    }431  },432  /**433   * Lookup50: xcm::v1::junction::Junction434   **/435  XcmV1Junction: {436    _enum: {437      Parachain: 'Compact<u32>',438      AccountId32: {439        network: 'XcmV0JunctionNetworkId',440        id: '[u8;32]',441      },442      AccountIndex64: {443        network: 'XcmV0JunctionNetworkId',444        index: 'Compact<u64>',445      },446      AccountKey20: {447        network: 'XcmV0JunctionNetworkId',448        key: '[u8;20]',449      },450      PalletInstance: 'u8',451      GeneralIndex: 'Compact<u128>',452      GeneralKey: 'Bytes',453      OnlyChild: 'Null',454      Plurality: {455        id: 'XcmV0JunctionBodyId',456        part: 'XcmV0JunctionBodyPart'457      }458    }459  },460  /**461   * Lookup52: xcm::v0::junction::NetworkId462   **/463  XcmV0JunctionNetworkId: {464    _enum: {465      Any: 'Null',466      Named: 'Bytes',467      Polkadot: 'Null',468      Kusama: 'Null'469    }470  },471  /**472   * Lookup55: xcm::v0::junction::BodyId473   **/474  XcmV0JunctionBodyId: {475    _enum: {476      Unit: 'Null',477      Named: 'Bytes',478      Index: 'Compact<u32>',479      Executive: 'Null',480      Technical: 'Null',481      Legislative: 'Null',482      Judicial: 'Null',483      Defense: 'Null',484      Administration: 'Null',485      Treasury: 'Null'486    }487  },488  /**489   * Lookup56: xcm::v0::junction::BodyPart490   **/491  XcmV0JunctionBodyPart: {492    _enum: {493      Voice: 'Null',494      Members: {495        count: 'Compact<u32>',496      },497      Fraction: {498        nom: 'Compact<u32>',499        denom: 'Compact<u32>',500      },501      AtLeastProportion: {502        nom: 'Compact<u32>',503        denom: 'Compact<u32>',504      },505      MoreThanProportion: {506        nom: 'Compact<u32>',507        denom: 'Compact<u32>'508      }509    }510  },511  /**512   * Lookup57: xcm::v1::multiasset::Fungibility513   **/514  XcmV1MultiassetFungibility: {515    _enum: {516      Fungible: 'Compact<u128>',517      NonFungible: 'XcmV1MultiassetAssetInstance'518    }519  },520  /**521   * Lookup58: xcm::v1::multiasset::AssetInstance522   **/523  XcmV1MultiassetAssetInstance: {524    _enum: {525      Undefined: 'Null',526      Index: 'Compact<u128>',527      Array4: '[u8;4]',528      Array8: '[u8;8]',529      Array16: '[u8;16]',530      Array32: '[u8;32]',531      Blob: 'Bytes'532    }533  },534  /**535   * Lookup61: orml_tokens::module::Event<T>536   **/537  OrmlTokensModuleEvent: {538    _enum: {539      Endowed: {540        currencyId: 'PalletForeignAssetsAssetIds',541        who: 'AccountId32',542        amount: 'u128',543      },544      DustLost: {545        currencyId: 'PalletForeignAssetsAssetIds',546        who: 'AccountId32',547        amount: 'u128',548      },549      Transfer: {550        currencyId: 'PalletForeignAssetsAssetIds',551        from: 'AccountId32',552        to: 'AccountId32',553        amount: 'u128',554      },555      Reserved: {556        currencyId: 'PalletForeignAssetsAssetIds',557        who: 'AccountId32',558        amount: 'u128',559      },560      Unreserved: {561        currencyId: 'PalletForeignAssetsAssetIds',562        who: 'AccountId32',563        amount: 'u128',564      },565      ReserveRepatriated: {566        currencyId: 'PalletForeignAssetsAssetIds',567        from: 'AccountId32',568        to: 'AccountId32',569        amount: 'u128',570        status: 'FrameSupportTokensMiscBalanceStatus',571      },572      BalanceSet: {573        currencyId: 'PalletForeignAssetsAssetIds',574        who: 'AccountId32',575        free: 'u128',576        reserved: 'u128',577      },578      TotalIssuanceSet: {579        currencyId: 'PalletForeignAssetsAssetIds',580        amount: 'u128',581      },582      Withdrawn: {583        currencyId: 'PalletForeignAssetsAssetIds',584        who: 'AccountId32',585        amount: 'u128',586      },587      Slashed: {588        currencyId: 'PalletForeignAssetsAssetIds',589        who: 'AccountId32',590        freeAmount: 'u128',591        reservedAmount: 'u128',592      },593      Deposited: {594        currencyId: 'PalletForeignAssetsAssetIds',595        who: 'AccountId32',596        amount: 'u128',597      },598      LockSet: {599        lockId: '[u8;8]',600        currencyId: 'PalletForeignAssetsAssetIds',601        who: 'AccountId32',602        amount: 'u128',603      },604      LockRemoved: {605        lockId: '[u8;8]',606        currencyId: 'PalletForeignAssetsAssetIds',607        who: 'AccountId32'608      }609    }610  },611  /**612   * Lookup62: pallet_foreign_assets::AssetIds613   **/614  PalletForeignAssetsAssetIds: {615    _enum: {616      ForeignAssetId: 'u32',617      NativeAssetId: 'PalletForeignAssetsNativeCurrency'618    }619  },620  /**621   * Lookup63: pallet_foreign_assets::NativeCurrency622   **/623  PalletForeignAssetsNativeCurrency: {624    _enum: ['Here', 'Parent']625  },626  /**627   * Lookup64: pallet_identity::pallet::Event<T>628   **/629  PalletIdentityEvent: {630    _enum: {631      IdentitySet: {632        who: 'AccountId32',633      },634      IdentityCleared: {635        who: 'AccountId32',636        deposit: 'u128',637      },638      IdentityKilled: {639        who: 'AccountId32',640        deposit: 'u128',641      },642      IdentitiesInserted: {643        amount: 'u32',644      },645      IdentitiesRemoved: {646        amount: 'u32',647      },648      JudgementRequested: {649        who: 'AccountId32',650        registrarIndex: 'u32',651      },652      JudgementUnrequested: {653        who: 'AccountId32',654        registrarIndex: 'u32',655      },656      JudgementGiven: {657        target: 'AccountId32',658        registrarIndex: 'u32',659      },660      RegistrarAdded: {661        registrarIndex: 'u32',662      },663      SubIdentityAdded: {664        sub: 'AccountId32',665        main: 'AccountId32',666        deposit: 'u128',667      },668      SubIdentityRemoved: {669        sub: 'AccountId32',670        main: 'AccountId32',671        deposit: 'u128',672      },673      SubIdentityRevoked: {674        sub: 'AccountId32',675        main: 'AccountId32',676        deposit: 'u128',677      },678      SubIdentitiesInserted: {679        amount: 'u32'680      }681    }682  },683  /**684   * Lookup65: pallet_preimage::pallet::Event<T>685   **/686  PalletPreimageEvent: {687    _enum: {688      Noted: {689        _alias: {690          hash_: 'hash',691        },692        hash_: 'H256',693      },694      Requested: {695        _alias: {696          hash_: 'hash',697        },698        hash_: 'H256',699      },700      Cleared: {701        _alias: {702          hash_: 'hash',703        },704        hash_: 'H256'705      }706    }707  },708  /**709   * Lookup66: cumulus_pallet_xcmp_queue::pallet::Event<T>710   **/711  CumulusPalletXcmpQueueEvent: {712    _enum: {713      Success: {714        messageHash: 'Option<H256>',715        weight: 'SpWeightsWeightV2Weight',716      },717      Fail: {718        messageHash: 'Option<H256>',719        error: 'XcmV2TraitsError',720        weight: 'SpWeightsWeightV2Weight',721      },722      BadVersion: {723        messageHash: 'Option<H256>',724      },725      BadFormat: {726        messageHash: 'Option<H256>',727      },728      UpwardMessageSent: {729        messageHash: 'Option<H256>',730      },731      XcmpMessageSent: {732        messageHash: 'Option<H256>',733      },734      OverweightEnqueued: {735        sender: 'u32',736        sentAt: 'u32',737        index: 'u64',738        required: 'SpWeightsWeightV2Weight',739      },740      OverweightServiced: {741        index: 'u64',742        used: 'SpWeightsWeightV2Weight'743      }744    }745  },746  /**747   * Lookup68: xcm::v2::traits::Error748   **/749  XcmV2TraitsError: {750    _enum: {751      Overflow: 'Null',752      Unimplemented: 'Null',753      UntrustedReserveLocation: 'Null',754      UntrustedTeleportLocation: 'Null',755      MultiLocationFull: 'Null',756      MultiLocationNotInvertible: 'Null',757      BadOrigin: 'Null',758      InvalidLocation: 'Null',759      AssetNotFound: 'Null',760      FailedToTransactAsset: 'Null',761      NotWithdrawable: 'Null',762      LocationCannotHold: 'Null',763      ExceedsMaxMessageSize: 'Null',764      DestinationUnsupported: 'Null',765      Transport: 'Null',766      Unroutable: 'Null',767      UnknownClaim: 'Null',768      FailedToDecode: 'Null',769      MaxWeightInvalid: 'Null',770      NotHoldingFees: 'Null',771      TooExpensive: 'Null',772      Trap: 'u64',773      UnhandledXcmVersion: 'Null',774      WeightLimitReached: 'u64',775      Barrier: 'Null',776      WeightNotComputable: 'Null'777    }778  },779  /**780   * Lookup70: pallet_xcm::pallet::Event<T>781   **/782  PalletXcmEvent: {783    _enum: {784      Attempted: 'XcmV2TraitsOutcome',785      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',786      UnexpectedResponse: '(XcmV1MultiLocation,u64)',787      ResponseReady: '(u64,XcmV2Response)',788      Notified: '(u64,u8,u8)',789      NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',790      NotifyDispatchError: '(u64,u8,u8)',791      NotifyDecodeFailed: '(u64,u8,u8)',792      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',793      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',794      ResponseTaken: 'u64',795      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',796      VersionChangeNotified: '(XcmV1MultiLocation,u32)',797      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',798      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',799      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',800      AssetsClaimed: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)'801    }802  },803  /**804   * Lookup71: xcm::v2::traits::Outcome805   **/806  XcmV2TraitsOutcome: {807    _enum: {808      Complete: 'u64',809      Incomplete: '(u64,XcmV2TraitsError)',810      Error: 'XcmV2TraitsError'811    }812  },813  /**814   * Lookup72: xcm::v2::Xcm<RuntimeCall>815   **/816  XcmV2Xcm: 'Vec<XcmV2Instruction>',817  /**818   * Lookup74: xcm::v2::Instruction<RuntimeCall>819   **/820  XcmV2Instruction: {821    _enum: {822      WithdrawAsset: 'XcmV1MultiassetMultiAssets',823      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',824      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',825      QueryResponse: {826        queryId: 'Compact<u64>',827        response: 'XcmV2Response',828        maxWeight: 'Compact<u64>',829      },830      TransferAsset: {831        assets: 'XcmV1MultiassetMultiAssets',832        beneficiary: 'XcmV1MultiLocation',833      },834      TransferReserveAsset: {835        assets: 'XcmV1MultiassetMultiAssets',836        dest: 'XcmV1MultiLocation',837        xcm: 'XcmV2Xcm',838      },839      Transact: {840        originType: 'XcmV0OriginKind',841        requireWeightAtMost: 'Compact<u64>',842        call: 'XcmDoubleEncoded',843      },844      HrmpNewChannelOpenRequest: {845        sender: 'Compact<u32>',846        maxMessageSize: 'Compact<u32>',847        maxCapacity: 'Compact<u32>',848      },849      HrmpChannelAccepted: {850        recipient: 'Compact<u32>',851      },852      HrmpChannelClosing: {853        initiator: 'Compact<u32>',854        sender: 'Compact<u32>',855        recipient: 'Compact<u32>',856      },857      ClearOrigin: 'Null',858      DescendOrigin: 'XcmV1MultilocationJunctions',859      ReportError: {860        queryId: 'Compact<u64>',861        dest: 'XcmV1MultiLocation',862        maxResponseWeight: 'Compact<u64>',863      },864      DepositAsset: {865        assets: 'XcmV1MultiassetMultiAssetFilter',866        maxAssets: 'Compact<u32>',867        beneficiary: 'XcmV1MultiLocation',868      },869      DepositReserveAsset: {870        assets: 'XcmV1MultiassetMultiAssetFilter',871        maxAssets: 'Compact<u32>',872        dest: 'XcmV1MultiLocation',873        xcm: 'XcmV2Xcm',874      },875      ExchangeAsset: {876        give: 'XcmV1MultiassetMultiAssetFilter',877        receive: 'XcmV1MultiassetMultiAssets',878      },879      InitiateReserveWithdraw: {880        assets: 'XcmV1MultiassetMultiAssetFilter',881        reserve: 'XcmV1MultiLocation',882        xcm: 'XcmV2Xcm',883      },884      InitiateTeleport: {885        assets: 'XcmV1MultiassetMultiAssetFilter',886        dest: 'XcmV1MultiLocation',887        xcm: 'XcmV2Xcm',888      },889      QueryHolding: {890        queryId: 'Compact<u64>',891        dest: 'XcmV1MultiLocation',892        assets: 'XcmV1MultiassetMultiAssetFilter',893        maxResponseWeight: 'Compact<u64>',894      },895      BuyExecution: {896        fees: 'XcmV1MultiAsset',897        weightLimit: 'XcmV2WeightLimit',898      },899      RefundSurplus: 'Null',900      SetErrorHandler: 'XcmV2Xcm',901      SetAppendix: 'XcmV2Xcm',902      ClearError: 'Null',903      ClaimAsset: {904        assets: 'XcmV1MultiassetMultiAssets',905        ticket: 'XcmV1MultiLocation',906      },907      Trap: 'Compact<u64>',908      SubscribeVersion: {909        queryId: 'Compact<u64>',910        maxResponseWeight: 'Compact<u64>',911      },912      UnsubscribeVersion: 'Null'913    }914  },915  /**916   * Lookup75: xcm::v2::Response917   **/918  XcmV2Response: {919    _enum: {920      Null: 'Null',921      Assets: 'XcmV1MultiassetMultiAssets',922      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',923      Version: 'u32'924    }925  },926  /**927   * Lookup78: xcm::v0::OriginKind928   **/929  XcmV0OriginKind: {930    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']931  },932  /**933   * Lookup79: xcm::double_encoded::DoubleEncoded<T>934   **/935  XcmDoubleEncoded: {936    encoded: 'Bytes'937  },938  /**939   * Lookup80: xcm::v1::multiasset::MultiAssetFilter940   **/941  XcmV1MultiassetMultiAssetFilter: {942    _enum: {943      Definite: 'XcmV1MultiassetMultiAssets',944      Wild: 'XcmV1MultiassetWildMultiAsset'945    }946  },947  /**948   * Lookup81: xcm::v1::multiasset::WildMultiAsset949   **/950  XcmV1MultiassetWildMultiAsset: {951    _enum: {952      All: 'Null',953      AllOf: {954        id: 'XcmV1MultiassetAssetId',955        fun: 'XcmV1MultiassetWildFungibility'956      }957    }958  },959  /**960   * Lookup82: xcm::v1::multiasset::WildFungibility961   **/962  XcmV1MultiassetWildFungibility: {963    _enum: ['Fungible', 'NonFungible']964  },965  /**966   * Lookup83: xcm::v2::WeightLimit967   **/968  XcmV2WeightLimit: {969    _enum: {970      Unlimited: 'Null',971      Limited: 'Compact<u64>'972    }973  },974  /**975   * Lookup85: xcm::VersionedMultiAssets976   **/977  XcmVersionedMultiAssets: {978    _enum: {979      V0: 'Vec<XcmV0MultiAsset>',980      V1: 'XcmV1MultiassetMultiAssets'981    }982  },983  /**984   * Lookup87: xcm::v0::multi_asset::MultiAsset985   **/986  XcmV0MultiAsset: {987    _enum: {988      None: 'Null',989      All: 'Null',990      AllFungible: 'Null',991      AllNonFungible: 'Null',992      AllAbstractFungible: {993        id: 'Bytes',994      },995      AllAbstractNonFungible: {996        class: 'Bytes',997      },998      AllConcreteFungible: {999        id: 'XcmV0MultiLocation',1000      },1001      AllConcreteNonFungible: {1002        class: 'XcmV0MultiLocation',1003      },1004      AbstractFungible: {1005        id: 'Bytes',1006        amount: 'Compact<u128>',1007      },1008      AbstractNonFungible: {1009        class: 'Bytes',1010        instance: 'XcmV1MultiassetAssetInstance',1011      },1012      ConcreteFungible: {1013        id: 'XcmV0MultiLocation',1014        amount: 'Compact<u128>',1015      },1016      ConcreteNonFungible: {1017        class: 'XcmV0MultiLocation',1018        instance: 'XcmV1MultiassetAssetInstance'1019      }1020    }1021  },1022  /**1023   * Lookup88: xcm::v0::multi_location::MultiLocation1024   **/1025  XcmV0MultiLocation: {1026    _enum: {1027      Null: 'Null',1028      X1: 'XcmV0Junction',1029      X2: '(XcmV0Junction,XcmV0Junction)',1030      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',1031      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',1032      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',1033      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',1034      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',1035      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'1036    }1037  },1038  /**1039   * Lookup89: xcm::v0::junction::Junction1040   **/1041  XcmV0Junction: {1042    _enum: {1043      Parent: 'Null',1044      Parachain: 'Compact<u32>',1045      AccountId32: {1046        network: 'XcmV0JunctionNetworkId',1047        id: '[u8;32]',1048      },1049      AccountIndex64: {1050        network: 'XcmV0JunctionNetworkId',1051        index: 'Compact<u64>',1052      },1053      AccountKey20: {1054        network: 'XcmV0JunctionNetworkId',1055        key: '[u8;20]',1056      },1057      PalletInstance: 'u8',1058      GeneralIndex: 'Compact<u128>',1059      GeneralKey: 'Bytes',1060      OnlyChild: 'Null',1061      Plurality: {1062        id: 'XcmV0JunctionBodyId',1063        part: 'XcmV0JunctionBodyPart'1064      }1065    }1066  },1067  /**1068   * Lookup90: xcm::VersionedMultiLocation1069   **/1070  XcmVersionedMultiLocation: {1071    _enum: {1072      V0: 'XcmV0MultiLocation',1073      V1: 'XcmV1MultiLocation'1074    }1075  },1076  /**1077   * Lookup91: cumulus_pallet_xcm::pallet::Event<T>1078   **/1079  CumulusPalletXcmEvent: {1080    _enum: {1081      InvalidFormat: '[u8;8]',1082      UnsupportedVersion: '[u8;8]',1083      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'1084    }1085  },1086  /**1087   * Lookup92: cumulus_pallet_dmp_queue::pallet::Event<T>1088   **/1089  CumulusPalletDmpQueueEvent: {1090    _enum: {1091      InvalidFormat: {1092        messageId: '[u8;32]',1093      },1094      UnsupportedVersion: {1095        messageId: '[u8;32]',1096      },1097      ExecutedDownward: {1098        messageId: '[u8;32]',1099        outcome: 'XcmV2TraitsOutcome',1100      },1101      WeightExhausted: {1102        messageId: '[u8;32]',1103        remainingWeight: 'SpWeightsWeightV2Weight',1104        requiredWeight: 'SpWeightsWeightV2Weight',1105      },1106      OverweightEnqueued: {1107        messageId: '[u8;32]',1108        overweightIndex: 'u64',1109        requiredWeight: 'SpWeightsWeightV2Weight',1110      },1111      OverweightServiced: {1112        overweightIndex: 'u64',1113        weightUsed: 'SpWeightsWeightV2Weight'1114      }1115    }1116  },1117  /**1118   * Lookup93: pallet_configuration::pallet::Event<T>1119   **/1120  PalletConfigurationEvent: {1121    _enum: {1122      NewDesiredCollators: {1123        desiredCollators: 'Option<u32>',1124      },1125      NewCollatorLicenseBond: {1126        bondCost: 'Option<u128>',1127      },1128      NewCollatorKickThreshold: {1129        lengthInBlocks: 'Option<u32>'1130      }1131    }1132  },1133  /**1134   * Lookup96: pallet_common::pallet::Event<T>1135   **/1136  PalletCommonEvent: {1137    _enum: {1138      CollectionCreated: '(u32,u8,AccountId32)',1139      CollectionDestroyed: 'u32',1140      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1141      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1142      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1143      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1144      ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',1145      CollectionPropertySet: '(u32,Bytes)',1146      CollectionPropertyDeleted: '(u32,Bytes)',1147      TokenPropertySet: '(u32,u32,Bytes)',1148      TokenPropertyDeleted: '(u32,u32,Bytes)',1149      PropertyPermissionSet: '(u32,Bytes)',1150      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1151      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1152      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1153      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1154      CollectionLimitSet: 'u32',1155      CollectionOwnerChanged: '(u32,AccountId32)',1156      CollectionPermissionSet: 'u32',1157      CollectionSponsorSet: '(u32,AccountId32)',1158      SponsorshipConfirmed: '(u32,AccountId32)',1159      CollectionSponsorRemoved: 'u32'1160    }1161  },1162  /**1163   * Lookup99: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1164   **/1165  PalletEvmAccountBasicCrossAccountIdRepr: {1166    _enum: {1167      Substrate: 'AccountId32',1168      Ethereum: 'H160'1169    }1170  },1171  /**1172   * Lookup103: pallet_structure::pallet::Event<T>1173   **/1174  PalletStructureEvent: {1175    _enum: {1176      Executed: 'Result<Null, SpRuntimeDispatchError>'1177    }1178  },1179  /**1180   * Lookup104: pallet_app_promotion::pallet::Event<T>1181   **/1182  PalletAppPromotionEvent: {1183    _enum: {1184      StakingRecalculation: '(AccountId32,u128,u128)',1185      Stake: '(AccountId32,u128)',1186      Unstake: '(AccountId32,u128)',1187      SetAdmin: 'AccountId32'1188    }1189  },1190  /**1191   * Lookup105: pallet_foreign_assets::module::Event<T>1192   **/1193  PalletForeignAssetsModuleEvent: {1194    _enum: {1195      ForeignAssetRegistered: {1196        assetId: 'u32',1197        assetAddress: 'XcmV1MultiLocation',1198        metadata: 'PalletForeignAssetsModuleAssetMetadata',1199      },1200      ForeignAssetUpdated: {1201        assetId: 'u32',1202        assetAddress: 'XcmV1MultiLocation',1203        metadata: 'PalletForeignAssetsModuleAssetMetadata',1204      },1205      AssetRegistered: {1206        assetId: 'PalletForeignAssetsAssetIds',1207        metadata: 'PalletForeignAssetsModuleAssetMetadata',1208      },1209      AssetUpdated: {1210        assetId: 'PalletForeignAssetsAssetIds',1211        metadata: 'PalletForeignAssetsModuleAssetMetadata'1212      }1213    }1214  },1215  /**1216   * Lookup106: pallet_foreign_assets::module::AssetMetadata<Balance>1217   **/1218  PalletForeignAssetsModuleAssetMetadata: {1219    name: 'Bytes',1220    symbol: 'Bytes',1221    decimals: 'u8',1222    minimalBalance: 'u128'1223  },1224  /**1225   * Lookup107: pallet_evm::pallet::Event<T>1226   **/1227  PalletEvmEvent: {1228    _enum: {1229      Log: {1230        log: 'EthereumLog',1231      },1232      Created: {1233        address: 'H160',1234      },1235      CreatedFailed: {1236        address: 'H160',1237      },1238      Executed: {1239        address: 'H160',1240      },1241      ExecutedFailed: {1242        address: 'H160'1243      }1244    }1245  },1246  /**1247   * Lookup108: ethereum::log::Log1248   **/1249  EthereumLog: {1250    address: 'H160',1251    topics: 'Vec<H256>',1252    data: 'Bytes'1253  },1254  /**1255   * Lookup110: pallet_ethereum::pallet::Event1256   **/1257  PalletEthereumEvent: {1258    _enum: {1259      Executed: {1260        from: 'H160',1261        to: 'H160',1262        transactionHash: 'H256',1263        exitReason: 'EvmCoreErrorExitReason'1264      }1265    }1266  },1267  /**1268   * Lookup111: evm_core::error::ExitReason1269   **/1270  EvmCoreErrorExitReason: {1271    _enum: {1272      Succeed: 'EvmCoreErrorExitSucceed',1273      Error: 'EvmCoreErrorExitError',1274      Revert: 'EvmCoreErrorExitRevert',1275      Fatal: 'EvmCoreErrorExitFatal'1276    }1277  },1278  /**1279   * Lookup112: evm_core::error::ExitSucceed1280   **/1281  EvmCoreErrorExitSucceed: {1282    _enum: ['Stopped', 'Returned', 'Suicided']1283  },1284  /**1285   * Lookup113: evm_core::error::ExitError1286   **/1287  EvmCoreErrorExitError: {1288    _enum: {1289      StackUnderflow: 'Null',1290      StackOverflow: 'Null',1291      InvalidJump: 'Null',1292      InvalidRange: 'Null',1293      DesignatedInvalid: 'Null',1294      CallTooDeep: 'Null',1295      CreateCollision: 'Null',1296      CreateContractLimit: 'Null',1297      OutOfOffset: 'Null',1298      OutOfGas: 'Null',1299      OutOfFund: 'Null',1300      PCUnderflow: 'Null',1301      CreateEmpty: 'Null',1302      Other: 'Text',1303      __Unused14: 'Null',1304      InvalidCode: 'u8'1305    }1306  },1307  /**1308   * Lookup117: evm_core::error::ExitRevert1309   **/1310  EvmCoreErrorExitRevert: {1311    _enum: ['Reverted']1312  },1313  /**1314   * Lookup118: evm_core::error::ExitFatal1315   **/1316  EvmCoreErrorExitFatal: {1317    _enum: {1318      NotSupported: 'Null',1319      UnhandledInterrupt: 'Null',1320      CallErrorAsFatal: 'EvmCoreErrorExitError',1321      Other: 'Text'1322    }1323  },1324  /**1325   * Lookup119: pallet_evm_contract_helpers::pallet::Event<T>1326   **/1327  PalletEvmContractHelpersEvent: {1328    _enum: {1329      ContractSponsorSet: '(H160,AccountId32)',1330      ContractSponsorshipConfirmed: '(H160,AccountId32)',1331      ContractSponsorRemoved: 'H160'1332    }1333  },1334  /**1335   * Lookup120: pallet_evm_migration::pallet::Event<T>1336   **/1337  PalletEvmMigrationEvent: {1338    _enum: ['TestEvent']1339  },1340  /**1341   * Lookup121: pallet_maintenance::pallet::Event<T>1342   **/1343  PalletMaintenanceEvent: {1344    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1345  },1346  /**1347   * Lookup122: pallet_test_utils::pallet::Event<T>1348   **/1349  PalletTestUtilsEvent: {1350    _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1351  },1352  /**1353   * Lookup123: frame_system::Phase1354   **/1355  FrameSystemPhase: {1356    _enum: {1357      ApplyExtrinsic: 'u32',1358      Finalization: 'Null',1359      Initialization: 'Null'1360    }1361  },1362  /**1363   * Lookup126: frame_system::LastRuntimeUpgradeInfo1364   **/1365  FrameSystemLastRuntimeUpgradeInfo: {1366    specVersion: 'Compact<u32>',1367    specName: 'Text'1368  },1369  /**1370   * Lookup127: frame_system::pallet::Call<T>1371   **/1372  FrameSystemCall: {1373    _enum: {1374      remark: {1375        remark: 'Bytes',1376      },1377      set_heap_pages: {1378        pages: 'u64',1379      },1380      set_code: {1381        code: 'Bytes',1382      },1383      set_code_without_checks: {1384        code: 'Bytes',1385      },1386      set_storage: {1387        items: 'Vec<(Bytes,Bytes)>',1388      },1389      kill_storage: {1390        _alias: {1391          keys_: 'keys',1392        },1393        keys_: 'Vec<Bytes>',1394      },1395      kill_prefix: {1396        prefix: 'Bytes',1397        subkeys: 'u32',1398      },1399      remark_with_event: {1400        remark: 'Bytes'1401      }1402    }1403  },1404  /**1405   * Lookup131: frame_system::limits::BlockWeights1406   **/1407  FrameSystemLimitsBlockWeights: {1408    baseBlock: 'SpWeightsWeightV2Weight',1409    maxBlock: 'SpWeightsWeightV2Weight',1410    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1411  },1412  /**1413   * Lookup132: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1414   **/1415  FrameSupportDispatchPerDispatchClassWeightsPerClass: {1416    normal: 'FrameSystemLimitsWeightsPerClass',1417    operational: 'FrameSystemLimitsWeightsPerClass',1418    mandatory: 'FrameSystemLimitsWeightsPerClass'1419  },1420  /**1421   * Lookup133: frame_system::limits::WeightsPerClass1422   **/1423  FrameSystemLimitsWeightsPerClass: {1424    baseExtrinsic: 'SpWeightsWeightV2Weight',1425    maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',1426    maxTotal: 'Option<SpWeightsWeightV2Weight>',1427    reserved: 'Option<SpWeightsWeightV2Weight>'1428  },1429  /**1430   * Lookup135: frame_system::limits::BlockLength1431   **/1432  FrameSystemLimitsBlockLength: {1433    max: 'FrameSupportDispatchPerDispatchClassU32'1434  },1435  /**1436   * Lookup136: frame_support::dispatch::PerDispatchClass<T>1437   **/1438  FrameSupportDispatchPerDispatchClassU32: {1439    normal: 'u32',1440    operational: 'u32',1441    mandatory: 'u32'1442  },1443  /**1444   * Lookup137: sp_weights::RuntimeDbWeight1445   **/1446  SpWeightsRuntimeDbWeight: {1447    read: 'u64',1448    write: 'u64'1449  },1450  /**1451   * Lookup138: sp_version::RuntimeVersion1452   **/1453  SpVersionRuntimeVersion: {1454    specName: 'Text',1455    implName: 'Text',1456    authoringVersion: 'u32',1457    specVersion: 'u32',1458    implVersion: 'u32',1459    apis: 'Vec<([u8;8],u32)>',1460    transactionVersion: 'u32',1461    stateVersion: 'u8'1462  },1463  /**1464   * Lookup143: frame_system::pallet::Error<T>1465   **/1466  FrameSystemError: {1467    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1468  },1469  /**1470   * Lookup144: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1471   **/1472  PolkadotPrimitivesV2PersistedValidationData: {1473    parentHead: 'Bytes',1474    relayParentNumber: 'u32',1475    relayParentStorageRoot: 'H256',1476    maxPovSize: 'u32'1477  },1478  /**1479   * Lookup147: polkadot_primitives::v2::UpgradeRestriction1480   **/1481  PolkadotPrimitivesV2UpgradeRestriction: {1482    _enum: ['Present']1483  },1484  /**1485   * Lookup148: sp_trie::storage_proof::StorageProof1486   **/1487  SpTrieStorageProof: {1488    trieNodes: 'BTreeSet<Bytes>'1489  },1490  /**1491   * Lookup150: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1492   **/1493  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1494    dmqMqcHead: 'H256',1495    relayDispatchQueueSize: '(u32,u32)',1496    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1497    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1498  },1499  /**1500   * Lookup153: polkadot_primitives::v2::AbridgedHrmpChannel1501   **/1502  PolkadotPrimitivesV2AbridgedHrmpChannel: {1503    maxCapacity: 'u32',1504    maxTotalSize: 'u32',1505    maxMessageSize: 'u32',1506    msgCount: 'u32',1507    totalSize: 'u32',1508    mqcHead: 'Option<H256>'1509  },1510  /**1511   * Lookup154: polkadot_primitives::v2::AbridgedHostConfiguration1512   **/1513  PolkadotPrimitivesV2AbridgedHostConfiguration: {1514    maxCodeSize: 'u32',1515    maxHeadDataSize: 'u32',1516    maxUpwardQueueCount: 'u32',1517    maxUpwardQueueSize: 'u32',1518    maxUpwardMessageSize: 'u32',1519    maxUpwardMessageNumPerCandidate: 'u32',1520    hrmpMaxMessageNumPerCandidate: 'u32',1521    validationUpgradeCooldown: 'u32',1522    validationUpgradeDelay: 'u32'1523  },1524  /**1525   * Lookup160: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1526   **/1527  PolkadotCorePrimitivesOutboundHrmpMessage: {1528    recipient: 'u32',1529    data: 'Bytes'1530  },1531  /**1532   * Lookup161: cumulus_pallet_parachain_system::pallet::Call<T>1533   **/1534  CumulusPalletParachainSystemCall: {1535    _enum: {1536      set_validation_data: {1537        data: 'CumulusPrimitivesParachainInherentParachainInherentData',1538      },1539      sudo_send_upward_message: {1540        message: 'Bytes',1541      },1542      authorize_upgrade: {1543        codeHash: 'H256',1544      },1545      enact_authorized_upgrade: {1546        code: 'Bytes'1547      }1548    }1549  },1550  /**1551   * Lookup162: cumulus_primitives_parachain_inherent::ParachainInherentData1552   **/1553  CumulusPrimitivesParachainInherentParachainInherentData: {1554    validationData: 'PolkadotPrimitivesV2PersistedValidationData',1555    relayChainState: 'SpTrieStorageProof',1556    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1557    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1558  },1559  /**1560   * Lookup164: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1561   **/1562  PolkadotCorePrimitivesInboundDownwardMessage: {1563    sentAt: 'u32',1564    msg: 'Bytes'1565  },1566  /**1567   * Lookup167: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1568   **/1569  PolkadotCorePrimitivesInboundHrmpMessage: {1570    sentAt: 'u32',1571    data: 'Bytes'1572  },1573  /**1574   * Lookup170: cumulus_pallet_parachain_system::pallet::Error<T>1575   **/1576  CumulusPalletParachainSystemError: {1577    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1578  },1579  /**1580   * Lookup172: pallet_authorship::UncleEntryItem<BlockNumber, primitive_types::H256, sp_core::crypto::AccountId32>1581   **/1582  PalletAuthorshipUncleEntryItem: {1583    _enum: {1584      InclusionHeight: 'u32',1585      Uncle: '(H256,Option<AccountId32>)'1586    }1587  },1588  /**1589   * Lookup174: pallet_authorship::pallet::Call<T>1590   **/1591  PalletAuthorshipCall: {1592    _enum: {1593      set_uncles: {1594        newUncles: 'Vec<SpRuntimeHeader>'1595      }1596    }1597  },1598  /**1599   * Lookup176: sp_runtime::generic::header::Header<Number, sp_runtime::traits::BlakeTwo256>1600   **/1601  SpRuntimeHeader: {1602    parentHash: 'H256',1603    number: 'Compact<u32>',1604    stateRoot: 'H256',1605    extrinsicsRoot: 'H256',1606    digest: 'SpRuntimeDigest'1607  },1608  /**1609   * Lookup177: sp_runtime::traits::BlakeTwo2561610   **/1611  SpRuntimeBlakeTwo256: 'Null',1612  /**1613   * Lookup178: pallet_authorship::pallet::Error<T>1614   **/1615  PalletAuthorshipError: {1616    _enum: ['InvalidUncleParent', 'UnclesAlreadySet', 'TooManyUncles', 'GenesisUncle', 'TooHighUncle', 'UncleAlreadyIncluded', 'OldUncle']1617  },1618  /**1619   * Lookup181: pallet_collator_selection::pallet::Call<T>1620   **/1621  PalletCollatorSelectionCall: {1622    _enum: {1623      add_invulnerable: {1624        _alias: {1625          new_: 'new',1626        },1627        new_: 'AccountId32',1628      },1629      remove_invulnerable: {1630        who: 'AccountId32',1631      },1632      get_license: 'Null',1633      onboard: 'Null',1634      offboard: 'Null',1635      release_license: 'Null',1636      force_release_license: {1637        who: 'AccountId32'1638      }1639    }1640  },1641  /**1642   * Lookup182: pallet_collator_selection::pallet::Error<T>1643   **/1644  PalletCollatorSelectionError: {1645    _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']1646  },1647  /**1648   * Lookup185: opal_runtime::runtime_common::SessionKeys1649   **/1650  OpalRuntimeRuntimeCommonSessionKeys: {1651    aura: 'SpConsensusAuraSr25519AppSr25519Public'1652  },1653  /**1654   * Lookup186: sp_consensus_aura::sr25519::app_sr25519::Public1655   **/1656  SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',1657  /**1658   * Lookup187: sp_core::sr25519::Public1659   **/1660  SpCoreSr25519Public: '[u8;32]',1661  /**1662   * Lookup190: sp_core::crypto::KeyTypeId1663   **/1664  SpCoreCryptoKeyTypeId: '[u8;4]',1665  /**1666   * Lookup191: pallet_session::pallet::Call<T>1667   **/1668  PalletSessionCall: {1669    _enum: {1670      set_keys: {1671        _alias: {1672          keys_: 'keys',1673        },1674        keys_: 'OpalRuntimeRuntimeCommonSessionKeys',1675        proof: 'Bytes',1676      },1677      purge_keys: 'Null'1678    }1679  },1680  /**1681   * Lookup192: pallet_session::pallet::Error<T>1682   **/1683  PalletSessionError: {1684    _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']1685  },1686  /**1687   * Lookup194: pallet_balances::BalanceLock<Balance>1688   **/1689  PalletBalancesBalanceLock: {1690    id: '[u8;8]',1691    amount: 'u128',1692    reasons: 'PalletBalancesReasons'1693  },1694  /**1695   * Lookup195: pallet_balances::Reasons1696   **/1697  PalletBalancesReasons: {1698    _enum: ['Fee', 'Misc', 'All']1699  },1700  /**1701   * Lookup198: pallet_balances::ReserveData<ReserveIdentifier, Balance>1702   **/1703  PalletBalancesReserveData: {1704    id: '[u8;16]',1705    amount: 'u128'1706  },1707  /**1708   * Lookup200: pallet_balances::pallet::Call<T, I>1709   **/1710  PalletBalancesCall: {1711    _enum: {1712      transfer: {1713        dest: 'MultiAddress',1714        value: 'Compact<u128>',1715      },1716      set_balance: {1717        who: 'MultiAddress',1718        newFree: 'Compact<u128>',1719        newReserved: 'Compact<u128>',1720      },1721      force_transfer: {1722        source: 'MultiAddress',1723        dest: 'MultiAddress',1724        value: 'Compact<u128>',1725      },1726      transfer_keep_alive: {1727        dest: 'MultiAddress',1728        value: 'Compact<u128>',1729      },1730      transfer_all: {1731        dest: 'MultiAddress',1732        keepAlive: 'bool',1733      },1734      force_unreserve: {1735        who: 'MultiAddress',1736        amount: 'u128'1737      }1738    }1739  },1740  /**1741   * Lookup203: pallet_balances::pallet::Error<T, I>1742   **/1743  PalletBalancesError: {1744    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1745  },1746  /**1747   * Lookup205: pallet_timestamp::pallet::Call<T>1748   **/1749  PalletTimestampCall: {1750    _enum: {1751      set: {1752        now: 'Compact<u64>'1753      }1754    }1755  },1756  /**1757   * Lookup207: pallet_transaction_payment::Releases1758   **/1759  PalletTransactionPaymentReleases: {1760    _enum: ['V1Ancient', 'V2']1761  },1762  /**1763   * Lookup208: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1764   **/1765  PalletTreasuryProposal: {1766    proposer: 'AccountId32',1767    value: 'u128',1768    beneficiary: 'AccountId32',1769    bond: 'u128'1770  },1771  /**1772   * Lookup210: pallet_treasury::pallet::Call<T, I>1773   **/1774  PalletTreasuryCall: {1775    _enum: {1776      propose_spend: {1777        value: 'Compact<u128>',1778        beneficiary: 'MultiAddress',1779      },1780      reject_proposal: {1781        proposalId: 'Compact<u32>',1782      },1783      approve_proposal: {1784        proposalId: 'Compact<u32>',1785      },1786      spend: {1787        amount: 'Compact<u128>',1788        beneficiary: 'MultiAddress',1789      },1790      remove_approval: {1791        proposalId: 'Compact<u32>'1792      }1793    }1794  },1795  /**1796   * Lookup212: frame_support::PalletId1797   **/1798  FrameSupportPalletId: '[u8;8]',1799  /**1800   * Lookup213: pallet_treasury::pallet::Error<T, I>1801   **/1802  PalletTreasuryError: {1803    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1804  },1805  /**1806   * Lookup214: pallet_sudo::pallet::Call<T>1807   **/1808  PalletSudoCall: {1809    _enum: {1810      sudo: {1811        call: 'Call',1812      },1813      sudo_unchecked_weight: {1814        call: 'Call',1815        weight: 'SpWeightsWeightV2Weight',1816      },1817      set_key: {1818        _alias: {1819          new_: 'new',1820        },1821        new_: 'MultiAddress',1822      },1823      sudo_as: {1824        who: 'MultiAddress',1825        call: 'Call'1826      }1827    }1828  },1829  /**1830   * Lookup216: orml_vesting::module::Call<T>1831   **/1832  OrmlVestingModuleCall: {1833    _enum: {1834      claim: 'Null',1835      vested_transfer: {1836        dest: 'MultiAddress',1837        schedule: 'OrmlVestingVestingSchedule',1838      },1839      update_vesting_schedules: {1840        who: 'MultiAddress',1841        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1842      },1843      claim_for: {1844        dest: 'MultiAddress'1845      }1846    }1847  },1848  /**1849   * Lookup218: orml_xtokens::module::Call<T>1850   **/1851  OrmlXtokensModuleCall: {1852    _enum: {1853      transfer: {1854        currencyId: 'PalletForeignAssetsAssetIds',1855        amount: 'u128',1856        dest: 'XcmVersionedMultiLocation',1857        destWeightLimit: 'XcmV2WeightLimit',1858      },1859      transfer_multiasset: {1860        asset: 'XcmVersionedMultiAsset',1861        dest: 'XcmVersionedMultiLocation',1862        destWeightLimit: 'XcmV2WeightLimit',1863      },1864      transfer_with_fee: {1865        currencyId: 'PalletForeignAssetsAssetIds',1866        amount: 'u128',1867        fee: 'u128',1868        dest: 'XcmVersionedMultiLocation',1869        destWeightLimit: 'XcmV2WeightLimit',1870      },1871      transfer_multiasset_with_fee: {1872        asset: 'XcmVersionedMultiAsset',1873        fee: 'XcmVersionedMultiAsset',1874        dest: 'XcmVersionedMultiLocation',1875        destWeightLimit: 'XcmV2WeightLimit',1876      },1877      transfer_multicurrencies: {1878        currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1879        feeItem: 'u32',1880        dest: 'XcmVersionedMultiLocation',1881        destWeightLimit: 'XcmV2WeightLimit',1882      },1883      transfer_multiassets: {1884        assets: 'XcmVersionedMultiAssets',1885        feeItem: 'u32',1886        dest: 'XcmVersionedMultiLocation',1887        destWeightLimit: 'XcmV2WeightLimit'1888      }1889    }1890  },1891  /**1892   * Lookup219: xcm::VersionedMultiAsset1893   **/1894  XcmVersionedMultiAsset: {1895    _enum: {1896      V0: 'XcmV0MultiAsset',1897      V1: 'XcmV1MultiAsset'1898    }1899  },1900  /**1901   * Lookup222: orml_tokens::module::Call<T>1902   **/1903  OrmlTokensModuleCall: {1904    _enum: {1905      transfer: {1906        dest: 'MultiAddress',1907        currencyId: 'PalletForeignAssetsAssetIds',1908        amount: 'Compact<u128>',1909      },1910      transfer_all: {1911        dest: 'MultiAddress',1912        currencyId: 'PalletForeignAssetsAssetIds',1913        keepAlive: 'bool',1914      },1915      transfer_keep_alive: {1916        dest: 'MultiAddress',1917        currencyId: 'PalletForeignAssetsAssetIds',1918        amount: 'Compact<u128>',1919      },1920      force_transfer: {1921        source: 'MultiAddress',1922        dest: 'MultiAddress',1923        currencyId: 'PalletForeignAssetsAssetIds',1924        amount: 'Compact<u128>',1925      },1926      set_balance: {1927        who: 'MultiAddress',1928        currencyId: 'PalletForeignAssetsAssetIds',1929        newFree: 'Compact<u128>',1930        newReserved: 'Compact<u128>'1931      }1932    }1933  },1934  /**1935   * Lookup223: pallet_identity::pallet::Call<T>1936   **/1937  PalletIdentityCall: {1938    _enum: {1939      add_registrar: {1940        account: 'MultiAddress',1941      },1942      set_identity: {1943        info: 'PalletIdentityIdentityInfo',1944      },1945      set_subs: {1946        subs: 'Vec<(AccountId32,Data)>',1947      },1948      clear_identity: 'Null',1949      request_judgement: {1950        regIndex: 'Compact<u32>',1951        maxFee: 'Compact<u128>',1952      },1953      cancel_request: {1954        regIndex: 'u32',1955      },1956      set_fee: {1957        index: 'Compact<u32>',1958        fee: 'Compact<u128>',1959      },1960      set_account_id: {1961        _alias: {1962          new_: 'new',1963        },1964        index: 'Compact<u32>',1965        new_: 'MultiAddress',1966      },1967      set_fields: {1968        index: 'Compact<u32>',1969        fields: 'PalletIdentityBitFlags',1970      },1971      provide_judgement: {1972        regIndex: 'Compact<u32>',1973        target: 'MultiAddress',1974        judgement: 'PalletIdentityJudgement',1975        identity: 'H256',1976      },1977      kill_identity: {1978        target: 'MultiAddress',1979      },1980      add_sub: {1981        sub: 'MultiAddress',1982        data: 'Data',1983      },1984      rename_sub: {1985        sub: 'MultiAddress',1986        data: 'Data',1987      },1988      remove_sub: {1989        sub: 'MultiAddress',1990      },1991      quit_sub: 'Null',1992      force_insert_identities: {1993        identities: 'Vec<(AccountId32,PalletIdentityRegistration)>',1994      },1995      force_remove_identities: {1996        identities: 'Vec<AccountId32>',1997      },1998      force_set_subs: {1999        subs: 'Vec<(AccountId32,(u128,Vec<(AccountId32,Data)>))>'2000      }2001    }2002  },2003  /**2004   * Lookup224: pallet_identity::types::IdentityInfo<FieldLimit>2005   **/2006  PalletIdentityIdentityInfo: {2007    additional: 'Vec<(Data,Data)>',2008    display: 'Data',2009    legal: 'Data',2010    web: 'Data',2011    riot: 'Data',2012    email: 'Data',2013    pgpFingerprint: 'Option<[u8;20]>',2014    image: 'Data',2015    twitter: 'Data'2016  },2017  /**2018   * Lookup260: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>2019   **/2020  PalletIdentityBitFlags: {2021    _bitLength: 64,2022    Display: 1,2023    Legal: 2,2024    Web: 4,2025    Riot: 8,2026    Email: 16,2027    PgpFingerprint: 32,2028    Image: 64,2029    Twitter: 1282030  },2031  /**2032   * Lookup261: pallet_identity::types::IdentityField2033   **/2034  PalletIdentityIdentityField: {2035    _enum: ['__Unused0', 'Display', 'Legal', '__Unused3', 'Web', '__Unused5', '__Unused6', '__Unused7', 'Riot', '__Unused9', '__Unused10', '__Unused11', '__Unused12', '__Unused13', '__Unused14', '__Unused15', 'Email', '__Unused17', '__Unused18', '__Unused19', '__Unused20', '__Unused21', '__Unused22', '__Unused23', '__Unused24', '__Unused25', '__Unused26', '__Unused27', '__Unused28', '__Unused29', '__Unused30', '__Unused31', 'PgpFingerprint', '__Unused33', '__Unused34', '__Unused35', '__Unused36', '__Unused37', '__Unused38', '__Unused39', '__Unused40', '__Unused41', '__Unused42', '__Unused43', '__Unused44', '__Unused45', '__Unused46', '__Unused47', '__Unused48', '__Unused49', '__Unused50', '__Unused51', '__Unused52', '__Unused53', '__Unused54', '__Unused55', '__Unused56', '__Unused57', '__Unused58', '__Unused59', '__Unused60', '__Unused61', '__Unused62', '__Unused63', 'Image', '__Unused65', '__Unused66', '__Unused67', '__Unused68', '__Unused69', '__Unused70', '__Unused71', '__Unused72', '__Unused73', '__Unused74', '__Unused75', '__Unused76', '__Unused77', '__Unused78', '__Unused79', '__Unused80', '__Unused81', '__Unused82', '__Unused83', '__Unused84', '__Unused85', '__Unused86', '__Unused87', '__Unused88', '__Unused89', '__Unused90', '__Unused91', '__Unused92', '__Unused93', '__Unused94', '__Unused95', '__Unused96', '__Unused97', '__Unused98', '__Unused99', '__Unused100', '__Unused101', '__Unused102', '__Unused103', '__Unused104', '__Unused105', '__Unused106', '__Unused107', '__Unused108', '__Unused109', '__Unused110', '__Unused111', '__Unused112', '__Unused113', '__Unused114', '__Unused115', '__Unused116', '__Unused117', '__Unused118', '__Unused119', '__Unused120', '__Unused121', '__Unused122', '__Unused123', '__Unused124', '__Unused125', '__Unused126', '__Unused127', 'Twitter']2036  },2037  /**2038   * Lookup262: pallet_identity::types::Judgement<Balance>2039   **/2040  PalletIdentityJudgement: {2041    _enum: {2042      Unknown: 'Null',2043      FeePaid: 'u128',2044      Reasonable: 'Null',2045      KnownGood: 'Null',2046      OutOfDate: 'Null',2047      LowQuality: 'Null',2048      Erroneous: 'Null'2049    }2050  },2051  /**2052   * Lookup265: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>2053   **/2054  PalletIdentityRegistration: {2055    judgements: 'Vec<(u32,PalletIdentityJudgement)>',2056    deposit: 'u128',2057    info: 'PalletIdentityIdentityInfo'2058  },2059  /**2060   * Lookup273: pallet_preimage::pallet::Call<T>2061   **/2062  PalletPreimageCall: {2063    _enum: {2064      note_preimage: {2065        bytes: 'Bytes',2066      },2067      unnote_preimage: {2068        _alias: {2069          hash_: 'hash',2070        },2071        hash_: 'H256',2072      },2073      request_preimage: {2074        _alias: {2075          hash_: 'hash',2076        },2077        hash_: 'H256',2078      },2079      unrequest_preimage: {2080        _alias: {2081          hash_: 'hash',2082        },2083        hash_: 'H256'2084      }2085    }2086  },2087  /**2088   * Lookup274: cumulus_pallet_xcmp_queue::pallet::Call<T>2089   **/2090  CumulusPalletXcmpQueueCall: {2091    _enum: {2092      service_overweight: {2093        index: 'u64',2094        weightLimit: 'u64',2095      },2096      suspend_xcm_execution: 'Null',2097      resume_xcm_execution: 'Null',2098      update_suspend_threshold: {2099        _alias: {2100          new_: 'new',2101        },2102        new_: 'u32',2103      },2104      update_drop_threshold: {2105        _alias: {2106          new_: 'new',2107        },2108        new_: 'u32',2109      },2110      update_resume_threshold: {2111        _alias: {2112          new_: 'new',2113        },2114        new_: 'u32',2115      },2116      update_threshold_weight: {2117        _alias: {2118          new_: 'new',2119        },2120        new_: 'u64',2121      },2122      update_weight_restrict_decay: {2123        _alias: {2124          new_: 'new',2125        },2126        new_: 'u64',2127      },2128      update_xcmp_max_individual_weight: {2129        _alias: {2130          new_: 'new',2131        },2132        new_: 'u64'2133      }2134    }2135  },2136  /**2137   * Lookup275: pallet_xcm::pallet::Call<T>2138   **/2139  PalletXcmCall: {2140    _enum: {2141      send: {2142        dest: 'XcmVersionedMultiLocation',2143        message: 'XcmVersionedXcm',2144      },2145      teleport_assets: {2146        dest: 'XcmVersionedMultiLocation',2147        beneficiary: 'XcmVersionedMultiLocation',2148        assets: 'XcmVersionedMultiAssets',2149        feeAssetItem: 'u32',2150      },2151      reserve_transfer_assets: {2152        dest: 'XcmVersionedMultiLocation',2153        beneficiary: 'XcmVersionedMultiLocation',2154        assets: 'XcmVersionedMultiAssets',2155        feeAssetItem: 'u32',2156      },2157      execute: {2158        message: 'XcmVersionedXcm',2159        maxWeight: 'u64',2160      },2161      force_xcm_version: {2162        location: 'XcmV1MultiLocation',2163        xcmVersion: 'u32',2164      },2165      force_default_xcm_version: {2166        maybeXcmVersion: 'Option<u32>',2167      },2168      force_subscribe_version_notify: {2169        location: 'XcmVersionedMultiLocation',2170      },2171      force_unsubscribe_version_notify: {2172        location: 'XcmVersionedMultiLocation',2173      },2174      limited_reserve_transfer_assets: {2175        dest: 'XcmVersionedMultiLocation',2176        beneficiary: 'XcmVersionedMultiLocation',2177        assets: 'XcmVersionedMultiAssets',2178        feeAssetItem: 'u32',2179        weightLimit: 'XcmV2WeightLimit',2180      },2181      limited_teleport_assets: {2182        dest: 'XcmVersionedMultiLocation',2183        beneficiary: 'XcmVersionedMultiLocation',2184        assets: 'XcmVersionedMultiAssets',2185        feeAssetItem: 'u32',2186        weightLimit: 'XcmV2WeightLimit'2187      }2188    }2189  },2190  /**2191   * Lookup276: xcm::VersionedXcm<RuntimeCall>2192   **/2193  XcmVersionedXcm: {2194    _enum: {2195      V0: 'XcmV0Xcm',2196      V1: 'XcmV1Xcm',2197      V2: 'XcmV2Xcm'2198    }2199  },2200  /**2201   * Lookup277: xcm::v0::Xcm<RuntimeCall>2202   **/2203  XcmV0Xcm: {2204    _enum: {2205      WithdrawAsset: {2206        assets: 'Vec<XcmV0MultiAsset>',2207        effects: 'Vec<XcmV0Order>',2208      },2209      ReserveAssetDeposit: {2210        assets: 'Vec<XcmV0MultiAsset>',2211        effects: 'Vec<XcmV0Order>',2212      },2213      TeleportAsset: {2214        assets: 'Vec<XcmV0MultiAsset>',2215        effects: 'Vec<XcmV0Order>',2216      },2217      QueryResponse: {2218        queryId: 'Compact<u64>',2219        response: 'XcmV0Response',2220      },2221      TransferAsset: {2222        assets: 'Vec<XcmV0MultiAsset>',2223        dest: 'XcmV0MultiLocation',2224      },2225      TransferReserveAsset: {2226        assets: 'Vec<XcmV0MultiAsset>',2227        dest: 'XcmV0MultiLocation',2228        effects: 'Vec<XcmV0Order>',2229      },2230      Transact: {2231        originType: 'XcmV0OriginKind',2232        requireWeightAtMost: 'u64',2233        call: 'XcmDoubleEncoded',2234      },2235      HrmpNewChannelOpenRequest: {2236        sender: 'Compact<u32>',2237        maxMessageSize: 'Compact<u32>',2238        maxCapacity: 'Compact<u32>',2239      },2240      HrmpChannelAccepted: {2241        recipient: 'Compact<u32>',2242      },2243      HrmpChannelClosing: {2244        initiator: 'Compact<u32>',2245        sender: 'Compact<u32>',2246        recipient: 'Compact<u32>',2247      },2248      RelayedFrom: {2249        who: 'XcmV0MultiLocation',2250        message: 'XcmV0Xcm'2251      }2252    }2253  },2254  /**2255   * Lookup279: xcm::v0::order::Order<RuntimeCall>2256   **/2257  XcmV0Order: {2258    _enum: {2259      Null: 'Null',2260      DepositAsset: {2261        assets: 'Vec<XcmV0MultiAsset>',2262        dest: 'XcmV0MultiLocation',2263      },2264      DepositReserveAsset: {2265        assets: 'Vec<XcmV0MultiAsset>',2266        dest: 'XcmV0MultiLocation',2267        effects: 'Vec<XcmV0Order>',2268      },2269      ExchangeAsset: {2270        give: 'Vec<XcmV0MultiAsset>',2271        receive: 'Vec<XcmV0MultiAsset>',2272      },2273      InitiateReserveWithdraw: {2274        assets: 'Vec<XcmV0MultiAsset>',2275        reserve: 'XcmV0MultiLocation',2276        effects: 'Vec<XcmV0Order>',2277      },2278      InitiateTeleport: {2279        assets: 'Vec<XcmV0MultiAsset>',2280        dest: 'XcmV0MultiLocation',2281        effects: 'Vec<XcmV0Order>',2282      },2283      QueryHolding: {2284        queryId: 'Compact<u64>',2285        dest: 'XcmV0MultiLocation',2286        assets: 'Vec<XcmV0MultiAsset>',2287      },2288      BuyExecution: {2289        fees: 'XcmV0MultiAsset',2290        weight: 'u64',2291        debt: 'u64',2292        haltOnError: 'bool',2293        xcm: 'Vec<XcmV0Xcm>'2294      }2295    }2296  },2297  /**2298   * Lookup281: xcm::v0::Response2299   **/2300  XcmV0Response: {2301    _enum: {2302      Assets: 'Vec<XcmV0MultiAsset>'2303    }2304  },2305  /**2306   * Lookup282: xcm::v1::Xcm<RuntimeCall>2307   **/2308  XcmV1Xcm: {2309    _enum: {2310      WithdrawAsset: {2311        assets: 'XcmV1MultiassetMultiAssets',2312        effects: 'Vec<XcmV1Order>',2313      },2314      ReserveAssetDeposited: {2315        assets: 'XcmV1MultiassetMultiAssets',2316        effects: 'Vec<XcmV1Order>',2317      },2318      ReceiveTeleportedAsset: {2319        assets: 'XcmV1MultiassetMultiAssets',2320        effects: 'Vec<XcmV1Order>',2321      },2322      QueryResponse: {2323        queryId: 'Compact<u64>',2324        response: 'XcmV1Response',2325      },2326      TransferAsset: {2327        assets: 'XcmV1MultiassetMultiAssets',2328        beneficiary: 'XcmV1MultiLocation',2329      },2330      TransferReserveAsset: {2331        assets: 'XcmV1MultiassetMultiAssets',2332        dest: 'XcmV1MultiLocation',2333        effects: 'Vec<XcmV1Order>',2334      },2335      Transact: {2336        originType: 'XcmV0OriginKind',2337        requireWeightAtMost: 'u64',2338        call: 'XcmDoubleEncoded',2339      },2340      HrmpNewChannelOpenRequest: {2341        sender: 'Compact<u32>',2342        maxMessageSize: 'Compact<u32>',2343        maxCapacity: 'Compact<u32>',2344      },2345      HrmpChannelAccepted: {2346        recipient: 'Compact<u32>',2347      },2348      HrmpChannelClosing: {2349        initiator: 'Compact<u32>',2350        sender: 'Compact<u32>',2351        recipient: 'Compact<u32>',2352      },2353      RelayedFrom: {2354        who: 'XcmV1MultilocationJunctions',2355        message: 'XcmV1Xcm',2356      },2357      SubscribeVersion: {2358        queryId: 'Compact<u64>',2359        maxResponseWeight: 'Compact<u64>',2360      },2361      UnsubscribeVersion: 'Null'2362    }2363  },2364  /**2365   * Lookup284: xcm::v1::order::Order<RuntimeCall>2366   **/2367  XcmV1Order: {2368    _enum: {2369      Noop: 'Null',2370      DepositAsset: {2371        assets: 'XcmV1MultiassetMultiAssetFilter',2372        maxAssets: 'u32',2373        beneficiary: 'XcmV1MultiLocation',2374      },2375      DepositReserveAsset: {2376        assets: 'XcmV1MultiassetMultiAssetFilter',2377        maxAssets: 'u32',2378        dest: 'XcmV1MultiLocation',2379        effects: 'Vec<XcmV1Order>',2380      },2381      ExchangeAsset: {2382        give: 'XcmV1MultiassetMultiAssetFilter',2383        receive: 'XcmV1MultiassetMultiAssets',2384      },2385      InitiateReserveWithdraw: {2386        assets: 'XcmV1MultiassetMultiAssetFilter',2387        reserve: 'XcmV1MultiLocation',2388        effects: 'Vec<XcmV1Order>',2389      },2390      InitiateTeleport: {2391        assets: 'XcmV1MultiassetMultiAssetFilter',2392        dest: 'XcmV1MultiLocation',2393        effects: 'Vec<XcmV1Order>',2394      },2395      QueryHolding: {2396        queryId: 'Compact<u64>',2397        dest: 'XcmV1MultiLocation',2398        assets: 'XcmV1MultiassetMultiAssetFilter',2399      },2400      BuyExecution: {2401        fees: 'XcmV1MultiAsset',2402        weight: 'u64',2403        debt: 'u64',2404        haltOnError: 'bool',2405        instructions: 'Vec<XcmV1Xcm>'2406      }2407    }2408  },2409  /**2410   * Lookup286: xcm::v1::Response2411   **/2412  XcmV1Response: {2413    _enum: {2414      Assets: 'XcmV1MultiassetMultiAssets',2415      Version: 'u32'2416    }2417  },2418  /**2419   * Lookup300: cumulus_pallet_xcm::pallet::Call<T>2420   **/2421  CumulusPalletXcmCall: 'Null',2422  /**2423   * Lookup301: cumulus_pallet_dmp_queue::pallet::Call<T>2424   **/2425  CumulusPalletDmpQueueCall: {2426    _enum: {2427      service_overweight: {2428        index: 'u64',2429        weightLimit: 'u64'2430      }2431    }2432  },2433  /**2434   * Lookup302: pallet_inflation::pallet::Call<T>2435   **/2436  PalletInflationCall: {2437    _enum: {2438      start_inflation: {2439        inflationStartRelayBlock: 'u32'2440      }2441    }2442  },2443  /**2444   * Lookup303: pallet_unique::Call<T>2445   **/2446  PalletUniqueCall: {2447    _enum: {2448      create_collection: {2449        collectionName: 'Vec<u16>',2450        collectionDescription: 'Vec<u16>',2451        tokenPrefix: 'Bytes',2452        mode: 'UpDataStructsCollectionMode',2453      },2454      create_collection_ex: {2455        data: 'UpDataStructsCreateCollectionData',2456      },2457      destroy_collection: {2458        collectionId: 'u32',2459      },2460      add_to_allow_list: {2461        collectionId: 'u32',2462        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2463      },2464      remove_from_allow_list: {2465        collectionId: 'u32',2466        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2467      },2468      change_collection_owner: {2469        collectionId: 'u32',2470        newOwner: 'AccountId32',2471      },2472      add_collection_admin: {2473        collectionId: 'u32',2474        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2475      },2476      remove_collection_admin: {2477        collectionId: 'u32',2478        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2479      },2480      set_collection_sponsor: {2481        collectionId: 'u32',2482        newSponsor: 'AccountId32',2483      },2484      confirm_sponsorship: {2485        collectionId: 'u32',2486      },2487      remove_collection_sponsor: {2488        collectionId: 'u32',2489      },2490      create_item: {2491        collectionId: 'u32',2492        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2493        data: 'UpDataStructsCreateItemData',2494      },2495      create_multiple_items: {2496        collectionId: 'u32',2497        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2498        itemsData: 'Vec<UpDataStructsCreateItemData>',2499      },2500      set_collection_properties: {2501        collectionId: 'u32',2502        properties: 'Vec<UpDataStructsProperty>',2503      },2504      delete_collection_properties: {2505        collectionId: 'u32',2506        propertyKeys: 'Vec<Bytes>',2507      },2508      set_token_properties: {2509        collectionId: 'u32',2510        tokenId: 'u32',2511        properties: 'Vec<UpDataStructsProperty>',2512      },2513      delete_token_properties: {2514        collectionId: 'u32',2515        tokenId: 'u32',2516        propertyKeys: 'Vec<Bytes>',2517      },2518      set_token_property_permissions: {2519        collectionId: 'u32',2520        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2521      },2522      create_multiple_items_ex: {2523        collectionId: 'u32',2524        data: 'UpDataStructsCreateItemExData',2525      },2526      set_transfers_enabled_flag: {2527        collectionId: 'u32',2528        value: 'bool',2529      },2530      burn_item: {2531        collectionId: 'u32',2532        itemId: 'u32',2533        value: 'u128',2534      },2535      burn_from: {2536        collectionId: 'u32',2537        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2538        itemId: 'u32',2539        value: 'u128',2540      },2541      transfer: {2542        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2543        collectionId: 'u32',2544        itemId: 'u32',2545        value: 'u128',2546      },2547      approve: {2548        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2549        collectionId: 'u32',2550        itemId: 'u32',2551        amount: 'u128',2552      },2553      approve_from: {2554        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2555        to: 'PalletEvmAccountBasicCrossAccountIdRepr',2556        collectionId: 'u32',2557        itemId: 'u32',2558        amount: 'u128',2559      },2560      transfer_from: {2561        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2562        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2563        collectionId: 'u32',2564        itemId: 'u32',2565        value: 'u128',2566      },2567      set_collection_limits: {2568        collectionId: 'u32',2569        newLimit: 'UpDataStructsCollectionLimits',2570      },2571      set_collection_permissions: {2572        collectionId: 'u32',2573        newPermission: 'UpDataStructsCollectionPermissions',2574      },2575      repartition: {2576        collectionId: 'u32',2577        tokenId: 'u32',2578        amount: 'u128',2579      },2580      set_allowance_for_all: {2581        collectionId: 'u32',2582        operator: 'PalletEvmAccountBasicCrossAccountIdRepr',2583        approve: 'bool',2584      },2585      force_repair_collection: {2586        collectionId: 'u32',2587      },2588      force_repair_item: {2589        collectionId: 'u32',2590        itemId: 'u32'2591      }2592    }2593  },2594  /**2595   * Lookup308: up_data_structs::CollectionMode2596   **/2597  UpDataStructsCollectionMode: {2598    _enum: {2599      NFT: 'Null',2600      Fungible: 'u8',2601      ReFungible: 'Null'2602    }2603  },2604  /**2605   * Lookup309: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2606   **/2607  UpDataStructsCreateCollectionData: {2608    mode: 'UpDataStructsCollectionMode',2609    access: 'Option<UpDataStructsAccessMode>',2610    name: 'Vec<u16>',2611    description: 'Vec<u16>',2612    tokenPrefix: 'Bytes',2613    pendingSponsor: 'Option<AccountId32>',2614    limits: 'Option<UpDataStructsCollectionLimits>',2615    permissions: 'Option<UpDataStructsCollectionPermissions>',2616    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2617    properties: 'Vec<UpDataStructsProperty>'2618  },2619  /**2620   * Lookup311: up_data_structs::AccessMode2621   **/2622  UpDataStructsAccessMode: {2623    _enum: ['Normal', 'AllowList']2624  },2625  /**2626   * Lookup313: up_data_structs::CollectionLimits2627   **/2628  UpDataStructsCollectionLimits: {2629    accountTokenOwnershipLimit: 'Option<u32>',2630    sponsoredDataSize: 'Option<u32>',2631    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2632    tokenLimit: 'Option<u32>',2633    sponsorTransferTimeout: 'Option<u32>',2634    sponsorApproveTimeout: 'Option<u32>',2635    ownerCanTransfer: 'Option<bool>',2636    ownerCanDestroy: 'Option<bool>',2637    transfersEnabled: 'Option<bool>'2638  },2639  /**2640   * Lookup315: up_data_structs::SponsoringRateLimit2641   **/2642  UpDataStructsSponsoringRateLimit: {2643    _enum: {2644      SponsoringDisabled: 'Null',2645      Blocks: 'u32'2646    }2647  },2648  /**2649   * Lookup318: up_data_structs::CollectionPermissions2650   **/2651  UpDataStructsCollectionPermissions: {2652    access: 'Option<UpDataStructsAccessMode>',2653    mintMode: 'Option<bool>',2654    nesting: 'Option<UpDataStructsNestingPermissions>'2655  },2656  /**2657   * Lookup320: up_data_structs::NestingPermissions2658   **/2659  UpDataStructsNestingPermissions: {2660    tokenOwner: 'bool',2661    collectionAdmin: 'bool',2662    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2663  },2664  /**2665   * Lookup322: up_data_structs::OwnerRestrictedSet2666   **/2667  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2668  /**2669   * Lookup327: up_data_structs::PropertyKeyPermission2670   **/2671  UpDataStructsPropertyKeyPermission: {2672    key: 'Bytes',2673    permission: 'UpDataStructsPropertyPermission'2674  },2675  /**2676   * Lookup328: up_data_structs::PropertyPermission2677   **/2678  UpDataStructsPropertyPermission: {2679    mutable: 'bool',2680    collectionAdmin: 'bool',2681    tokenOwner: 'bool'2682  },2683  /**2684   * Lookup331: up_data_structs::Property2685   **/2686  UpDataStructsProperty: {2687    key: 'Bytes',2688    value: 'Bytes'2689  },2690  /**2691   * Lookup334: up_data_structs::CreateItemData2692   **/2693  UpDataStructsCreateItemData: {2694    _enum: {2695      NFT: 'UpDataStructsCreateNftData',2696      Fungible: 'UpDataStructsCreateFungibleData',2697      ReFungible: 'UpDataStructsCreateReFungibleData'2698    }2699  },2700  /**2701   * Lookup335: up_data_structs::CreateNftData2702   **/2703  UpDataStructsCreateNftData: {2704    properties: 'Vec<UpDataStructsProperty>'2705  },2706  /**2707   * Lookup336: up_data_structs::CreateFungibleData2708   **/2709  UpDataStructsCreateFungibleData: {2710    value: 'u128'2711  },2712  /**2713   * Lookup337: up_data_structs::CreateReFungibleData2714   **/2715  UpDataStructsCreateReFungibleData: {2716    pieces: 'u128',2717    properties: 'Vec<UpDataStructsProperty>'2718  },2719  /**2720   * Lookup340: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2721   **/2722  UpDataStructsCreateItemExData: {2723    _enum: {2724      NFT: 'Vec<UpDataStructsCreateNftExData>',2725      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2726      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2727      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2728    }2729  },2730  /**2731   * Lookup342: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2732   **/2733  UpDataStructsCreateNftExData: {2734    properties: 'Vec<UpDataStructsProperty>',2735    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2736  },2737  /**2738   * Lookup349: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2739   **/2740  UpDataStructsCreateRefungibleExSingleOwner: {2741    user: 'PalletEvmAccountBasicCrossAccountIdRepr',2742    pieces: 'u128',2743    properties: 'Vec<UpDataStructsProperty>'2744  },2745  /**2746   * Lookup351: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2747   **/2748  UpDataStructsCreateRefungibleExMultipleOwners: {2749    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2750    properties: 'Vec<UpDataStructsProperty>'2751  },2752  /**2753   * Lookup352: pallet_configuration::pallet::Call<T>2754   **/2755  PalletConfigurationCall: {2756    _enum: {2757      set_weight_to_fee_coefficient_override: {2758        coeff: 'Option<u64>',2759      },2760      set_min_gas_price_override: {2761        coeff: 'Option<u64>',2762      },2763      set_xcm_allowed_locations: {2764        locations: 'Option<Vec<XcmV1MultiLocation>>',2765      },2766      set_app_promotion_configuration_override: {2767        configuration: 'PalletConfigurationAppPromotionConfiguration',2768      },2769      set_collator_selection_desired_collators: {2770        max: 'Option<u32>',2771      },2772      set_collator_selection_license_bond: {2773        amount: 'Option<u128>',2774      },2775      set_collator_selection_kick_threshold: {2776        threshold: 'Option<u32>'2777      }2778    }2779  },2780  /**2781   * Lookup357: pallet_configuration::AppPromotionConfiguration<BlockNumber>2782   **/2783  PalletConfigurationAppPromotionConfiguration: {2784    recalculationInterval: 'Option<u32>',2785    pendingInterval: 'Option<u32>',2786    intervalIncome: 'Option<Perbill>',2787    maxStakersPerCalculation: 'Option<u8>'2788  },2789  /**2790   * Lookup361: pallet_template_transaction_payment::Call<T>2791   **/2792  PalletTemplateTransactionPaymentCall: 'Null',2793  /**2794   * Lookup362: pallet_structure::pallet::Call<T>2795   **/2796  PalletStructureCall: 'Null',2797  /**2798   * Lookup363: pallet_app_promotion::pallet::Call<T>2799   **/2800  PalletAppPromotionCall: {2801    _enum: {2802      set_admin_address: {2803        admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2804      },2805      stake: {2806        amount: 'u128',2807      },2808      unstake_all: 'Null',2809      sponsor_collection: {2810        collectionId: 'u32',2811      },2812      stop_sponsoring_collection: {2813        collectionId: 'u32',2814      },2815      sponsor_contract: {2816        contractId: 'H160',2817      },2818      stop_sponsoring_contract: {2819        contractId: 'H160',2820      },2821      payout_stakers: {2822        stakersNumber: 'Option<u8>',2823      },2824      unstake_partial: {2825        amount: 'u128'2826      }2827    }2828  },2829  /**2830   * Lookup364: pallet_foreign_assets::module::Call<T>2831   **/2832  PalletForeignAssetsModuleCall: {2833    _enum: {2834      register_foreign_asset: {2835        owner: 'AccountId32',2836        location: 'XcmVersionedMultiLocation',2837        metadata: 'PalletForeignAssetsModuleAssetMetadata',2838      },2839      update_foreign_asset: {2840        foreignAssetId: 'u32',2841        location: 'XcmVersionedMultiLocation',2842        metadata: 'PalletForeignAssetsModuleAssetMetadata'2843      }2844    }2845  },2846  /**2847   * Lookup365: pallet_evm::pallet::Call<T>2848   **/2849  PalletEvmCall: {2850    _enum: {2851      withdraw: {2852        address: 'H160',2853        value: 'u128',2854      },2855      call: {2856        source: 'H160',2857        target: 'H160',2858        input: 'Bytes',2859        value: 'U256',2860        gasLimit: 'u64',2861        maxFeePerGas: 'U256',2862        maxPriorityFeePerGas: 'Option<U256>',2863        nonce: 'Option<U256>',2864        accessList: 'Vec<(H160,Vec<H256>)>',2865      },2866      create: {2867        source: 'H160',2868        init: 'Bytes',2869        value: 'U256',2870        gasLimit: 'u64',2871        maxFeePerGas: 'U256',2872        maxPriorityFeePerGas: 'Option<U256>',2873        nonce: 'Option<U256>',2874        accessList: 'Vec<(H160,Vec<H256>)>',2875      },2876      create2: {2877        source: 'H160',2878        init: 'Bytes',2879        salt: 'H256',2880        value: 'U256',2881        gasLimit: 'u64',2882        maxFeePerGas: 'U256',2883        maxPriorityFeePerGas: 'Option<U256>',2884        nonce: 'Option<U256>',2885        accessList: 'Vec<(H160,Vec<H256>)>'2886      }2887    }2888  },2889  /**2890   * Lookup371: pallet_ethereum::pallet::Call<T>2891   **/2892  PalletEthereumCall: {2893    _enum: {2894      transact: {2895        transaction: 'EthereumTransactionTransactionV2'2896      }2897    }2898  },2899  /**2900   * Lookup372: ethereum::transaction::TransactionV22901   **/2902  EthereumTransactionTransactionV2: {2903    _enum: {2904      Legacy: 'EthereumTransactionLegacyTransaction',2905      EIP2930: 'EthereumTransactionEip2930Transaction',2906      EIP1559: 'EthereumTransactionEip1559Transaction'2907    }2908  },2909  /**2910   * Lookup373: ethereum::transaction::LegacyTransaction2911   **/2912  EthereumTransactionLegacyTransaction: {2913    nonce: 'U256',2914    gasPrice: 'U256',2915    gasLimit: 'U256',2916    action: 'EthereumTransactionTransactionAction',2917    value: 'U256',2918    input: 'Bytes',2919    signature: 'EthereumTransactionTransactionSignature'2920  },2921  /**2922   * Lookup374: ethereum::transaction::TransactionAction2923   **/2924  EthereumTransactionTransactionAction: {2925    _enum: {2926      Call: 'H160',2927      Create: 'Null'2928    }2929  },2930  /**2931   * Lookup375: ethereum::transaction::TransactionSignature2932   **/2933  EthereumTransactionTransactionSignature: {2934    v: 'u64',2935    r: 'H256',2936    s: 'H256'2937  },2938  /**2939   * Lookup377: ethereum::transaction::EIP2930Transaction2940   **/2941  EthereumTransactionEip2930Transaction: {2942    chainId: 'u64',2943    nonce: 'U256',2944    gasPrice: 'U256',2945    gasLimit: 'U256',2946    action: 'EthereumTransactionTransactionAction',2947    value: 'U256',2948    input: 'Bytes',2949    accessList: 'Vec<EthereumTransactionAccessListItem>',2950    oddYParity: 'bool',2951    r: 'H256',2952    s: 'H256'2953  },2954  /**2955   * Lookup379: ethereum::transaction::AccessListItem2956   **/2957  EthereumTransactionAccessListItem: {2958    address: 'H160',2959    storageKeys: 'Vec<H256>'2960  },2961  /**2962   * Lookup380: ethereum::transaction::EIP1559Transaction2963   **/2964  EthereumTransactionEip1559Transaction: {2965    chainId: 'u64',2966    nonce: 'U256',2967    maxPriorityFeePerGas: 'U256',2968    maxFeePerGas: 'U256',2969    gasLimit: 'U256',2970    action: 'EthereumTransactionTransactionAction',2971    value: 'U256',2972    input: 'Bytes',2973    accessList: 'Vec<EthereumTransactionAccessListItem>',2974    oddYParity: 'bool',2975    r: 'H256',2976    s: 'H256'2977  },2978  /**2979   * Lookup381: pallet_evm_migration::pallet::Call<T>2980   **/2981  PalletEvmMigrationCall: {2982    _enum: {2983      begin: {2984        address: 'H160',2985      },2986      set_data: {2987        address: 'H160',2988        data: 'Vec<(H256,H256)>',2989      },2990      finish: {2991        address: 'H160',2992        code: 'Bytes',2993      },2994      insert_eth_logs: {2995        logs: 'Vec<EthereumLog>',2996      },2997      insert_events: {2998        events: 'Vec<Bytes>',2999      },3000      remove_rmrk_data: 'Null'3001    }3002  },3003  /**3004   * Lookup385: pallet_maintenance::pallet::Call<T>3005   **/3006  PalletMaintenanceCall: {3007    _enum: {3008      enable: 'Null',3009      disable: 'Null',3010      execute_preimage: {3011        _alias: {3012          hash_: 'hash',3013        },3014        hash_: 'H256',3015        weightBound: 'SpWeightsWeightV2Weight'3016      }3017    }3018  },3019  /**3020   * Lookup386: pallet_test_utils::pallet::Call<T>3021   **/3022  PalletTestUtilsCall: {3023    _enum: {3024      enable: 'Null',3025      set_test_value: {3026        value: 'u32',3027      },3028      set_test_value_and_rollback: {3029        value: 'u32',3030      },3031      inc_test_value: 'Null',3032      just_take_fee: 'Null',3033      batch_all: {3034        calls: 'Vec<Call>'3035      }3036    }3037  },3038  /**3039   * Lookup388: pallet_sudo::pallet::Error<T>3040   **/3041  PalletSudoError: {3042    _enum: ['RequireSudo']3043  },3044  /**3045   * Lookup390: orml_vesting::module::Error<T>3046   **/3047  OrmlVestingModuleError: {3048    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']3049  },3050  /**3051   * Lookup391: orml_xtokens::module::Error<T>3052   **/3053  OrmlXtokensModuleError: {3054    _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']3055  },3056  /**3057   * Lookup394: orml_tokens::BalanceLock<Balance>3058   **/3059  OrmlTokensBalanceLock: {3060    id: '[u8;8]',3061    amount: 'u128'3062  },3063  /**3064   * Lookup396: orml_tokens::AccountData<Balance>3065   **/3066  OrmlTokensAccountData: {3067    free: 'u128',3068    reserved: 'u128',3069    frozen: 'u128'3070  },3071  /**3072   * Lookup398: orml_tokens::ReserveData<ReserveIdentifier, Balance>3073   **/3074  OrmlTokensReserveData: {3075    id: 'Null',3076    amount: 'u128'3077  },3078  /**3079   * Lookup400: orml_tokens::module::Error<T>3080   **/3081  OrmlTokensModuleError: {3082    _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']3083  },3084  /**3085   * Lookup405: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>3086   **/3087  PalletIdentityRegistrarInfo: {3088    account: 'AccountId32',3089    fee: 'u128',3090    fields: 'PalletIdentityBitFlags'3091  },3092  /**3093   * Lookup407: pallet_identity::pallet::Error<T>3094   **/3095  PalletIdentityError: {3096    _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed']3097  },3098  /**3099   * Lookup408: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>3100   **/3101  PalletPreimageRequestStatus: {3102    _enum: {3103      Unrequested: {3104        deposit: '(AccountId32,u128)',3105        len: 'u32',3106      },3107      Requested: {3108        deposit: 'Option<(AccountId32,u128)>',3109        count: 'u32',3110        len: 'Option<u32>'3111      }3112    }3113  },3114  /**3115   * Lookup413: pallet_preimage::pallet::Error<T>3116   **/3117  PalletPreimageError: {3118    _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested']3119  },3120  /**3121   * Lookup415: cumulus_pallet_xcmp_queue::InboundChannelDetails3122   **/3123  CumulusPalletXcmpQueueInboundChannelDetails: {3124    sender: 'u32',3125    state: 'CumulusPalletXcmpQueueInboundState',3126    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'3127  },3128  /**3129   * Lookup416: cumulus_pallet_xcmp_queue::InboundState3130   **/3131  CumulusPalletXcmpQueueInboundState: {3132    _enum: ['Ok', 'Suspended']3133  },3134  /**3135   * Lookup419: polkadot_parachain::primitives::XcmpMessageFormat3136   **/3137  PolkadotParachainPrimitivesXcmpMessageFormat: {3138    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3139  },3140  /**3141   * Lookup422: cumulus_pallet_xcmp_queue::OutboundChannelDetails3142   **/3143  CumulusPalletXcmpQueueOutboundChannelDetails: {3144    recipient: 'u32',3145    state: 'CumulusPalletXcmpQueueOutboundState',3146    signalsExist: 'bool',3147    firstIndex: 'u16',3148    lastIndex: 'u16'3149  },3150  /**3151   * Lookup423: cumulus_pallet_xcmp_queue::OutboundState3152   **/3153  CumulusPalletXcmpQueueOutboundState: {3154    _enum: ['Ok', 'Suspended']3155  },3156  /**3157   * Lookup425: cumulus_pallet_xcmp_queue::QueueConfigData3158   **/3159  CumulusPalletXcmpQueueQueueConfigData: {3160    suspendThreshold: 'u32',3161    dropThreshold: 'u32',3162    resumeThreshold: 'u32',3163    thresholdWeight: 'SpWeightsWeightV2Weight',3164    weightRestrictDecay: 'SpWeightsWeightV2Weight',3165    xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'3166  },3167  /**3168   * Lookup427: cumulus_pallet_xcmp_queue::pallet::Error<T>3169   **/3170  CumulusPalletXcmpQueueError: {3171    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3172  },3173  /**3174   * Lookup428: pallet_xcm::pallet::Error<T>3175   **/3176  PalletXcmError: {3177    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3178  },3179  /**3180   * Lookup429: cumulus_pallet_xcm::pallet::Error<T>3181   **/3182  CumulusPalletXcmError: 'Null',3183  /**3184   * Lookup430: cumulus_pallet_dmp_queue::ConfigData3185   **/3186  CumulusPalletDmpQueueConfigData: {3187    maxIndividual: 'SpWeightsWeightV2Weight'3188  },3189  /**3190   * Lookup431: cumulus_pallet_dmp_queue::PageIndexData3191   **/3192  CumulusPalletDmpQueuePageIndexData: {3193    beginUsed: 'u32',3194    endUsed: 'u32',3195    overweightCount: 'u64'3196  },3197  /**3198   * Lookup434: cumulus_pallet_dmp_queue::pallet::Error<T>3199   **/3200  CumulusPalletDmpQueueError: {3201    _enum: ['Unknown', 'OverLimit']3202  },3203  /**3204   * Lookup438: pallet_unique::Error<T>3205   **/3206  PalletUniqueError: {3207    _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3208  },3209  /**3210   * Lookup439: pallet_configuration::pallet::Error<T>3211   **/3212  PalletConfigurationError: {3213    _enum: ['InconsistentConfiguration']3214  },3215  /**3216   * Lookup440: up_data_structs::Collection<sp_core::crypto::AccountId32>3217   **/3218  UpDataStructsCollection: {3219    owner: 'AccountId32',3220    mode: 'UpDataStructsCollectionMode',3221    name: 'Vec<u16>',3222    description: 'Vec<u16>',3223    tokenPrefix: 'Bytes',3224    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3225    limits: 'UpDataStructsCollectionLimits',3226    permissions: 'UpDataStructsCollectionPermissions',3227    flags: '[u8;1]'3228  },3229  /**3230   * Lookup441: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3231   **/3232  UpDataStructsSponsorshipStateAccountId32: {3233    _enum: {3234      Disabled: 'Null',3235      Unconfirmed: 'AccountId32',3236      Confirmed: 'AccountId32'3237    }3238  },3239  /**3240   * Lookup442: up_data_structs::Properties3241   **/3242  UpDataStructsProperties: {3243    map: 'UpDataStructsPropertiesMapBoundedVec',3244    consumedSpace: 'u32',3245    spaceLimit: 'u32'3246  },3247  /**3248   * Lookup443: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3249   **/3250  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3251  /**3252   * Lookup448: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3253   **/3254  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3255  /**3256   * Lookup455: up_data_structs::CollectionStats3257   **/3258  UpDataStructsCollectionStats: {3259    created: 'u32',3260    destroyed: 'u32',3261    alive: 'u32'3262  },3263  /**3264   * Lookup456: up_data_structs::TokenChild3265   **/3266  UpDataStructsTokenChild: {3267    token: 'u32',3268    collection: 'u32'3269  },3270  /**3271   * Lookup457: PhantomType::up_data_structs<T>3272   **/3273  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]',3274  /**3275   * Lookup459: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3276   **/3277  UpDataStructsTokenData: {3278    properties: 'Vec<UpDataStructsProperty>',3279    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3280    pieces: 'u128'3281  },3282  /**3283   * Lookup461: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3284   **/3285  UpDataStructsRpcCollection: {3286    owner: 'AccountId32',3287    mode: 'UpDataStructsCollectionMode',3288    name: 'Vec<u16>',3289    description: 'Vec<u16>',3290    tokenPrefix: 'Bytes',3291    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3292    limits: 'UpDataStructsCollectionLimits',3293    permissions: 'UpDataStructsCollectionPermissions',3294    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3295    properties: 'Vec<UpDataStructsProperty>',3296    readOnly: 'bool',3297    flags: 'UpDataStructsRpcCollectionFlags'3298  },3299  /**3300   * Lookup462: up_data_structs::RpcCollectionFlags3301   **/3302  UpDataStructsRpcCollectionFlags: {3303    foreign: 'bool',3304    erc721metadata: 'bool'3305  },3306  /**3307   * Lookup463: up_pov_estimate_rpc::PovInfo3308   **/3309  UpPovEstimateRpcPovInfo: {3310    proofSize: 'u64',3311    compactProofSize: 'u64',3312    compressedProofSize: 'u64',3313    results: 'Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>',3314    keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'3315  },3316  /**3317   * Lookup466: sp_runtime::transaction_validity::TransactionValidityError3318   **/3319  SpRuntimeTransactionValidityTransactionValidityError: {3320    _enum: {3321      Invalid: 'SpRuntimeTransactionValidityInvalidTransaction',3322      Unknown: 'SpRuntimeTransactionValidityUnknownTransaction'3323    }3324  },3325  /**3326   * Lookup467: sp_runtime::transaction_validity::InvalidTransaction3327   **/3328  SpRuntimeTransactionValidityInvalidTransaction: {3329    _enum: {3330      Call: 'Null',3331      Payment: 'Null',3332      Future: 'Null',3333      Stale: 'Null',3334      BadProof: 'Null',3335      AncientBirthBlock: 'Null',3336      ExhaustsResources: 'Null',3337      Custom: 'u8',3338      BadMandatory: 'Null',3339      MandatoryValidation: 'Null',3340      BadSigner: 'Null'3341    }3342  },3343  /**3344   * Lookup468: sp_runtime::transaction_validity::UnknownTransaction3345   **/3346  SpRuntimeTransactionValidityUnknownTransaction: {3347    _enum: {3348      CannotLookup: 'Null',3349      NoUnsignedValidator: 'Null',3350      Custom: 'u8'3351    }3352  },3353  /**3354   * Lookup470: up_pov_estimate_rpc::TrieKeyValue3355   **/3356  UpPovEstimateRpcTrieKeyValue: {3357    key: 'Bytes',3358    value: 'Bytes'3359  },3360  /**3361   * Lookup472: pallet_common::pallet::Error<T>3362   **/3363  PalletCommonError: {3364    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']3365  },3366  /**3367   * Lookup474: pallet_fungible::pallet::Error<T>3368   **/3369  PalletFungibleError: {3370    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']3371  },3372  /**3373   * Lookup478: pallet_refungible::pallet::Error<T>3374   **/3375  PalletRefungibleError: {3376    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3377  },3378  /**3379   * Lookup479: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3380   **/3381  PalletNonfungibleItemData: {3382    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3383  },3384  /**3385   * Lookup481: up_data_structs::PropertyScope3386   **/3387  UpDataStructsPropertyScope: {3388    _enum: ['None', 'Rmrk']3389  },3390  /**3391   * Lookup484: pallet_nonfungible::pallet::Error<T>3392   **/3393  PalletNonfungibleError: {3394    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3395  },3396  /**3397   * Lookup485: pallet_structure::pallet::Error<T>3398   **/3399  PalletStructureError: {3400    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection']3401  },3402  /**3403   * Lookup490: pallet_app_promotion::pallet::Error<T>3404   **/3405  PalletAppPromotionError: {3406    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation', 'InsufficientStakedBalance']3407  },3408  /**3409   * Lookup491: pallet_foreign_assets::module::Error<T>3410   **/3411  PalletForeignAssetsModuleError: {3412    _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3413  },3414  /**3415   * Lookup493: pallet_evm::pallet::Error<T>3416   **/3417  PalletEvmError: {3418    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']3419  },3420  /**3421   * Lookup496: fp_rpc::TransactionStatus3422   **/3423  FpRpcTransactionStatus: {3424    transactionHash: 'H256',3425    transactionIndex: 'u32',3426    from: 'H160',3427    to: 'Option<H160>',3428    contractAddress: 'Option<H160>',3429    logs: 'Vec<EthereumLog>',3430    logsBloom: 'EthbloomBloom'3431  },3432  /**3433   * Lookup498: ethbloom::Bloom3434   **/3435  EthbloomBloom: '[u8;256]',3436  /**3437   * Lookup500: ethereum::receipt::ReceiptV33438   **/3439  EthereumReceiptReceiptV3: {3440    _enum: {3441      Legacy: 'EthereumReceiptEip658ReceiptData',3442      EIP2930: 'EthereumReceiptEip658ReceiptData',3443      EIP1559: 'EthereumReceiptEip658ReceiptData'3444    }3445  },3446  /**3447   * Lookup501: ethereum::receipt::EIP658ReceiptData3448   **/3449  EthereumReceiptEip658ReceiptData: {3450    statusCode: 'u8',3451    usedGas: 'U256',3452    logsBloom: 'EthbloomBloom',3453    logs: 'Vec<EthereumLog>'3454  },3455  /**3456   * Lookup502: ethereum::block::Block<ethereum::transaction::TransactionV2>3457   **/3458  EthereumBlock: {3459    header: 'EthereumHeader',3460    transactions: 'Vec<EthereumTransactionTransactionV2>',3461    ommers: 'Vec<EthereumHeader>'3462  },3463  /**3464   * Lookup503: ethereum::header::Header3465   **/3466  EthereumHeader: {3467    parentHash: 'H256',3468    ommersHash: 'H256',3469    beneficiary: 'H160',3470    stateRoot: 'H256',3471    transactionsRoot: 'H256',3472    receiptsRoot: 'H256',3473    logsBloom: 'EthbloomBloom',3474    difficulty: 'U256',3475    number: 'U256',3476    gasLimit: 'U256',3477    gasUsed: 'U256',3478    timestamp: 'u64',3479    extraData: 'Bytes',3480    mixHash: 'H256',3481    nonce: 'EthereumTypesHashH64'3482  },3483  /**3484   * Lookup504: ethereum_types::hash::H643485   **/3486  EthereumTypesHashH64: '[u8;8]',3487  /**3488   * Lookup509: pallet_ethereum::pallet::Error<T>3489   **/3490  PalletEthereumError: {3491    _enum: ['InvalidSignature', 'PreLogExists']3492  },3493  /**3494   * Lookup510: pallet_evm_coder_substrate::pallet::Error<T>3495   **/3496  PalletEvmCoderSubstrateError: {3497    _enum: ['OutOfGas', 'OutOfFund']3498  },3499  /**3500   * Lookup511: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3501   **/3502  UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3503    _enum: {3504      Disabled: 'Null',3505      Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3506      Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3507    }3508  },3509  /**3510   * Lookup512: pallet_evm_contract_helpers::SponsoringModeT3511   **/3512  PalletEvmContractHelpersSponsoringModeT: {3513    _enum: ['Disabled', 'Allowlisted', 'Generous']3514  },3515  /**3516   * Lookup518: pallet_evm_contract_helpers::pallet::Error<T>3517   **/3518  PalletEvmContractHelpersError: {3519    _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3520  },3521  /**3522   * Lookup519: pallet_evm_migration::pallet::Error<T>3523   **/3524  PalletEvmMigrationError: {3525    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3526  },3527  /**3528   * Lookup520: pallet_maintenance::pallet::Error<T>3529   **/3530  PalletMaintenanceError: 'Null',3531  /**3532   * Lookup521: pallet_test_utils::pallet::Error<T>3533   **/3534  PalletTestUtilsError: {3535    _enum: ['TestPalletDisabled', 'TriggerRollback']3536  },3537  /**3538   * Lookup523: sp_runtime::MultiSignature3539   **/3540  SpRuntimeMultiSignature: {3541    _enum: {3542      Ed25519: 'SpCoreEd25519Signature',3543      Sr25519: 'SpCoreSr25519Signature',3544      Ecdsa: 'SpCoreEcdsaSignature'3545    }3546  },3547  /**3548   * Lookup524: sp_core::ed25519::Signature3549   **/3550  SpCoreEd25519Signature: '[u8;64]',3551  /**3552   * Lookup526: sp_core::sr25519::Signature3553   **/3554  SpCoreSr25519Signature: '[u8;64]',3555  /**3556   * Lookup527: sp_core::ecdsa::Signature3557   **/3558  SpCoreEcdsaSignature: '[u8;65]',3559  /**3560   * Lookup530: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3561   **/3562  FrameSystemExtensionsCheckSpecVersion: 'Null',3563  /**3564   * Lookup531: frame_system::extensions::check_tx_version::CheckTxVersion<T>3565   **/3566  FrameSystemExtensionsCheckTxVersion: 'Null',3567  /**3568   * Lookup532: frame_system::extensions::check_genesis::CheckGenesis<T>3569   **/3570  FrameSystemExtensionsCheckGenesis: 'Null',3571  /**3572   * Lookup535: frame_system::extensions::check_nonce::CheckNonce<T>3573   **/3574  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3575  /**3576   * Lookup536: frame_system::extensions::check_weight::CheckWeight<T>3577   **/3578  FrameSystemExtensionsCheckWeight: 'Null',3579  /**3580   * Lookup537: opal_runtime::runtime_common::maintenance::CheckMaintenance3581   **/3582  OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3583  /**3584   * Lookup538: opal_runtime::runtime_common::identity::DisableIdentityCalls3585   **/3586  OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',3587  /**3588   * Lookup539: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3589   **/3590  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3591  /**3592   * Lookup540: opal_runtime::Runtime3593   **/3594  OpalRuntimeRuntime: 'Null',3595  /**3596   * Lookup541: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3597   **/3598  PalletEthereumFakeTransactionFinalizer: 'Null'3599};
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, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, 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, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, 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, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletAuthorshipCall, PalletAuthorshipError, PalletAuthorshipUncleEntryItem, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeBlakeTwo256, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeHeader, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, 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 {
@@ -76,6 +76,7 @@
     OpalRuntimeRuntime: OpalRuntimeRuntime;
     OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls;
     OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
+    OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
     OrmlTokensAccountData: OrmlTokensAccountData;
     OrmlTokensBalanceLock: OrmlTokensBalanceLock;
     OrmlTokensModuleCall: OrmlTokensModuleCall;
@@ -92,6 +93,9 @@
     PalletAppPromotionCall: PalletAppPromotionCall;
     PalletAppPromotionError: PalletAppPromotionError;
     PalletAppPromotionEvent: PalletAppPromotionEvent;
+    PalletAuthorshipCall: PalletAuthorshipCall;
+    PalletAuthorshipError: PalletAuthorshipError;
+    PalletAuthorshipUncleEntryItem: PalletAuthorshipUncleEntryItem;
     PalletBalancesAccountData: PalletBalancesAccountData;
     PalletBalancesBalanceLock: PalletBalancesBalanceLock;
     PalletBalancesCall: PalletBalancesCall;
@@ -99,6 +103,9 @@
     PalletBalancesEvent: PalletBalancesEvent;
     PalletBalancesReasons: PalletBalancesReasons;
     PalletBalancesReserveData: PalletBalancesReserveData;
+    PalletCollatorSelectionCall: PalletCollatorSelectionCall;
+    PalletCollatorSelectionError: PalletCollatorSelectionError;
+    PalletCollatorSelectionEvent: PalletCollatorSelectionEvent;
     PalletCommonError: PalletCommonError;
     PalletCommonEvent: PalletCommonEvent;
     PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration;
@@ -127,19 +134,29 @@
     PalletForeignAssetsModuleEvent: PalletForeignAssetsModuleEvent;
     PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency;
     PalletFungibleError: PalletFungibleError;
+    PalletIdentityBitFlags: PalletIdentityBitFlags;
+    PalletIdentityCall: PalletIdentityCall;
+    PalletIdentityError: PalletIdentityError;
+    PalletIdentityEvent: PalletIdentityEvent;
+    PalletIdentityIdentityField: PalletIdentityIdentityField;
+    PalletIdentityIdentityInfo: PalletIdentityIdentityInfo;
+    PalletIdentityJudgement: PalletIdentityJudgement;
+    PalletIdentityRegistrarInfo: PalletIdentityRegistrarInfo;
+    PalletIdentityRegistration: PalletIdentityRegistration;
     PalletInflationCall: PalletInflationCall;
     PalletMaintenanceCall: PalletMaintenanceCall;
     PalletMaintenanceError: PalletMaintenanceError;
     PalletMaintenanceEvent: PalletMaintenanceEvent;
     PalletNonfungibleError: PalletNonfungibleError;
     PalletNonfungibleItemData: PalletNonfungibleItemData;
+    PalletPreimageCall: PalletPreimageCall;
+    PalletPreimageError: PalletPreimageError;
+    PalletPreimageEvent: PalletPreimageEvent;
+    PalletPreimageRequestStatus: PalletPreimageRequestStatus;
     PalletRefungibleError: PalletRefungibleError;
-    PalletRmrkCoreCall: PalletRmrkCoreCall;
-    PalletRmrkCoreError: PalletRmrkCoreError;
-    PalletRmrkCoreEvent: PalletRmrkCoreEvent;
-    PalletRmrkEquipCall: PalletRmrkEquipCall;
-    PalletRmrkEquipError: PalletRmrkEquipError;
-    PalletRmrkEquipEvent: PalletRmrkEquipEvent;
+    PalletSessionCall: PalletSessionCall;
+    PalletSessionError: PalletSessionError;
+    PalletSessionEvent: PalletSessionEvent;
     PalletStructureCall: PalletStructureCall;
     PalletStructureError: PalletStructureError;
     PalletStructureEvent: PalletStructureEvent;
@@ -172,31 +189,18 @@
     PolkadotPrimitivesV2AbridgedHrmpChannel: PolkadotPrimitivesV2AbridgedHrmpChannel;
     PolkadotPrimitivesV2PersistedValidationData: PolkadotPrimitivesV2PersistedValidationData;
     PolkadotPrimitivesV2UpgradeRestriction: PolkadotPrimitivesV2UpgradeRestriction;
-    RmrkTraitsBaseBaseInfo: RmrkTraitsBaseBaseInfo;
-    RmrkTraitsCollectionCollectionInfo: RmrkTraitsCollectionCollectionInfo;
-    RmrkTraitsNftAccountIdOrCollectionNftTuple: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    RmrkTraitsNftNftChild: RmrkTraitsNftNftChild;
-    RmrkTraitsNftNftInfo: RmrkTraitsNftNftInfo;
-    RmrkTraitsNftRoyaltyInfo: RmrkTraitsNftRoyaltyInfo;
-    RmrkTraitsPartEquippableList: RmrkTraitsPartEquippableList;
-    RmrkTraitsPartFixedPart: RmrkTraitsPartFixedPart;
-    RmrkTraitsPartPartType: RmrkTraitsPartPartType;
-    RmrkTraitsPartSlotPart: RmrkTraitsPartSlotPart;
-    RmrkTraitsPropertyPropertyInfo: RmrkTraitsPropertyPropertyInfo;
-    RmrkTraitsResourceBasicResource: RmrkTraitsResourceBasicResource;
-    RmrkTraitsResourceComposableResource: RmrkTraitsResourceComposableResource;
-    RmrkTraitsResourceResourceInfo: RmrkTraitsResourceResourceInfo;
-    RmrkTraitsResourceResourceTypes: RmrkTraitsResourceResourceTypes;
-    RmrkTraitsResourceSlotResource: RmrkTraitsResourceSlotResource;
-    RmrkTraitsTheme: RmrkTraitsTheme;
-    RmrkTraitsThemeThemeProperty: RmrkTraitsThemeThemeProperty;
+    SpArithmeticArithmeticError: SpArithmeticArithmeticError;
+    SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public;
+    SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId;
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
+    SpCoreSr25519Public: SpCoreSr25519Public;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
-    SpRuntimeArithmeticError: SpRuntimeArithmeticError;
+    SpRuntimeBlakeTwo256: SpRuntimeBlakeTwo256;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
     SpRuntimeDispatchError: SpRuntimeDispatchError;
+    SpRuntimeHeader: SpRuntimeHeader;
     SpRuntimeModuleError: SpRuntimeModuleError;
     SpRuntimeMultiSignature: SpRuntimeMultiSignature;
     SpRuntimeTokenError: SpRuntimeTokenError;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -5,9 +5,10 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/lookup';
 
-import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+import type { Data } from '@polkadot/types';
+import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Set, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { ITuple } from '@polkadot/types-codec/types';
-import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime';
 import type { Event } from '@polkadot/types/interfaces/system';
 
 declare module '@polkadot/types/lookup' {
@@ -130,7 +131,7 @@
     readonly isToken: boolean;
     readonly asToken: SpRuntimeTokenError;
     readonly isArithmetic: boolean;
-    readonly asArithmetic: SpRuntimeArithmeticError;
+    readonly asArithmetic: SpArithmeticArithmeticError;
     readonly isTransactional: boolean;
     readonly asTransactional: SpRuntimeTransactionalError;
     readonly isExhausted: boolean;
@@ -157,8 +158,8 @@
     readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';
   }
 
-  /** @name SpRuntimeArithmeticError (27) */
-  interface SpRuntimeArithmeticError extends Enum {
+  /** @name SpArithmeticArithmeticError (27) */
+  interface SpArithmeticArithmeticError extends Enum {
     readonly isUnderflow: boolean;
     readonly isOverflow: boolean;
     readonly isDivisionByZero: boolean;
@@ -196,7 +197,47 @@
     readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';
   }
 
-  /** @name PalletBalancesEvent (30) */
+  /** @name PalletCollatorSelectionEvent (30) */
+  interface PalletCollatorSelectionEvent extends Enum {
+    readonly isInvulnerableAdded: boolean;
+    readonly asInvulnerableAdded: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isInvulnerableRemoved: boolean;
+    readonly asInvulnerableRemoved: {
+      readonly invulnerable: AccountId32;
+    } & Struct;
+    readonly isLicenseObtained: boolean;
+    readonly asLicenseObtained: {
+      readonly accountId: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isLicenseReleased: boolean;
+    readonly asLicenseReleased: {
+      readonly accountId: AccountId32;
+      readonly depositReturned: u128;
+    } & Struct;
+    readonly isCandidateAdded: boolean;
+    readonly asCandidateAdded: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly isCandidateRemoved: boolean;
+    readonly asCandidateRemoved: {
+      readonly accountId: AccountId32;
+    } & Struct;
+    readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';
+  }
+
+  /** @name PalletSessionEvent (31) */
+  interface PalletSessionEvent extends Enum {
+    readonly isNewSession: boolean;
+    readonly asNewSession: {
+      readonly sessionIndex: u32;
+    } & Struct;
+    readonly type: 'NewSession';
+  }
+
+  /** @name PalletBalancesEvent (32) */
   interface PalletBalancesEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -255,14 +296,14 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';
   }
 
-  /** @name FrameSupportTokensMiscBalanceStatus (31) */
+  /** @name FrameSupportTokensMiscBalanceStatus (33) */
   interface FrameSupportTokensMiscBalanceStatus extends Enum {
     readonly isFree: boolean;
     readonly isReserved: boolean;
     readonly type: 'Free' | 'Reserved';
   }
 
-  /** @name PalletTransactionPaymentEvent (32) */
+  /** @name PalletTransactionPaymentEvent (34) */
   interface PalletTransactionPaymentEvent extends Enum {
     readonly isTransactionFeePaid: boolean;
     readonly asTransactionFeePaid: {
@@ -273,7 +314,7 @@
     readonly type: 'TransactionFeePaid';
   }
 
-  /** @name PalletTreasuryEvent (33) */
+  /** @name PalletTreasuryEvent (35) */
   interface PalletTreasuryEvent extends Enum {
     readonly isProposed: boolean;
     readonly asProposed: {
@@ -312,10 +353,15 @@
       readonly amount: u128;
       readonly beneficiary: AccountId32;
     } & Struct;
-    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';
+    readonly isUpdatedInactive: boolean;
+    readonly asUpdatedInactive: {
+      readonly reactivated: u128;
+      readonly deactivated: u128;
+    } & Struct;
+    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved' | 'UpdatedInactive';
   }
 
-  /** @name PalletSudoEvent (34) */
+  /** @name PalletSudoEvent (36) */
   interface PalletSudoEvent extends Enum {
     readonly isSudid: boolean;
     readonly asSudid: {
@@ -332,7 +378,7 @@
     readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';
   }
 
-  /** @name OrmlVestingModuleEvent (38) */
+  /** @name OrmlVestingModuleEvent (40) */
   interface OrmlVestingModuleEvent extends Enum {
     readonly isVestingScheduleAdded: boolean;
     readonly asVestingScheduleAdded: {
@@ -352,7 +398,7 @@
     readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';
   }
 
-  /** @name OrmlVestingVestingSchedule (39) */
+  /** @name OrmlVestingVestingSchedule (41) */
   interface OrmlVestingVestingSchedule extends Struct {
     readonly start: u32;
     readonly period: u32;
@@ -360,7 +406,7 @@
     readonly perPeriod: Compact<u128>;
   }
 
-  /** @name OrmlXtokensModuleEvent (41) */
+  /** @name OrmlXtokensModuleEvent (43) */
   interface OrmlXtokensModuleEvent extends Enum {
     readonly isTransferredMultiAssets: boolean;
     readonly asTransferredMultiAssets: {
@@ -372,16 +418,16 @@
     readonly type: 'TransferredMultiAssets';
   }
 
-  /** @name XcmV1MultiassetMultiAssets (42) */
+  /** @name XcmV1MultiassetMultiAssets (44) */
   interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}
 
-  /** @name XcmV1MultiAsset (44) */
+  /** @name XcmV1MultiAsset (46) */
   interface XcmV1MultiAsset extends Struct {
     readonly id: XcmV1MultiassetAssetId;
     readonly fun: XcmV1MultiassetFungibility;
   }
 
-  /** @name XcmV1MultiassetAssetId (45) */
+  /** @name XcmV1MultiassetAssetId (47) */
   interface XcmV1MultiassetAssetId extends Enum {
     readonly isConcrete: boolean;
     readonly asConcrete: XcmV1MultiLocation;
@@ -390,13 +436,13 @@
     readonly type: 'Concrete' | 'Abstract';
   }
 
-  /** @name XcmV1MultiLocation (46) */
+  /** @name XcmV1MultiLocation (48) */
   interface XcmV1MultiLocation extends Struct {
     readonly parents: u8;
     readonly interior: XcmV1MultilocationJunctions;
   }
 
-  /** @name XcmV1MultilocationJunctions (47) */
+  /** @name XcmV1MultilocationJunctions (49) */
   interface XcmV1MultilocationJunctions extends Enum {
     readonly isHere: boolean;
     readonly isX1: boolean;
@@ -418,7 +464,7 @@
     readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV1Junction (48) */
+  /** @name XcmV1Junction (50) */
   interface XcmV1Junction extends Enum {
     readonly isParachain: boolean;
     readonly asParachain: Compact<u32>;
@@ -452,7 +498,7 @@
     readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmV0JunctionNetworkId (50) */
+  /** @name XcmV0JunctionNetworkId (52) */
   interface XcmV0JunctionNetworkId extends Enum {
     readonly isAny: boolean;
     readonly isNamed: boolean;
@@ -462,7 +508,7 @@
     readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';
   }
 
-  /** @name XcmV0JunctionBodyId (53) */
+  /** @name XcmV0JunctionBodyId (55) */
   interface XcmV0JunctionBodyId extends Enum {
     readonly isUnit: boolean;
     readonly isNamed: boolean;
@@ -473,10 +519,13 @@
     readonly isTechnical: boolean;
     readonly isLegislative: boolean;
     readonly isJudicial: boolean;
-    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';
+    readonly isDefense: boolean;
+    readonly isAdministration: boolean;
+    readonly isTreasury: boolean;
+    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury';
   }
 
-  /** @name XcmV0JunctionBodyPart (54) */
+  /** @name XcmV0JunctionBodyPart (56) */
   interface XcmV0JunctionBodyPart extends Enum {
     readonly isVoice: boolean;
     readonly isMembers: boolean;
@@ -501,7 +550,7 @@
     readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
   }
 
-  /** @name XcmV1MultiassetFungibility (55) */
+  /** @name XcmV1MultiassetFungibility (57) */
   interface XcmV1MultiassetFungibility extends Enum {
     readonly isFungible: boolean;
     readonly asFungible: Compact<u128>;
@@ -510,7 +559,7 @@
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV1MultiassetAssetInstance (56) */
+  /** @name XcmV1MultiassetAssetInstance (58) */
   interface XcmV1MultiassetAssetInstance extends Enum {
     readonly isUndefined: boolean;
     readonly isIndex: boolean;
@@ -528,7 +577,7 @@
     readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
   }
 
-  /** @name OrmlTokensModuleEvent (59) */
+  /** @name OrmlTokensModuleEvent (61) */
   interface OrmlTokensModuleEvent extends Enum {
     readonly isEndowed: boolean;
     readonly asEndowed: {
@@ -616,7 +665,7 @@
     readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';
   }
 
-  /** @name PalletForeignAssetsAssetIds (60) */
+  /** @name PalletForeignAssetsAssetIds (62) */
   interface PalletForeignAssetsAssetIds extends Enum {
     readonly isForeignAssetId: boolean;
     readonly asForeignAssetId: u32;
@@ -625,14 +674,99 @@
     readonly type: 'ForeignAssetId' | 'NativeAssetId';
   }
 
-  /** @name PalletForeignAssetsNativeCurrency (61) */
+  /** @name PalletForeignAssetsNativeCurrency (63) */
   interface PalletForeignAssetsNativeCurrency extends Enum {
     readonly isHere: boolean;
     readonly isParent: boolean;
     readonly type: 'Here' | 'Parent';
   }
 
-  /** @name CumulusPalletXcmpQueueEvent (62) */
+  /** @name PalletIdentityEvent (64) */
+  interface PalletIdentityEvent extends Enum {
+    readonly isIdentitySet: boolean;
+    readonly asIdentitySet: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly isIdentityCleared: boolean;
+    readonly asIdentityCleared: {
+      readonly who: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isIdentityKilled: boolean;
+    readonly asIdentityKilled: {
+      readonly who: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isIdentitiesInserted: boolean;
+    readonly asIdentitiesInserted: {
+      readonly amount: u32;
+    } & Struct;
+    readonly isIdentitiesRemoved: boolean;
+    readonly asIdentitiesRemoved: {
+      readonly amount: u32;
+    } & Struct;
+    readonly isJudgementRequested: boolean;
+    readonly asJudgementRequested: {
+      readonly who: AccountId32;
+      readonly registrarIndex: u32;
+    } & Struct;
+    readonly isJudgementUnrequested: boolean;
+    readonly asJudgementUnrequested: {
+      readonly who: AccountId32;
+      readonly registrarIndex: u32;
+    } & Struct;
+    readonly isJudgementGiven: boolean;
+    readonly asJudgementGiven: {
+      readonly target: AccountId32;
+      readonly registrarIndex: u32;
+    } & Struct;
+    readonly isRegistrarAdded: boolean;
+    readonly asRegistrarAdded: {
+      readonly registrarIndex: u32;
+    } & Struct;
+    readonly isSubIdentityAdded: boolean;
+    readonly asSubIdentityAdded: {
+      readonly sub: AccountId32;
+      readonly main: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isSubIdentityRemoved: boolean;
+    readonly asSubIdentityRemoved: {
+      readonly sub: AccountId32;
+      readonly main: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isSubIdentityRevoked: boolean;
+    readonly asSubIdentityRevoked: {
+      readonly sub: AccountId32;
+      readonly main: AccountId32;
+      readonly deposit: u128;
+    } & Struct;
+    readonly isSubIdentitiesInserted: boolean;
+    readonly asSubIdentitiesInserted: {
+      readonly amount: u32;
+    } & Struct;
+    readonly type: 'IdentitySet' | 'IdentityCleared' | 'IdentityKilled' | 'IdentitiesInserted' | 'IdentitiesRemoved' | 'JudgementRequested' | 'JudgementUnrequested' | 'JudgementGiven' | 'RegistrarAdded' | 'SubIdentityAdded' | 'SubIdentityRemoved' | 'SubIdentityRevoked' | 'SubIdentitiesInserted';
+  }
+
+  /** @name PalletPreimageEvent (65) */
+  interface PalletPreimageEvent extends Enum {
+    readonly isNoted: boolean;
+    readonly asNoted: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly isRequested: boolean;
+    readonly asRequested: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly isCleared: boolean;
+    readonly asCleared: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly type: 'Noted' | 'Requested' | 'Cleared';
+  }
+
+  /** @name CumulusPalletXcmpQueueEvent (66) */
   interface CumulusPalletXcmpQueueEvent extends Enum {
     readonly isSuccess: boolean;
     readonly asSuccess: {
@@ -676,7 +810,7 @@
     readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name XcmV2TraitsError (64) */
+  /** @name XcmV2TraitsError (68) */
   interface XcmV2TraitsError extends Enum {
     readonly isOverflow: boolean;
     readonly isUnimplemented: boolean;
@@ -709,7 +843,7 @@
     readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';
   }
 
-  /** @name PalletXcmEvent (66) */
+  /** @name PalletXcmEvent (70) */
   interface PalletXcmEvent extends Enum {
     readonly isAttempted: boolean;
     readonly asAttempted: XcmV2TraitsOutcome;
@@ -748,7 +882,7 @@
     readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';
   }
 
-  /** @name XcmV2TraitsOutcome (67) */
+  /** @name XcmV2TraitsOutcome (71) */
   interface XcmV2TraitsOutcome extends Enum {
     readonly isComplete: boolean;
     readonly asComplete: u64;
@@ -759,10 +893,10 @@
     readonly type: 'Complete' | 'Incomplete' | 'Error';
   }
 
-  /** @name XcmV2Xcm (68) */
+  /** @name XcmV2Xcm (72) */
   interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
 
-  /** @name XcmV2Instruction (70) */
+  /** @name XcmV2Instruction (74) */
   interface XcmV2Instruction extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;
@@ -882,7 +1016,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV2Response (71) */
+  /** @name XcmV2Response (75) */
   interface XcmV2Response extends Enum {
     readonly isNull: boolean;
     readonly isAssets: boolean;
@@ -894,7 +1028,7 @@
     readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
   }
 
-  /** @name XcmV0OriginKind (74) */
+  /** @name XcmV0OriginKind (78) */
   interface XcmV0OriginKind extends Enum {
     readonly isNative: boolean;
     readonly isSovereignAccount: boolean;
@@ -903,12 +1037,12 @@
     readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';
   }
 
-  /** @name XcmDoubleEncoded (75) */
+  /** @name XcmDoubleEncoded (79) */
   interface XcmDoubleEncoded extends Struct {
     readonly encoded: Bytes;
   }
 
-  /** @name XcmV1MultiassetMultiAssetFilter (76) */
+  /** @name XcmV1MultiassetMultiAssetFilter (80) */
   interface XcmV1MultiassetMultiAssetFilter extends Enum {
     readonly isDefinite: boolean;
     readonly asDefinite: XcmV1MultiassetMultiAssets;
@@ -917,7 +1051,7 @@
     readonly type: 'Definite' | 'Wild';
   }
 
-  /** @name XcmV1MultiassetWildMultiAsset (77) */
+  /** @name XcmV1MultiassetWildMultiAsset (81) */
   interface XcmV1MultiassetWildMultiAsset extends Enum {
     readonly isAll: boolean;
     readonly isAllOf: boolean;
@@ -928,14 +1062,14 @@
     readonly type: 'All' | 'AllOf';
   }
 
-  /** @name XcmV1MultiassetWildFungibility (78) */
+  /** @name XcmV1MultiassetWildFungibility (82) */
   interface XcmV1MultiassetWildFungibility extends Enum {
     readonly isFungible: boolean;
     readonly isNonFungible: boolean;
     readonly type: 'Fungible' | 'NonFungible';
   }
 
-  /** @name XcmV2WeightLimit (79) */
+  /** @name XcmV2WeightLimit (83) */
   interface XcmV2WeightLimit extends Enum {
     readonly isUnlimited: boolean;
     readonly isLimited: boolean;
@@ -943,7 +1077,7 @@
     readonly type: 'Unlimited' | 'Limited';
   }
 
-  /** @name XcmVersionedMultiAssets (81) */
+  /** @name XcmVersionedMultiAssets (85) */
   interface XcmVersionedMultiAssets extends Enum {
     readonly isV0: boolean;
     readonly asV0: Vec<XcmV0MultiAsset>;
@@ -952,7 +1086,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name XcmV0MultiAsset (83) */
+  /** @name XcmV0MultiAsset (87) */
   interface XcmV0MultiAsset extends Enum {
     readonly isNone: boolean;
     readonly isAll: boolean;
@@ -997,7 +1131,7 @@
     readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';
   }
 
-  /** @name XcmV0MultiLocation (84) */
+  /** @name XcmV0MultiLocation (88) */
   interface XcmV0MultiLocation extends Enum {
     readonly isNull: boolean;
     readonly isX1: boolean;
@@ -1019,7 +1153,7 @@
     readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';
   }
 
-  /** @name XcmV0Junction (85) */
+  /** @name XcmV0Junction (89) */
   interface XcmV0Junction extends Enum {
     readonly isParent: boolean;
     readonly isParachain: boolean;
@@ -1054,7 +1188,7 @@
     readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
   }
 
-  /** @name XcmVersionedMultiLocation (86) */
+  /** @name XcmVersionedMultiLocation (90) */
   interface XcmVersionedMultiLocation extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiLocation;
@@ -1063,7 +1197,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name CumulusPalletXcmEvent (87) */
+  /** @name CumulusPalletXcmEvent (91) */
   interface CumulusPalletXcmEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: U8aFixed;
@@ -1074,7 +1208,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
   }
 
-  /** @name CumulusPalletDmpQueueEvent (88) */
+  /** @name CumulusPalletDmpQueueEvent (92) */
   interface CumulusPalletDmpQueueEvent extends Enum {
     readonly isInvalidFormat: boolean;
     readonly asInvalidFormat: {
@@ -1109,7 +1243,7 @@
     readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';
   }
 
-  /** @name PalletConfigurationEvent (89) */
+  /** @name PalletConfigurationEvent (93) */
   interface PalletConfigurationEvent extends Enum {
     readonly isNewDesiredCollators: boolean;
     readonly asNewDesiredCollators: {
@@ -1126,7 +1260,7 @@
     readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';
   }
 
-  /** @name PalletCommonEvent (92) */
+  /** @name PalletCommonEvent (96) */
   interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -1175,7 +1309,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';
   }
 
-  /** @name PalletEvmAccountBasicCrossAccountIdRepr (95) */
+  /** @name PalletEvmAccountBasicCrossAccountIdRepr (99) */
   interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
     readonly isSubstrate: boolean;
     readonly asSubstrate: AccountId32;
@@ -1184,128 +1318,14 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name PalletStructureEvent (99) */
+  /** @name PalletStructureEvent (103) */
   interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletRmrkCoreEvent (100) */
-  interface PalletRmrkCoreEvent extends Enum {
-    readonly isCollectionCreated: boolean;
-    readonly asCollectionCreated: {
-      readonly issuer: AccountId32;
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isCollectionDestroyed: boolean;
-    readonly asCollectionDestroyed: {
-      readonly issuer: AccountId32;
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isIssuerChanged: boolean;
-    readonly asIssuerChanged: {
-      readonly oldIssuer: AccountId32;
-      readonly newIssuer: AccountId32;
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isCollectionLocked: boolean;
-    readonly asCollectionLocked: {
-      readonly issuer: AccountId32;
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isNftMinted: boolean;
-    readonly asNftMinted: {
-      readonly owner: AccountId32;
-      readonly collectionId: u32;
-      readonly nftId: u32;
-    } & Struct;
-    readonly isNftBurned: boolean;
-    readonly asNftBurned: {
-      readonly owner: AccountId32;
-      readonly nftId: u32;
-    } & Struct;
-    readonly isNftSent: boolean;
-    readonly asNftSent: {
-      readonly sender: AccountId32;
-      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-      readonly collectionId: u32;
-      readonly nftId: u32;
-      readonly approvalRequired: bool;
-    } & Struct;
-    readonly isNftAccepted: boolean;
-    readonly asNftAccepted: {
-      readonly sender: AccountId32;
-      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-      readonly collectionId: u32;
-      readonly nftId: u32;
-    } & Struct;
-    readonly isNftRejected: boolean;
-    readonly asNftRejected: {
-      readonly sender: AccountId32;
-      readonly collectionId: u32;
-      readonly nftId: u32;
-    } & Struct;
-    readonly isPropertySet: boolean;
-    readonly asPropertySet: {
-      readonly collectionId: u32;
-      readonly maybeNftId: Option<u32>;
-      readonly key: Bytes;
-      readonly value: Bytes;
-    } & Struct;
-    readonly isResourceAdded: boolean;
-    readonly asResourceAdded: {
-      readonly nftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isResourceRemoval: boolean;
-    readonly asResourceRemoval: {
-      readonly nftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isResourceAccepted: boolean;
-    readonly asResourceAccepted: {
-      readonly nftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isResourceRemovalAccepted: boolean;
-    readonly asResourceRemovalAccepted: {
-      readonly nftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isPrioritySet: boolean;
-    readonly asPrioritySet: {
-      readonly collectionId: u32;
-      readonly nftId: u32;
-    } & Struct;
-    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
-  }
-
-  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */
-  interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
-    readonly isAccountId: boolean;
-    readonly asAccountId: AccountId32;
-    readonly isCollectionAndNftTuple: boolean;
-    readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;
-    readonly type: 'AccountId' | 'CollectionAndNftTuple';
-  }
-
-  /** @name PalletRmrkEquipEvent (104) */
-  interface PalletRmrkEquipEvent extends Enum {
-    readonly isBaseCreated: boolean;
-    readonly asBaseCreated: {
-      readonly issuer: AccountId32;
-      readonly baseId: u32;
-    } & Struct;
-    readonly isEquippablesUpdated: boolean;
-    readonly asEquippablesUpdated: {
-      readonly baseId: u32;
-      readonly slotId: u32;
-    } & Struct;
-    readonly type: 'BaseCreated' | 'EquippablesUpdated';
-  }
-
-  /** @name PalletAppPromotionEvent (105) */
+  /** @name PalletAppPromotionEvent (104) */
   interface PalletAppPromotionEvent extends Enum {
     readonly isStakingRecalculation: boolean;
     readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
@@ -1318,7 +1338,7 @@
     readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
   }
 
-  /** @name PalletForeignAssetsModuleEvent (106) */
+  /** @name PalletForeignAssetsModuleEvent (105) */
   interface PalletForeignAssetsModuleEvent extends Enum {
     readonly isForeignAssetRegistered: boolean;
     readonly asForeignAssetRegistered: {
@@ -1345,7 +1365,7 @@
     readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
   }
 
-  /** @name PalletForeignAssetsModuleAssetMetadata (107) */
+  /** @name PalletForeignAssetsModuleAssetMetadata (106) */
   interface PalletForeignAssetsModuleAssetMetadata extends Struct {
     readonly name: Bytes;
     readonly symbol: Bytes;
@@ -1353,7 +1373,7 @@
     readonly minimalBalance: u128;
   }
 
-  /** @name PalletEvmEvent (108) */
+  /** @name PalletEvmEvent (107) */
   interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: {
@@ -1378,14 +1398,14 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
   }
 
-  /** @name EthereumLog (109) */
+  /** @name EthereumLog (108) */
   interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (111) */
+  /** @name PalletEthereumEvent (110) */
   interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: {
@@ -1397,7 +1417,7 @@
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (112) */
+  /** @name EvmCoreErrorExitReason (111) */
   interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -1410,7 +1430,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (113) */
+  /** @name EvmCoreErrorExitSucceed (112) */
   interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -1418,7 +1438,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (114) */
+  /** @name EvmCoreErrorExitError (113) */
   interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -1436,6 +1456,7 @@
     readonly isOther: boolean;
     readonly asOther: Text;
     readonly isInvalidCode: boolean;
+    readonly asInvalidCode: u8;
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
@@ -1714,14 +1735,130 @@
     readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
   }
 
-  /** @name PalletBalancesBalanceLock (172) */
+  /** @name PalletAuthorshipUncleEntryItem (172) */
+  interface PalletAuthorshipUncleEntryItem extends Enum {
+    readonly isInclusionHeight: boolean;
+    readonly asInclusionHeight: u32;
+    readonly isUncle: boolean;
+    readonly asUncle: ITuple<[H256, Option<AccountId32>]>;
+    readonly type: 'InclusionHeight' | 'Uncle';
+  }
+
+  /** @name PalletAuthorshipCall (174) */
+  interface PalletAuthorshipCall extends Enum {
+    readonly isSetUncles: boolean;
+    readonly asSetUncles: {
+      readonly newUncles: Vec<SpRuntimeHeader>;
+    } & Struct;
+    readonly type: 'SetUncles';
+  }
+
+  /** @name SpRuntimeHeader (176) */
+  interface SpRuntimeHeader extends Struct {
+    readonly parentHash: H256;
+    readonly number: Compact<u32>;
+    readonly stateRoot: H256;
+    readonly extrinsicsRoot: H256;
+    readonly digest: SpRuntimeDigest;
+  }
+
+  /** @name SpRuntimeBlakeTwo256 (177) */
+  type SpRuntimeBlakeTwo256 = Null;
+
+  /** @name PalletAuthorshipError (178) */
+  interface PalletAuthorshipError extends Enum {
+    readonly isInvalidUncleParent: boolean;
+    readonly isUnclesAlreadySet: boolean;
+    readonly isTooManyUncles: boolean;
+    readonly isGenesisUncle: boolean;
+    readonly isTooHighUncle: boolean;
+    readonly isUncleAlreadyIncluded: boolean;
+    readonly isOldUncle: boolean;
+    readonly type: 'InvalidUncleParent' | 'UnclesAlreadySet' | 'TooManyUncles' | 'GenesisUncle' | 'TooHighUncle' | 'UncleAlreadyIncluded' | 'OldUncle';
+  }
+
+  /** @name PalletCollatorSelectionCall (181) */
+  interface PalletCollatorSelectionCall extends Enum {
+    readonly isAddInvulnerable: boolean;
+    readonly asAddInvulnerable: {
+      readonly new_: AccountId32;
+    } & Struct;
+    readonly isRemoveInvulnerable: boolean;
+    readonly asRemoveInvulnerable: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly isGetLicense: boolean;
+    readonly isOnboard: boolean;
+    readonly isOffboard: boolean;
+    readonly isReleaseLicense: boolean;
+    readonly isForceReleaseLicense: boolean;
+    readonly asForceReleaseLicense: {
+      readonly who: AccountId32;
+    } & Struct;
+    readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';
+  }
+
+  /** @name PalletCollatorSelectionError (182) */
+  interface PalletCollatorSelectionError extends Enum {
+    readonly isTooManyCandidates: boolean;
+    readonly isUnknown: boolean;
+    readonly isPermission: boolean;
+    readonly isAlreadyHoldingLicense: boolean;
+    readonly isNoLicense: boolean;
+    readonly isAlreadyCandidate: boolean;
+    readonly isNotCandidate: boolean;
+    readonly isTooManyInvulnerables: boolean;
+    readonly isTooFewInvulnerables: boolean;
+    readonly isAlreadyInvulnerable: boolean;
+    readonly isNotInvulnerable: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isValidatorNotRegistered: boolean;
+    readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered';
+  }
+
+  /** @name OpalRuntimeRuntimeCommonSessionKeys (185) */
+  interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
+    readonly aura: SpConsensusAuraSr25519AppSr25519Public;
+  }
+
+  /** @name SpConsensusAuraSr25519AppSr25519Public (186) */
+  interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
+
+  /** @name SpCoreSr25519Public (187) */
+  interface SpCoreSr25519Public extends U8aFixed {}
+
+  /** @name SpCoreCryptoKeyTypeId (190) */
+  interface SpCoreCryptoKeyTypeId extends U8aFixed {}
+
+  /** @name PalletSessionCall (191) */
+  interface PalletSessionCall extends Enum {
+    readonly isSetKeys: boolean;
+    readonly asSetKeys: {
+      readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
+      readonly proof: Bytes;
+    } & Struct;
+    readonly isPurgeKeys: boolean;
+    readonly type: 'SetKeys' | 'PurgeKeys';
+  }
+
+  /** @name PalletSessionError (192) */
+  interface PalletSessionError extends Enum {
+    readonly isInvalidProof: boolean;
+    readonly isNoAssociatedValidatorId: boolean;
+    readonly isDuplicatedKey: boolean;
+    readonly isNoKeys: boolean;
+    readonly isNoAccount: boolean;
+    readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount';
+  }
+
+  /** @name PalletBalancesBalanceLock (194) */
   interface PalletBalancesBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
     readonly reasons: PalletBalancesReasons;
   }
 
-  /** @name PalletBalancesReasons (173) */
+  /** @name PalletBalancesReasons (195) */
   interface PalletBalancesReasons extends Enum {
     readonly isFee: boolean;
     readonly isMisc: boolean;
@@ -1729,13 +1866,13 @@
     readonly type: 'Fee' | 'Misc' | 'All';
   }
 
-  /** @name PalletBalancesReserveData (176) */
+  /** @name PalletBalancesReserveData (198) */
   interface PalletBalancesReserveData extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name PalletBalancesCall (178) */
+  /** @name PalletBalancesCall (200) */
   interface PalletBalancesCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1772,7 +1909,7 @@
     readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
   }
 
-  /** @name PalletBalancesError (181) */
+  /** @name PalletBalancesError (203) */
   interface PalletBalancesError extends Enum {
     readonly isVestingBalance: boolean;
     readonly isLiquidityRestrictions: boolean;
@@ -1785,7 +1922,7 @@
     readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name PalletTimestampCall (183) */
+  /** @name PalletTimestampCall (205) */
   interface PalletTimestampCall extends Enum {
     readonly isSet: boolean;
     readonly asSet: {
@@ -1794,14 +1931,14 @@
     readonly type: 'Set';
   }
 
-  /** @name PalletTransactionPaymentReleases (185) */
+  /** @name PalletTransactionPaymentReleases (207) */
   interface PalletTransactionPaymentReleases extends Enum {
     readonly isV1Ancient: boolean;
     readonly isV2: boolean;
     readonly type: 'V1Ancient' | 'V2';
   }
 
-  /** @name PalletTreasuryProposal (186) */
+  /** @name PalletTreasuryProposal (208) */
   interface PalletTreasuryProposal extends Struct {
     readonly proposer: AccountId32;
     readonly value: u128;
@@ -1809,7 +1946,7 @@
     readonly bond: u128;
   }
 
-  /** @name PalletTreasuryCall (189) */
+  /** @name PalletTreasuryCall (210) */
   interface PalletTreasuryCall extends Enum {
     readonly isProposeSpend: boolean;
     readonly asProposeSpend: {
@@ -1836,10 +1973,10 @@
     readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
   }
 
-  /** @name FrameSupportPalletId (191) */
+  /** @name FrameSupportPalletId (212) */
   interface FrameSupportPalletId extends U8aFixed {}
 
-  /** @name PalletTreasuryError (192) */
+  /** @name PalletTreasuryError (213) */
   interface PalletTreasuryError extends Enum {
     readonly isInsufficientProposersBalance: boolean;
     readonly isInvalidIndex: boolean;
@@ -1849,7 +1986,7 @@
     readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
   }
 
-  /** @name PalletSudoCall (193) */
+  /** @name PalletSudoCall (214) */
   interface PalletSudoCall extends Enum {
     readonly isSudo: boolean;
     readonly asSudo: {
@@ -1872,7 +2009,7 @@
     readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
   }
 
-  /** @name OrmlVestingModuleCall (195) */
+  /** @name OrmlVestingModuleCall (216) */
   interface OrmlVestingModuleCall extends Enum {
     readonly isClaim: boolean;
     readonly isVestedTransfer: boolean;
@@ -1892,7 +2029,7 @@
     readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
   }
 
-  /** @name OrmlXtokensModuleCall (197) */
+  /** @name OrmlXtokensModuleCall (218) */
   interface OrmlXtokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1939,7 +2076,7 @@
     readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
   }
 
-  /** @name XcmVersionedMultiAsset (198) */
+  /** @name XcmVersionedMultiAsset (219) */
   interface XcmVersionedMultiAsset extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiAsset;
@@ -1948,7 +2085,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name OrmlTokensModuleCall (201) */
+  /** @name OrmlTokensModuleCall (222) */
   interface OrmlTokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1985,7 +2122,166 @@
     readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
   }
 
-  /** @name CumulusPalletXcmpQueueCall (202) */
+  /** @name PalletIdentityCall (223) */
+  interface PalletIdentityCall extends Enum {
+    readonly isAddRegistrar: boolean;
+    readonly asAddRegistrar: {
+      readonly account: MultiAddress;
+    } & Struct;
+    readonly isSetIdentity: boolean;
+    readonly asSetIdentity: {
+      readonly info: PalletIdentityIdentityInfo;
+    } & Struct;
+    readonly isSetSubs: boolean;
+    readonly asSetSubs: {
+      readonly subs: Vec<ITuple<[AccountId32, Data]>>;
+    } & Struct;
+    readonly isClearIdentity: boolean;
+    readonly isRequestJudgement: boolean;
+    readonly asRequestJudgement: {
+      readonly regIndex: Compact<u32>;
+      readonly maxFee: Compact<u128>;
+    } & Struct;
+    readonly isCancelRequest: boolean;
+    readonly asCancelRequest: {
+      readonly regIndex: u32;
+    } & Struct;
+    readonly isSetFee: boolean;
+    readonly asSetFee: {
+      readonly index: Compact<u32>;
+      readonly fee: Compact<u128>;
+    } & Struct;
+    readonly isSetAccountId: boolean;
+    readonly asSetAccountId: {
+      readonly index: Compact<u32>;
+      readonly new_: MultiAddress;
+    } & Struct;
+    readonly isSetFields: boolean;
+    readonly asSetFields: {
+      readonly index: Compact<u32>;
+      readonly fields: PalletIdentityBitFlags;
+    } & Struct;
+    readonly isProvideJudgement: boolean;
+    readonly asProvideJudgement: {
+      readonly regIndex: Compact<u32>;
+      readonly target: MultiAddress;
+      readonly judgement: PalletIdentityJudgement;
+      readonly identity: H256;
+    } & Struct;
+    readonly isKillIdentity: boolean;
+    readonly asKillIdentity: {
+      readonly target: MultiAddress;
+    } & Struct;
+    readonly isAddSub: boolean;
+    readonly asAddSub: {
+      readonly sub: MultiAddress;
+      readonly data: Data;
+    } & Struct;
+    readonly isRenameSub: boolean;
+    readonly asRenameSub: {
+      readonly sub: MultiAddress;
+      readonly data: Data;
+    } & Struct;
+    readonly isRemoveSub: boolean;
+    readonly asRemoveSub: {
+      readonly sub: MultiAddress;
+    } & Struct;
+    readonly isQuitSub: boolean;
+    readonly isForceInsertIdentities: boolean;
+    readonly asForceInsertIdentities: {
+      readonly identities: Vec<ITuple<[AccountId32, PalletIdentityRegistration]>>;
+    } & Struct;
+    readonly isForceRemoveIdentities: boolean;
+    readonly asForceRemoveIdentities: {
+      readonly identities: Vec<AccountId32>;
+    } & Struct;
+    readonly isForceSetSubs: boolean;
+    readonly asForceSetSubs: {
+      readonly subs: Vec<ITuple<[AccountId32, ITuple<[u128, Vec<ITuple<[AccountId32, Data]>>]>]>>;
+    } & Struct;
+    readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';
+  }
+
+  /** @name PalletIdentityIdentityInfo (224) */
+  interface PalletIdentityIdentityInfo extends Struct {
+    readonly additional: Vec<ITuple<[Data, Data]>>;
+    readonly display: Data;
+    readonly legal: Data;
+    readonly web: Data;
+    readonly riot: Data;
+    readonly email: Data;
+    readonly pgpFingerprint: Option<U8aFixed>;
+    readonly image: Data;
+    readonly twitter: Data;
+  }
+
+  /** @name PalletIdentityBitFlags (260) */
+  interface PalletIdentityBitFlags extends Set {
+    readonly isDisplay: boolean;
+    readonly isLegal: boolean;
+    readonly isWeb: boolean;
+    readonly isRiot: boolean;
+    readonly isEmail: boolean;
+    readonly isPgpFingerprint: boolean;
+    readonly isImage: boolean;
+    readonly isTwitter: boolean;
+  }
+
+  /** @name PalletIdentityIdentityField (261) */
+  interface PalletIdentityIdentityField extends Enum {
+    readonly isDisplay: boolean;
+    readonly isLegal: boolean;
+    readonly isWeb: boolean;
+    readonly isRiot: boolean;
+    readonly isEmail: boolean;
+    readonly isPgpFingerprint: boolean;
+    readonly isImage: boolean;
+    readonly isTwitter: boolean;
+    readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';
+  }
+
+  /** @name PalletIdentityJudgement (262) */
+  interface PalletIdentityJudgement extends Enum {
+    readonly isUnknown: boolean;
+    readonly isFeePaid: boolean;
+    readonly asFeePaid: u128;
+    readonly isReasonable: boolean;
+    readonly isKnownGood: boolean;
+    readonly isOutOfDate: boolean;
+    readonly isLowQuality: boolean;
+    readonly isErroneous: boolean;
+    readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';
+  }
+
+  /** @name PalletIdentityRegistration (265) */
+  interface PalletIdentityRegistration extends Struct {
+    readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;
+    readonly deposit: u128;
+    readonly info: PalletIdentityIdentityInfo;
+  }
+
+  /** @name PalletPreimageCall (273) */
+  interface PalletPreimageCall extends Enum {
+    readonly isNotePreimage: boolean;
+    readonly asNotePreimage: {
+      readonly bytes: Bytes;
+    } & Struct;
+    readonly isUnnotePreimage: boolean;
+    readonly asUnnotePreimage: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly isRequestPreimage: boolean;
+    readonly asRequestPreimage: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly isUnrequestPreimage: boolean;
+    readonly asUnrequestPreimage: {
+      readonly hash_: H256;
+    } & Struct;
+    readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';
+  }
+
+  /** @name CumulusPalletXcmpQueueCall (274) */
   interface CumulusPalletXcmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2021,7 +2317,7 @@
     readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
   }
 
-  /** @name PalletXcmCall (203) */
+  /** @name PalletXcmCall (275) */
   interface PalletXcmCall extends Enum {
     readonly isSend: boolean;
     readonly asSend: {
@@ -2083,7 +2379,7 @@
     readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
   }
 
-  /** @name XcmVersionedXcm (204) */
+  /** @name XcmVersionedXcm (276) */
   interface XcmVersionedXcm extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0Xcm;
@@ -2094,7 +2390,7 @@
     readonly type: 'V0' | 'V1' | 'V2';
   }
 
-  /** @name XcmV0Xcm (205) */
+  /** @name XcmV0Xcm (277) */
   interface XcmV0Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2157,7 +2453,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
   }
 
-  /** @name XcmV0Order (207) */
+  /** @name XcmV0Order (279) */
   interface XcmV0Order extends Enum {
     readonly isNull: boolean;
     readonly isDepositAsset: boolean;
@@ -2205,14 +2501,14 @@
     readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV0Response (209) */
+  /** @name XcmV0Response (281) */
   interface XcmV0Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: Vec<XcmV0MultiAsset>;
     readonly type: 'Assets';
   }
 
-  /** @name XcmV1Xcm (210) */
+  /** @name XcmV1Xcm (282) */
   interface XcmV1Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2281,7 +2577,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV1Order (212) */
+  /** @name XcmV1Order (284) */
   interface XcmV1Order extends Enum {
     readonly isNoop: boolean;
     readonly isDepositAsset: boolean;
@@ -2331,7 +2627,7 @@
     readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV1Response (214) */
+  /** @name XcmV1Response (286) */
   interface XcmV1Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -2340,10 +2636,10 @@
     readonly type: 'Assets' | 'Version';
   }
 
-  /** @name CumulusPalletXcmCall (228) */
+  /** @name CumulusPalletXcmCall (300) */
   type CumulusPalletXcmCall = Null;
 
-  /** @name CumulusPalletDmpQueueCall (229) */
+  /** @name CumulusPalletDmpQueueCall (301) */
   interface CumulusPalletDmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2353,7 +2649,7 @@
     readonly type: 'ServiceOverweight';
   }
 
-  /** @name PalletInflationCall (230) */
+  /** @name PalletInflationCall (302) */
   interface PalletInflationCall extends Enum {
     readonly isStartInflation: boolean;
     readonly asStartInflation: {
@@ -2362,7 +2658,7 @@
     readonly type: 'StartInflation';
   }
 
-  /** @name PalletUniqueCall (231) */
+  /** @name PalletUniqueCall (303) */
   interface PalletUniqueCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2543,7 +2839,7 @@
     readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
   }
 
-  /** @name UpDataStructsCollectionMode (236) */
+  /** @name UpDataStructsCollectionMode (308) */
   interface UpDataStructsCollectionMode extends Enum {
     readonly isNft: boolean;
     readonly isFungible: boolean;
@@ -2552,7 +2848,7 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateCollectionData (237) */
+  /** @name UpDataStructsCreateCollectionData (309) */
   interface UpDataStructsCreateCollectionData extends Struct {
     readonly mode: UpDataStructsCollectionMode;
     readonly access: Option<UpDataStructsAccessMode>;
@@ -2566,14 +2862,14 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsAccessMode (239) */
+  /** @name UpDataStructsAccessMode (311) */
   interface UpDataStructsAccessMode extends Enum {
     readonly isNormal: boolean;
     readonly isAllowList: boolean;
     readonly type: 'Normal' | 'AllowList';
   }
 
-  /** @name UpDataStructsCollectionLimits (241) */
+  /** @name UpDataStructsCollectionLimits (313) */
   interface UpDataStructsCollectionLimits extends Struct {
     readonly accountTokenOwnershipLimit: Option<u32>;
     readonly sponsoredDataSize: Option<u32>;
@@ -2586,7 +2882,7 @@
     readonly transfersEnabled: Option<bool>;
   }
 
-  /** @name UpDataStructsSponsoringRateLimit (243) */
+  /** @name UpDataStructsSponsoringRateLimit (315) */
   interface UpDataStructsSponsoringRateLimit extends Enum {
     readonly isSponsoringDisabled: boolean;
     readonly isBlocks: boolean;
@@ -2594,43 +2890,43 @@
     readonly type: 'SponsoringDisabled' | 'Blocks';
   }
 
-  /** @name UpDataStructsCollectionPermissions (246) */
+  /** @name UpDataStructsCollectionPermissions (318) */
   interface UpDataStructsCollectionPermissions extends Struct {
     readonly access: Option<UpDataStructsAccessMode>;
     readonly mintMode: Option<bool>;
     readonly nesting: Option<UpDataStructsNestingPermissions>;
   }
 
-  /** @name UpDataStructsNestingPermissions (248) */
+  /** @name UpDataStructsNestingPermissions (320) */
   interface UpDataStructsNestingPermissions extends Struct {
     readonly tokenOwner: bool;
     readonly collectionAdmin: bool;
     readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
   }
 
-  /** @name UpDataStructsOwnerRestrictedSet (250) */
+  /** @name UpDataStructsOwnerRestrictedSet (322) */
   interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
 
-  /** @name UpDataStructsPropertyKeyPermission (255) */
+  /** @name UpDataStructsPropertyKeyPermission (327) */
   interface UpDataStructsPropertyKeyPermission extends Struct {
     readonly key: Bytes;
     readonly permission: UpDataStructsPropertyPermission;
   }
 
-  /** @name UpDataStructsPropertyPermission (256) */
+  /** @name UpDataStructsPropertyPermission (328) */
   interface UpDataStructsPropertyPermission extends Struct {
     readonly mutable: bool;
     readonly collectionAdmin: bool;
     readonly tokenOwner: bool;
   }
 
-  /** @name UpDataStructsProperty (259) */
+  /** @name UpDataStructsProperty (331) */
   interface UpDataStructsProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsCreateItemData (262) */
+  /** @name UpDataStructsCreateItemData (334) */
   interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -2641,23 +2937,23 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (263) */
+  /** @name UpDataStructsCreateNftData (335) */
   interface UpDataStructsCreateNftData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (264) */
+  /** @name UpDataStructsCreateFungibleData (336) */
   interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (265) */
+  /** @name UpDataStructsCreateReFungibleData (337) */
   interface UpDataStructsCreateReFungibleData extends Struct {
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateItemExData (268) */
+  /** @name UpDataStructsCreateItemExData (340) */
   interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -2670,26 +2966,26 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (270) */
+  /** @name UpDataStructsCreateNftExData (342) */
   interface UpDataStructsCreateNftExData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExSingleOwner (277) */
+  /** @name UpDataStructsCreateRefungibleExSingleOwner (349) */
   interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
     readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateRefungibleExMultipleOwners (279) */
+  /** @name UpDataStructsCreateRefungibleExMultipleOwners (351) */
   interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
     readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name PalletConfigurationCall (280) */
+  /** @name PalletConfigurationCall (352) */
   interface PalletConfigurationCall extends Enum {
     readonly isSetWeightToFeeCoefficientOverride: boolean;
     readonly asSetWeightToFeeCoefficientOverride: {
@@ -2722,7 +3018,7 @@
     readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';
   }
 
-  /** @name PalletConfigurationAppPromotionConfiguration (285) */
+  /** @name PalletConfigurationAppPromotionConfiguration (357) */
   interface PalletConfigurationAppPromotionConfiguration extends Struct {
     readonly recalculationInterval: Option<u32>;
     readonly pendingInterval: Option<u32>;
@@ -2730,226 +3026,13 @@
     readonly maxStakersPerCalculation: Option<u8>;
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (289) */
+  /** @name PalletTemplateTransactionPaymentCall (361) */
   type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletStructureCall (290) */
+  /** @name PalletStructureCall (362) */
   type PalletStructureCall = Null;
 
-  /** @name PalletRmrkCoreCall (291) */
-  interface PalletRmrkCoreCall extends Enum {
-    readonly isCreateCollection: boolean;
-    readonly asCreateCollection: {
-      readonly metadata: Bytes;
-      readonly max: Option<u32>;
-      readonly symbol: Bytes;
-    } & Struct;
-    readonly isDestroyCollection: boolean;
-    readonly asDestroyCollection: {
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isChangeCollectionIssuer: boolean;
-    readonly asChangeCollectionIssuer: {
-      readonly collectionId: u32;
-      readonly newIssuer: MultiAddress;
-    } & Struct;
-    readonly isLockCollection: boolean;
-    readonly asLockCollection: {
-      readonly collectionId: u32;
-    } & Struct;
-    readonly isMintNft: boolean;
-    readonly asMintNft: {
-      readonly owner: Option<AccountId32>;
-      readonly collectionId: u32;
-      readonly recipient: Option<AccountId32>;
-      readonly royaltyAmount: Option<Permill>;
-      readonly metadata: Bytes;
-      readonly transferable: bool;
-      readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;
-    } & Struct;
-    readonly isBurnNft: boolean;
-    readonly asBurnNft: {
-      readonly collectionId: u32;
-      readonly nftId: u32;
-      readonly maxBurns: u32;
-    } & Struct;
-    readonly isSend: boolean;
-    readonly asSend: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    } & Struct;
-    readonly isAcceptNft: boolean;
-    readonly asAcceptNft: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    } & Struct;
-    readonly isRejectNft: boolean;
-    readonly asRejectNft: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-    } & Struct;
-    readonly isAcceptResource: boolean;
-    readonly asAcceptResource: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isAcceptResourceRemoval: boolean;
-    readonly asAcceptResourceRemoval: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly isSetProperty: boolean;
-    readonly asSetProperty: {
-      readonly rmrkCollectionId: Compact<u32>;
-      readonly maybeNftId: Option<u32>;
-      readonly key: Bytes;
-      readonly value: Bytes;
-    } & Struct;
-    readonly isSetPriority: boolean;
-    readonly asSetPriority: {
-      readonly rmrkCollectionId: u32;
-      readonly rmrkNftId: u32;
-      readonly priorities: Vec<u32>;
-    } & Struct;
-    readonly isAddBasicResource: boolean;
-    readonly asAddBasicResource: {
-      readonly rmrkCollectionId: u32;
-      readonly nftId: u32;
-      readonly resource: RmrkTraitsResourceBasicResource;
-    } & Struct;
-    readonly isAddComposableResource: boolean;
-    readonly asAddComposableResource: {
-      readonly rmrkCollectionId: u32;
-      readonly nftId: u32;
-      readonly resource: RmrkTraitsResourceComposableResource;
-    } & Struct;
-    readonly isAddSlotResource: boolean;
-    readonly asAddSlotResource: {
-      readonly rmrkCollectionId: u32;
-      readonly nftId: u32;
-      readonly resource: RmrkTraitsResourceSlotResource;
-    } & Struct;
-    readonly isRemoveResource: boolean;
-    readonly asRemoveResource: {
-      readonly rmrkCollectionId: u32;
-      readonly nftId: u32;
-      readonly resourceId: u32;
-    } & Struct;
-    readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
-  }
-
-  /** @name RmrkTraitsResourceResourceTypes (297) */
-  interface RmrkTraitsResourceResourceTypes extends Enum {
-    readonly isBasic: boolean;
-    readonly asBasic: RmrkTraitsResourceBasicResource;
-    readonly isComposable: boolean;
-    readonly asComposable: RmrkTraitsResourceComposableResource;
-    readonly isSlot: boolean;
-    readonly asSlot: RmrkTraitsResourceSlotResource;
-    readonly type: 'Basic' | 'Composable' | 'Slot';
-  }
-
-  /** @name RmrkTraitsResourceBasicResource (299) */
-  interface RmrkTraitsResourceBasicResource extends Struct {
-    readonly src: Option<Bytes>;
-    readonly metadata: Option<Bytes>;
-    readonly license: Option<Bytes>;
-    readonly thumb: Option<Bytes>;
-  }
-
-  /** @name RmrkTraitsResourceComposableResource (301) */
-  interface RmrkTraitsResourceComposableResource extends Struct {
-    readonly parts: Vec<u32>;
-    readonly base: u32;
-    readonly src: Option<Bytes>;
-    readonly metadata: Option<Bytes>;
-    readonly license: Option<Bytes>;
-    readonly thumb: Option<Bytes>;
-  }
-
-  /** @name RmrkTraitsResourceSlotResource (302) */
-  interface RmrkTraitsResourceSlotResource extends Struct {
-    readonly base: u32;
-    readonly src: Option<Bytes>;
-    readonly metadata: Option<Bytes>;
-    readonly slot: u32;
-    readonly license: Option<Bytes>;
-    readonly thumb: Option<Bytes>;
-  }
-
-  /** @name PalletRmrkEquipCall (305) */
-  interface PalletRmrkEquipCall extends Enum {
-    readonly isCreateBase: boolean;
-    readonly asCreateBase: {
-      readonly baseType: Bytes;
-      readonly symbol: Bytes;
-      readonly parts: Vec<RmrkTraitsPartPartType>;
-    } & Struct;
-    readonly isThemeAdd: boolean;
-    readonly asThemeAdd: {
-      readonly baseId: u32;
-      readonly theme: RmrkTraitsTheme;
-    } & Struct;
-    readonly isEquippable: boolean;
-    readonly asEquippable: {
-      readonly baseId: u32;
-      readonly slotId: u32;
-      readonly equippables: RmrkTraitsPartEquippableList;
-    } & Struct;
-    readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
-  }
-
-  /** @name RmrkTraitsPartPartType (308) */
-  interface RmrkTraitsPartPartType extends Enum {
-    readonly isFixedPart: boolean;
-    readonly asFixedPart: RmrkTraitsPartFixedPart;
-    readonly isSlotPart: boolean;
-    readonly asSlotPart: RmrkTraitsPartSlotPart;
-    readonly type: 'FixedPart' | 'SlotPart';
-  }
-
-  /** @name RmrkTraitsPartFixedPart (310) */
-  interface RmrkTraitsPartFixedPart extends Struct {
-    readonly id: u32;
-    readonly z: u32;
-    readonly src: Bytes;
-  }
-
-  /** @name RmrkTraitsPartSlotPart (311) */
-  interface RmrkTraitsPartSlotPart extends Struct {
-    readonly id: u32;
-    readonly equippable: RmrkTraitsPartEquippableList;
-    readonly src: Bytes;
-    readonly z: u32;
-  }
-
-  /** @name RmrkTraitsPartEquippableList (312) */
-  interface RmrkTraitsPartEquippableList extends Enum {
-    readonly isAll: boolean;
-    readonly isEmpty: boolean;
-    readonly isCustom: boolean;
-    readonly asCustom: Vec<u32>;
-    readonly type: 'All' | 'Empty' | 'Custom';
-  }
-
-  /** @name RmrkTraitsTheme (314) */
-  interface RmrkTraitsTheme extends Struct {
-    readonly name: Bytes;
-    readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
-    readonly inherit: bool;
-  }
-
-  /** @name RmrkTraitsThemeThemeProperty (316) */
-  interface RmrkTraitsThemeThemeProperty extends Struct {
-    readonly key: Bytes;
-    readonly value: Bytes;
-  }
-
-  /** @name PalletAppPromotionCall (318) */
+  /** @name PalletAppPromotionCall (363) */
   interface PalletAppPromotionCall extends Enum {
     readonly isSetAdminAddress: boolean;
     readonly asSetAdminAddress: {
@@ -2959,7 +3042,7 @@
     readonly asStake: {
       readonly amount: u128;
     } & Struct;
-    readonly isUnstake: boolean;
+    readonly isUnstakeAll: boolean;
     readonly isSponsorCollection: boolean;
     readonly asSponsorCollection: {
       readonly collectionId: u32;
@@ -2980,10 +3063,14 @@
     readonly asPayoutStakers: {
       readonly stakersNumber: Option<u8>;
     } & Struct;
-    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
+    readonly isUnstakePartial: boolean;
+    readonly asUnstakePartial: {
+      readonly amount: u128;
+    } & Struct;
+    readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial';
   }
 
-  /** @name PalletForeignAssetsModuleCall (319) */
+  /** @name PalletForeignAssetsModuleCall (364) */
   interface PalletForeignAssetsModuleCall extends Enum {
     readonly isRegisterForeignAsset: boolean;
     readonly asRegisterForeignAsset: {
@@ -3000,7 +3087,7 @@
     readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
   }
 
-  /** @name PalletEvmCall (320) */
+  /** @name PalletEvmCall (365) */
   interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -3045,7 +3132,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (326) */
+  /** @name PalletEthereumCall (371) */
   interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -3054,7 +3141,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (327) */
+  /** @name EthereumTransactionTransactionV2 (372) */
   interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -3065,7 +3152,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (328) */
+  /** @name EthereumTransactionLegacyTransaction (373) */
   interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -3076,7 +3163,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (329) */
+  /** @name EthereumTransactionTransactionAction (374) */
   interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -3084,14 +3171,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (330) */
+  /** @name EthereumTransactionTransactionSignature (375) */
   interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (332) */
+  /** @name EthereumTransactionEip2930Transaction (377) */
   interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3106,13 +3193,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (334) */
+  /** @name EthereumTransactionAccessListItem (379) */
   interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (335) */
+  /** @name EthereumTransactionEip1559Transaction (380) */
   interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3128,7 +3215,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (336) */
+  /** @name PalletEvmMigrationCall (381) */
   interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -3152,17 +3239,23 @@
     readonly asInsertEvents: {
       readonly events: Vec<Bytes>;
     } & Struct;
-    readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';
+    readonly isRemoveRmrkData: boolean;
+    readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';
   }
 
-  /** @name PalletMaintenanceCall (340) */
+  /** @name PalletMaintenanceCall (385) */
   interface PalletMaintenanceCall extends Enum {
     readonly isEnable: boolean;
     readonly isDisable: boolean;
-    readonly type: 'Enable' | 'Disable';
+    readonly isExecutePreimage: boolean;
+    readonly asExecutePreimage: {
+      readonly hash_: H256;
+      readonly weightBound: SpWeightsWeightV2Weight;
+    } & Struct;
+    readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';
   }
 
-  /** @name PalletTestUtilsCall (341) */
+  /** @name PalletTestUtilsCall (386) */
   interface PalletTestUtilsCall extends Enum {
     readonly isEnable: boolean;
     readonly isSetTestValue: boolean;
@@ -3182,13 +3275,13 @@
     readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
   }
 
-  /** @name PalletSudoError (343) */
+  /** @name PalletSudoError (388) */
   interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name OrmlVestingModuleError (345) */
+  /** @name OrmlVestingModuleError (390) */
   interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -3199,7 +3292,7 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name OrmlXtokensModuleError (346) */
+  /** @name OrmlXtokensModuleError (391) */
   interface OrmlXtokensModuleError extends Enum {
     readonly isAssetHasNoReserve: boolean;
     readonly isNotCrossChainTransfer: boolean;
@@ -3223,26 +3316,26 @@
     readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
   }
 
-  /** @name OrmlTokensBalanceLock (349) */
+  /** @name OrmlTokensBalanceLock (394) */
   interface OrmlTokensBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensAccountData (351) */
+  /** @name OrmlTokensAccountData (396) */
   interface OrmlTokensAccountData extends Struct {
     readonly free: u128;
     readonly reserved: u128;
     readonly frozen: u128;
   }
 
-  /** @name OrmlTokensReserveData (353) */
+  /** @name OrmlTokensReserveData (398) */
   interface OrmlTokensReserveData extends Struct {
     readonly id: Null;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensModuleError (355) */
+  /** @name OrmlTokensModuleError (400) */
   interface OrmlTokensModuleError extends Enum {
     readonly isBalanceTooLow: boolean;
     readonly isAmountIntoBalanceFailed: boolean;
@@ -3255,21 +3348,78 @@
     readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */
+  /** @name PalletIdentityRegistrarInfo (405) */
+  interface PalletIdentityRegistrarInfo extends Struct {
+    readonly account: AccountId32;
+    readonly fee: u128;
+    readonly fields: PalletIdentityBitFlags;
+  }
+
+  /** @name PalletIdentityError (407) */
+  interface PalletIdentityError extends Enum {
+    readonly isTooManySubAccounts: boolean;
+    readonly isNotFound: boolean;
+    readonly isNotNamed: boolean;
+    readonly isEmptyIndex: boolean;
+    readonly isFeeChanged: boolean;
+    readonly isNoIdentity: boolean;
+    readonly isStickyJudgement: boolean;
+    readonly isJudgementGiven: boolean;
+    readonly isInvalidJudgement: boolean;
+    readonly isInvalidIndex: boolean;
+    readonly isInvalidTarget: boolean;
+    readonly isTooManyFields: boolean;
+    readonly isTooManyRegistrars: boolean;
+    readonly isAlreadyClaimed: boolean;
+    readonly isNotSub: boolean;
+    readonly isNotOwned: boolean;
+    readonly isJudgementForDifferentIdentity: boolean;
+    readonly isJudgementPaymentFailed: boolean;
+    readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed';
+  }
+
+  /** @name PalletPreimageRequestStatus (408) */
+  interface PalletPreimageRequestStatus extends Enum {
+    readonly isUnrequested: boolean;
+    readonly asUnrequested: {
+      readonly deposit: ITuple<[AccountId32, u128]>;
+      readonly len: u32;
+    } & Struct;
+    readonly isRequested: boolean;
+    readonly asRequested: {
+      readonly deposit: Option<ITuple<[AccountId32, u128]>>;
+      readonly count: u32;
+      readonly len: Option<u32>;
+    } & Struct;
+    readonly type: 'Unrequested' | 'Requested';
+  }
+
+  /** @name PalletPreimageError (413) */
+  interface PalletPreimageError extends Enum {
+    readonly isTooBig: boolean;
+    readonly isAlreadyNoted: boolean;
+    readonly isNotAuthorized: boolean;
+    readonly isNotNoted: boolean;
+    readonly isRequested: boolean;
+    readonly isNotRequested: boolean;
+    readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested';
+  }
+
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (415) */
   interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (358) */
+  /** @name CumulusPalletXcmpQueueInboundState (416) */
   interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (419) */
   interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -3277,7 +3427,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (422) */
   interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -3286,14 +3436,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (365) */
+  /** @name CumulusPalletXcmpQueueOutboundState (423) */
   interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (367) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (425) */
   interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -3303,7 +3453,7 @@
     readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletXcmpQueueError (369) */
+  /** @name CumulusPalletXcmpQueueError (427) */
   interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -3313,7 +3463,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (370) */
+  /** @name PalletXcmError (428) */
   interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -3331,29 +3481,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (371) */
+  /** @name CumulusPalletXcmError (429) */
   type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (372) */
+  /** @name CumulusPalletDmpQueueConfigData (430) */
   interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: SpWeightsWeightV2Weight;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (373) */
+  /** @name CumulusPalletDmpQueuePageIndexData (431) */
   interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (376) */
+  /** @name CumulusPalletDmpQueueError (434) */
   interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (380) */
+  /** @name PalletUniqueError (438) */
   interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isEmptyArgument: boolean;
@@ -3361,13 +3511,13 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
   }
 
-  /** @name PalletConfigurationError (381) */
+  /** @name PalletConfigurationError (439) */
   interface PalletConfigurationError extends Enum {
     readonly isInconsistentConfiguration: boolean;
     readonly type: 'InconsistentConfiguration';
   }
 
-  /** @name UpDataStructsCollection (382) */
+  /** @name UpDataStructsCollection (440) */
   interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3380,7 +3530,7 @@
     readonly flags: U8aFixed;
   }
 
-  /** @name UpDataStructsSponsorshipStateAccountId32 (383) */
+  /** @name UpDataStructsSponsorshipStateAccountId32 (441) */
   interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3390,43 +3540,43 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (385) */
+  /** @name UpDataStructsProperties (442) */
   interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (386) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (443) */
   interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (391) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (448) */
   interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (398) */
+  /** @name UpDataStructsCollectionStats (455) */
   interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name UpDataStructsTokenChild (399) */
+  /** @name UpDataStructsTokenChild (456) */
   interface UpDataStructsTokenChild extends Struct {
     readonly token: u32;
     readonly collection: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (400) */
-  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild, UpPovEstimateRpcPovInfo]>> {}
+  /** @name PhantomTypeUpDataStructs (457) */
+  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}
 
-  /** @name UpDataStructsTokenData (402) */
+  /** @name UpDataStructsTokenData (459) */
   interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsRpcCollection (404) */
+  /** @name UpDataStructsRpcCollection (461) */
   interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3442,64 +3592,13 @@
     readonly flags: UpDataStructsRpcCollectionFlags;
   }
 
-  /** @name UpDataStructsRpcCollectionFlags (405) */
+  /** @name UpDataStructsRpcCollectionFlags (462) */
   interface UpDataStructsRpcCollectionFlags extends Struct {
     readonly foreign: bool;
     readonly erc721metadata: bool;
   }
 
-  /** @name RmrkTraitsCollectionCollectionInfo (406) */
-  interface RmrkTraitsCollectionCollectionInfo extends Struct {
-    readonly issuer: AccountId32;
-    readonly metadata: Bytes;
-    readonly max: Option<u32>;
-    readonly symbol: Bytes;
-    readonly nftsCount: u32;
-  }
-
-  /** @name RmrkTraitsNftNftInfo (407) */
-  interface RmrkTraitsNftNftInfo extends Struct {
-    readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
-    readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
-    readonly metadata: Bytes;
-    readonly equipped: bool;
-    readonly pending: bool;
-  }
-
-  /** @name RmrkTraitsNftRoyaltyInfo (409) */
-  interface RmrkTraitsNftRoyaltyInfo extends Struct {
-    readonly recipient: AccountId32;
-    readonly amount: Permill;
-  }
-
-  /** @name RmrkTraitsResourceResourceInfo (410) */
-  interface RmrkTraitsResourceResourceInfo extends Struct {
-    readonly id: u32;
-    readonly resource: RmrkTraitsResourceResourceTypes;
-    readonly pending: bool;
-    readonly pendingRemoval: bool;
-  }
-
-  /** @name RmrkTraitsPropertyPropertyInfo (411) */
-  interface RmrkTraitsPropertyPropertyInfo extends Struct {
-    readonly key: Bytes;
-    readonly value: Bytes;
-  }
-
-  /** @name RmrkTraitsBaseBaseInfo (412) */
-  interface RmrkTraitsBaseBaseInfo extends Struct {
-    readonly issuer: AccountId32;
-    readonly baseType: Bytes;
-    readonly symbol: Bytes;
-  }
-
-  /** @name RmrkTraitsNftNftChild (413) */
-  interface RmrkTraitsNftNftChild extends Struct {
-    readonly collectionId: u32;
-    readonly nftId: u32;
-  }
-
-  /** @name UpPovEstimateRpcPovInfo (414) */
+  /** @name UpPovEstimateRpcPovInfo (463) */
   interface UpPovEstimateRpcPovInfo extends Struct {
     readonly proofSize: u64;
     readonly compactProofSize: u64;
@@ -3508,7 +3607,7 @@
     readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;
   }
 
-  /** @name SpRuntimeTransactionValidityTransactionValidityError (417) */
+  /** @name SpRuntimeTransactionValidityTransactionValidityError (466) */
   interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {
     readonly isInvalid: boolean;
     readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;
@@ -3517,7 +3616,7 @@
     readonly type: 'Invalid' | 'Unknown';
   }
 
-  /** @name SpRuntimeTransactionValidityInvalidTransaction (418) */
+  /** @name SpRuntimeTransactionValidityInvalidTransaction (467) */
   interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {
     readonly isCall: boolean;
     readonly isPayment: boolean;
@@ -3534,7 +3633,7 @@
     readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';
   }
 
-  /** @name SpRuntimeTransactionValidityUnknownTransaction (419) */
+  /** @name SpRuntimeTransactionValidityUnknownTransaction (468) */
   interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {
     readonly isCannotLookup: boolean;
     readonly isNoUnsignedValidator: boolean;
@@ -3543,13 +3642,13 @@
     readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';
   }
 
-  /** @name UpPovEstimateRpcTrieKeyValue (421) */
+  /** @name UpPovEstimateRpcTrieKeyValue (470) */
   interface UpPovEstimateRpcTrieKeyValue extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletCommonError (423) */
+  /** @name PalletCommonError (472) */
   interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -3591,7 +3690,7 @@
     readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsNotEthMirror' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
   }
 
-  /** @name PalletFungibleError (425) */
+  /** @name PalletFungibleError (474) */
   interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -3603,7 +3702,7 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
   }
 
-  /** @name PalletRefungibleError (429) */
+  /** @name PalletRefungibleError (478) */
   interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -3613,19 +3712,19 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (430) */
+  /** @name PalletNonfungibleItemData (479) */
   interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsPropertyScope (432) */
+  /** @name UpDataStructsPropertyScope (481) */
   interface UpDataStructsPropertyScope extends Enum {
     readonly isNone: boolean;
     readonly isRmrk: boolean;
     readonly type: 'None' | 'Rmrk';
   }
 
-  /** @name PalletNonfungibleError (435) */
+  /** @name PalletNonfungibleError (484) */
   interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3633,52 +3732,17 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (436) */
+  /** @name PalletStructureError (485) */
   interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
     readonly isBreadthLimit: boolean;
     readonly isTokenNotFound: boolean;
-    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
+    readonly isCantNestTokenUnderCollection: boolean;
+    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection';
   }
 
-  /** @name PalletRmrkCoreError (437) */
-  interface PalletRmrkCoreError extends Enum {
-    readonly isCorruptedCollectionType: boolean;
-    readonly isRmrkPropertyKeyIsTooLong: boolean;
-    readonly isRmrkPropertyValueIsTooLong: boolean;
-    readonly isRmrkPropertyIsNotFound: boolean;
-    readonly isUnableToDecodeRmrkData: boolean;
-    readonly isCollectionNotEmpty: boolean;
-    readonly isNoAvailableCollectionId: boolean;
-    readonly isNoAvailableNftId: boolean;
-    readonly isCollectionUnknown: boolean;
-    readonly isNoPermission: boolean;
-    readonly isNonTransferable: boolean;
-    readonly isCollectionFullOrLocked: boolean;
-    readonly isResourceDoesntExist: boolean;
-    readonly isCannotSendToDescendentOrSelf: boolean;
-    readonly isCannotAcceptNonOwnedNft: boolean;
-    readonly isCannotRejectNonOwnedNft: boolean;
-    readonly isCannotRejectNonPendingNft: boolean;
-    readonly isResourceNotPending: boolean;
-    readonly isNoAvailableResourceId: boolean;
-    readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
-  }
-
-  /** @name PalletRmrkEquipError (439) */
-  interface PalletRmrkEquipError extends Enum {
-    readonly isPermissionError: boolean;
-    readonly isNoAvailableBaseId: boolean;
-    readonly isNoAvailablePartId: boolean;
-    readonly isBaseDoesntExist: boolean;
-    readonly isNeedsDefaultThemeFirst: boolean;
-    readonly isPartDoesntExist: boolean;
-    readonly isNoEquippableOnFixedPart: boolean;
-    readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
-  }
-
-  /** @name PalletAppPromotionError (445) */
+  /** @name PalletAppPromotionError (490) */
   interface PalletAppPromotionError extends Enum {
     readonly isAdminNotSet: boolean;
     readonly isNoPermission: boolean;
@@ -3686,10 +3750,11 @@
     readonly isPendingForBlockOverflow: boolean;
     readonly isSponsorNotSet: boolean;
     readonly isIncorrectLockedBalanceOperation: boolean;
-    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
+    readonly isInsufficientStakedBalance: boolean;
+    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation' | 'InsufficientStakedBalance';
   }
 
-  /** @name PalletForeignAssetsModuleError (446) */
+  /** @name PalletForeignAssetsModuleError (491) */
   interface PalletForeignAssetsModuleError extends Enum {
     readonly isBadLocation: boolean;
     readonly isMultiLocationExisted: boolean;
@@ -3698,7 +3763,7 @@
     readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
   }
 
-  /** @name PalletEvmError (448) */
+  /** @name PalletEvmError (493) */
   interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -3714,7 +3779,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';
   }
 
-  /** @name FpRpcTransactionStatus (451) */
+  /** @name FpRpcTransactionStatus (496) */
   interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -3725,10 +3790,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (453) */
+  /** @name EthbloomBloom (498) */
   interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (455) */
+  /** @name EthereumReceiptReceiptV3 (500) */
   interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3739,7 +3804,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (456) */
+  /** @name EthereumReceiptEip658ReceiptData (501) */
   interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -3747,14 +3812,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (457) */
+  /** @name EthereumBlock (502) */
   interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (458) */
+  /** @name EthereumHeader (503) */
   interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -3773,24 +3838,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (459) */
+  /** @name EthereumTypesHashH64 (504) */
   interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (464) */
+  /** @name PalletEthereumError (509) */
   interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (465) */
+  /** @name PalletEvmCoderSubstrateError (510) */
   interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (466) */
+  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (511) */
   interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3800,7 +3865,7 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (467) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (512) */
   interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3808,7 +3873,7 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (473) */
+  /** @name PalletEvmContractHelpersError (518) */
   interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly isNoPendingSponsor: boolean;
@@ -3816,7 +3881,7 @@
     readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
   }
 
-  /** @name PalletEvmMigrationError (474) */
+  /** @name PalletEvmMigrationError (519) */
   interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
@@ -3824,17 +3889,17 @@
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
   }
 
-  /** @name PalletMaintenanceError (475) */
+  /** @name PalletMaintenanceError (520) */
   type PalletMaintenanceError = Null;
 
-  /** @name PalletTestUtilsError (476) */
+  /** @name PalletTestUtilsError (521) */
   interface PalletTestUtilsError extends Enum {
     readonly isTestPalletDisabled: boolean;
     readonly isTriggerRollback: boolean;
     readonly type: 'TestPalletDisabled' | 'TriggerRollback';
   }
 
-  /** @name SpRuntimeMultiSignature (478) */
+  /** @name SpRuntimeMultiSignature (523) */
   interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3845,43 +3910,43 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (479) */
+  /** @name SpCoreEd25519Signature (524) */
   interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (481) */
+  /** @name SpCoreSr25519Signature (526) */
   interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (482) */
+  /** @name SpCoreEcdsaSignature (527) */
   interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (485) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (530) */
   type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckTxVersion (486) */
+  /** @name FrameSystemExtensionsCheckTxVersion (531) */
   type FrameSystemExtensionsCheckTxVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (487) */
+  /** @name FrameSystemExtensionsCheckGenesis (532) */
   type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (490) */
+  /** @name FrameSystemExtensionsCheckNonce (535) */
   interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (491) */
+  /** @name FrameSystemExtensionsCheckWeight (536) */
   type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (492) */
+  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (537) */
   type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
 
-  /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (493) */
+  /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (538) */
   type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (494) */
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (539) */
   interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (495) */
+  /** @name OpalRuntimeRuntime (540) */
   type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (496) */
+  /** @name PalletEthereumFakeTransactionFinalizer (541) */
   type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
modifiedtests/src/interfaces/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types.ts
+++ b/tests/src/interfaces/types.ts
@@ -3,6 +3,5 @@
 
 export * from './unique/types';
 export * from './appPromotion/types';
-export * from './rmrk/types';
 export * from './povinfo/types';
 export * from './default/types';
addedtests/src/maintenance.seqtest.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/maintenance.seqtest.ts
@@ -0,0 +1,368 @@
+// 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 {ApiPromise} from '@polkadot/api';
+import {expect, itSched, itSub, Pallets, requirePalletsOrSkip, usingPlaygrounds} from './util';
+import {itEth} from './eth/util';
+import {UniqueHelper} from './util/playgrounds/unique';
+
+async function maintenanceEnabled(api: ApiPromise): Promise<boolean> {
+  return (await api.query.maintenance.enabled()).toJSON() as boolean;
+}
+
+describe('Integration Test: Maintenance Functionality', () => {
+  let superuser: IKeyringPair;
+  let donor: IKeyringPair;
+  let bob: IKeyringPair;
+
+  before(async function() {
+    await usingPlaygrounds(async (helper, privateKey) => {
+      requirePalletsOrSkip(this, helper, [Pallets.Maintenance]);
+      superuser = await privateKey('//Alice');
+      donor = await privateKey({filename: __filename});
+      [bob] = await helper.arrange.createAccounts([10000n], donor);
+
+    });
+  });
+
+  describe('Maintenance Mode', () => {
+    before(async function() {
+      await usingPlaygrounds(async (helper) => {
+        if (await maintenanceEnabled(helper.getApi())) {
+          console.warn('\tMaintenance mode was left enabled BEFORE the test suite! Disabling it now.');
+          await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', [])).to.be.fulfilled;
+        }
+      });
+    });
+
+    itSub('Allows superuser to enable and disable maintenance mode - and disallows anyone else', async ({helper}) => {
+      // Make sure non-sudo can't enable maintenance mode
+      await expect(helper.executeExtrinsic(superuser, 'api.tx.maintenance.enable', []), 'on commoner enabling MM')
+        .to.be.rejectedWith(/BadOrigin/);
+
+      // Set maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      // Make sure non-sudo can't disable maintenance mode
+      await expect(helper.executeExtrinsic(bob, 'api.tx.maintenance.disable', []), 'on commoner disabling MM')
+        .to.be.rejectedWith(/BadOrigin/);
+
+      // Disable maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+    });
+
+    itSub('MM blocks unique pallet calls', async ({helper}) => {
+      // Can create an NFT collection before enabling the MM
+      const nftCollection = await helper.nft.mintCollection(bob, {
+        tokenPropertyPermissions: [{key: 'test', permission: {
+          collectionAdmin: true,
+          tokenOwner: true,
+          mutable: true,
+        }}],
+      });
+
+      // Can mint an NFT before enabling the MM
+      const nft = await nftCollection.mintToken(bob);
+
+      // Can create an FT collection before enabling the MM
+      const ftCollection = await helper.ft.mintCollection(superuser);
+
+      // Can mint an FT before enabling the MM
+      await expect(ftCollection.mint(superuser)).to.be.fulfilled;
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      // Unable to create a collection when the MM is enabled
+      await expect(helper.nft.mintCollection(superuser), 'cudo forbidden stuff')
+        .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      // Unable to set token properties when the MM is enabled
+      await expect(nft.setProperties(
+        bob,
+        [{key: 'test', value: 'test-val'}],
+      )).to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      // Unable to mint an NFT when the MM is enabled
+      await expect(nftCollection.mintToken(superuser))
+        .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      // Unable to mint an FT when the MM is enabled
+      await expect(ftCollection.mint(superuser))
+        .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+
+      // Can create a collection after disabling the MM
+      await expect(helper.nft.mintCollection(bob), 'MM is disabled, the collection should be created').to.be.fulfilled;
+
+      // Can set token properties after disabling the MM
+      await nft.setProperties(bob, [{key: 'test', value: 'test-val'}]);
+
+      // Can mint an NFT after disabling the MM
+      await nftCollection.mintToken(bob);
+
+      // Can mint an FT after disabling the MM
+      await ftCollection.mint(superuser);
+    });
+
+    itSub.ifWithPallets('MM blocks unique pallet calls (Re-Fungible)', [Pallets.ReFungible], async ({helper}) => {
+      // Can create an RFT collection before enabling the MM
+      const rftCollection = await helper.rft.mintCollection(superuser);
+
+      // Can mint an RFT before enabling the MM
+      await expect(rftCollection.mintToken(superuser)).to.be.fulfilled;
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      // Unable to mint an RFT when the MM is enabled
+      await expect(rftCollection.mintToken(superuser))
+        .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+
+      // Can mint an RFT after disabling the MM
+      await rftCollection.mintToken(superuser);
+    });
+
+    itSub('MM allows native token transfers and RPC calls', async ({helper}) => {
+      // We can use RPC before the MM is enabled
+      const totalCount = await helper.collection.getTotalCount();
+
+      // We can transfer funds before the MM is enabled
+      await expect(helper.balance.transferToSubstrate(superuser, bob.address, 2n)).to.be.fulfilled;
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      // RPCs work while in maintenance
+      expect(await helper.collection.getTotalCount()).to.be.deep.equal(totalCount);
+
+      // We still able to transfer funds
+      await expect(helper.balance.transferToSubstrate(bob, superuser.address, 1n)).to.be.fulfilled;
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+
+      // RPCs work after maintenance
+      expect(await helper.collection.getTotalCount()).to.be.deep.equal(totalCount);
+
+      // Transfers work after maintenance
+      await expect(helper.balance.transferToSubstrate(bob, superuser.address, 1n)).to.be.fulfilled;
+    });
+
+    itSched.ifWithPallets('MM blocks scheduled calls and the scheduler itself', [Pallets.Scheduler], async (scheduleKind, {helper}) => {
+      const collection = await helper.nft.mintCollection(bob);
+
+      const nftBeforeMM = await collection.mintToken(bob);
+      const nftDuringMM = await collection.mintToken(bob);
+      const nftAfterMM = await collection.mintToken(bob);
+
+      const [
+        scheduledIdBeforeMM,
+        scheduledIdDuringMM,
+        scheduledIdBunkerThroughMM,
+        scheduledIdAttemptDuringMM,
+        scheduledIdAfterMM,
+      ] = scheduleKind == 'named'
+        ? helper.arrange.makeScheduledIds(5)
+        : new Array(5);
+
+      const blocksToWait = 6;
+
+      // Scheduling works before the maintenance
+      await nftBeforeMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdBeforeMM})
+        .transfer(bob, {Substrate: superuser.address});
+
+      await helper.wait.newBlocks(blocksToWait + 1);
+      expect(await nftBeforeMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
+
+      // Schedule a transaction that should occur *during* the maintenance
+      await nftDuringMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdDuringMM})
+        .transfer(bob, {Substrate: superuser.address});
+
+      // Schedule a transaction that should occur *after* the maintenance
+      await nftDuringMM.scheduleAfter(blocksToWait * 2, {scheduledId: scheduledIdBunkerThroughMM})
+        .transfer(bob, {Substrate: superuser.address});
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      await helper.wait.newBlocks(blocksToWait + 1);
+      // The owner should NOT change since the scheduled transaction should be rejected
+      expect(await nftDuringMM.getOwner()).to.be.deep.equal({Substrate: bob.address});
+
+      // Any attempts to schedule a tx during the MM should be rejected
+      await expect(nftDuringMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdAttemptDuringMM})
+        .transfer(bob, {Substrate: superuser.address}))
+        .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
+
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+
+      // Scheduling works after the maintenance
+      await nftAfterMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdAfterMM})
+        .transfer(bob, {Substrate: superuser.address});
+
+      await helper.wait.newBlocks(blocksToWait + 1);
+
+      expect(await nftAfterMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
+      // The owner of the token scheduled for transaction *before* maintenance should now change *after* maintenance
+      expect(await nftDuringMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
+    });
+
+    itEth('Disallows Ethereum transactions to execute while in maintenance', async ({helper}) => {
+      const owner = await helper.eth.createAccountWithBalance(donor);
+      const receiver = helper.eth.createAccount();
+
+      const {collectionAddress} = await helper.eth.createERC721MetadataCompatibleNFTCollection(owner, 'A', 'B', 'C', '');
+
+      // Set maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
+      const tokenId = await contract.methods.nextTokenId().call();
+      expect(tokenId).to.be.equal('1');
+
+      await expect(contract.methods.mintWithTokenURI(receiver, 'Test URI').send())
+        .to.be.rejectedWith(/Returned error: unknown error/);
+
+      await expect(contract.methods.ownerOf(tokenId).call()).rejectedWith(/token not found/);
+
+      // Disable maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+    });
+
+    itSub('Allows to enable and disable MM repeatedly', async ({helper}) => {
+      // Set maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
+
+      // Disable maintenance mode
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+      expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
+    });
+
+    afterEach(async () => {
+      await usingPlaygrounds(async helper => {
+        if (helper.fetchMissingPalletNames([Pallets.Maintenance]).length != 0) return;
+        if (await maintenanceEnabled(helper.getApi())) {
+          console.warn('\tMaintenance mode was left enabled AFTER a test has finished! Be careful. Disabling it now.');
+          await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
+        }
+        expect(await maintenanceEnabled(helper.getApi()), 'Disastrous! Exited the test suite with maintenance mode on.').to.be.false;
+      });
+    });
+  });
+
+  describe('Preimage Execution', () => {
+    const preimageHashes: string[] = [];
+
+    async function notePreimage(helper: UniqueHelper, preimage: any): Promise<string> {
+      const result = await helper.preimage.notePreimage(bob, preimage);
+      const events = result.result.events.filter(x => x.event.method === 'Noted' && x.event.section === 'preimage');
+      const preimageHash = events[0].event.data[0].toHuman();
+      return preimageHash;
+    }
+
+    before(async function() {
+      await usingPlaygrounds(async (helper) => {
+        requirePalletsOrSkip(this, helper, [Pallets.Preimage, Pallets.Maintenance]);
+
+        // create a preimage to be operated with in the tests
+        const randomAccounts = await helper.arrange.createCrowd(10, 0n, superuser);
+        const randomIdentities = randomAccounts.map((acc, i) => [
+          acc.address, {
+            deposit: 0n,
+            judgements: [],
+            info: {
+              display: {
+                raw: `Random Account #${i}`,
+              },
+            },
+          },
+        ]);
+        const preimage = helper.constructApiCall('api.tx.identity.forceInsertIdentities', [randomIdentities]).method.toHex();
+        preimageHashes.push(await notePreimage(helper, preimage));
+      });
+    });
+
+    itSub('Successfully executes call in a preimage', async ({helper}) => {
+      const result = await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [
+        preimageHashes[0], {refTime: 10000000000, proofSize: 10000},
+      ])).to.be.fulfilled;
+
+      // preimage is executed, and an appropriate event is present
+      const events = result.result.events.filter((x: any) => x.event.method === 'IdentitiesInserted' && x.event.section === 'identity');
+      expect(events.length).to.be.equal(1);
+
+      // the preimage goes back to being unrequested
+      expect(await helper.preimage.getPreimageInfo(preimageHashes[0])).to.have.property('unrequested');
+    });
+
+    itSub('Does not allow execution of a preimage that would fail', async ({helper}) => {
+      const [zeroAccount] = await helper.arrange.createAccounts([0n], superuser);
+
+      const preimage = helper.constructApiCall('api.tx.balances.forceTransfer', [
+        {Id: zeroAccount.address}, {Id: superuser.address}, 1000n,
+      ]).method.toHex();
+      const preimageHash = await notePreimage(helper, preimage);
+      preimageHashes.push(preimageHash);
+
+      await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [
+        preimageHash, {refTime: 10000000000, proofSize: 10000},
+      ])).to.be.rejectedWith(/balances\.InsufficientBalance/);
+    });
+
+    itSub('Does not allow preimage execution with non-root', async ({helper}) => {
+      await expect(helper.executeExtrinsic(bob, 'api.tx.maintenance.executePreimage', [
+        preimageHashes[0], {refTime: 10000000000, proofSize: 10000},
+      ])).to.be.rejectedWith(/BadOrigin/);
+    });
+
+    itSub('Does not allow execution of non-existent preimages', async ({helper}) => {
+      await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [
+        '0x1010101010101010101010101010101010101010101010101010101010101010', {refTime: 10000000000, proofSize: 10000},
+      ])).to.be.rejectedWith(/Unavailable/);
+    });
+
+    itSub('Does not allow preimage execution with less than minimum weights', async ({helper}) => {
+      await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [
+        preimageHashes[0], {refTime: 1000, proofSize: 100},
+      ])).to.be.rejectedWith(/Exhausted/);
+    });
+
+    after(async function() {
+      await usingPlaygrounds(async (helper) => {
+        if (helper.fetchMissingPalletNames([Pallets.Preimage, Pallets.Maintenance]).length != 0) return;
+
+        for (const hash of preimageHashes) {
+          await helper.preimage.unnotePreimage(bob, hash);
+        }
+      });
+    });
+  });
+});
deletedtests/src/maintenanceMode.seqtest.tsdiffbeforeafterboth
--- a/tests/src/maintenanceMode.seqtest.ts
+++ /dev/null
@@ -1,270 +0,0 @@
-// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
-// This file is part of Unique Network.
-
-// Unique Network is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Unique Network is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
-
-import {IKeyringPair} from '@polkadot/types/types';
-import {ApiPromise} from '@polkadot/api';
-import {expect, itSched, itSub, Pallets, usingPlaygrounds} from './util';
-import {itEth} from './eth/util';
-
-async function maintenanceEnabled(api: ApiPromise): Promise<boolean> {
-  return (await api.query.maintenance.enabled()).toJSON() as boolean;
-}
-
-describe('Integration Test: Maintenance Mode', () => {
-  let superuser: IKeyringPair;
-  let donor: IKeyringPair;
-  let bob: IKeyringPair;
-
-  before(async () => {
-    await usingPlaygrounds(async (helper, privateKey) => {
-      superuser = await privateKey('//Alice');
-      donor = await privateKey({filename: __filename});
-      [bob] = await helper.arrange.createAccounts([100n], donor);
-
-      if (await maintenanceEnabled(helper.getApi())) {
-        console.warn('\tMaintenance mode was left enabled BEFORE the test suite! Disabling it now.');
-        await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', [])).to.be.fulfilled;
-      }
-    });
-  });
-
-  itSub('Allows superuser to enable and disable maintenance mode - and disallows anyone else', async ({helper}) => {
-    // Make sure non-sudo can't enable maintenance mode
-    await expect(helper.executeExtrinsic(superuser, 'api.tx.maintenance.enable', []), 'on commoner enabling MM')
-      .to.be.rejectedWith(/BadOrigin/);
-
-    // Set maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    // Make sure non-sudo can't disable maintenance mode
-    await expect(helper.executeExtrinsic(bob, 'api.tx.maintenance.disable', []), 'on commoner disabling MM')
-      .to.be.rejectedWith(/BadOrigin/);
-
-    // Disable maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-  });
-
-  itSub('MM blocks unique pallet calls', async ({helper}) => {
-    // Can create an NFT collection before enabling the MM
-    const nftCollection = await helper.nft.mintCollection(bob, {
-      tokenPropertyPermissions: [{key: 'test', permission: {
-        collectionAdmin: true,
-        tokenOwner: true,
-        mutable: true,
-      }}],
-    });
-
-    // Can mint an NFT before enabling the MM
-    const nft = await nftCollection.mintToken(bob);
-
-    // Can create an FT collection before enabling the MM
-    const ftCollection = await helper.ft.mintCollection(superuser);
-
-    // Can mint an FT before enabling the MM
-    await expect(ftCollection.mint(superuser)).to.be.fulfilled;
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    // Unable to create a collection when the MM is enabled
-    await expect(helper.nft.mintCollection(superuser), 'cudo forbidden stuff')
-      .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    // Unable to set token properties when the MM is enabled
-    await expect(nft.setProperties(
-      bob,
-      [{key: 'test', value: 'test-val'}],
-    )).to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    // Unable to mint an NFT when the MM is enabled
-    await expect(nftCollection.mintToken(superuser))
-      .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    // Unable to mint an FT when the MM is enabled
-    await expect(ftCollection.mint(superuser))
-      .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-
-    // Can create a collection after disabling the MM
-    await expect(helper.nft.mintCollection(bob), 'MM is disabled, the collection should be created').to.be.fulfilled;
-
-    // Can set token properties after disabling the MM
-    await nft.setProperties(bob, [{key: 'test', value: 'test-val'}]);
-
-    // Can mint an NFT after disabling the MM
-    await nftCollection.mintToken(bob);
-
-    // Can mint an FT after disabling the MM
-    await ftCollection.mint(superuser);
-  });
-
-  itSub.ifWithPallets('MM blocks unique pallet calls (Re-Fungible)', [Pallets.ReFungible], async ({helper}) => {
-    // Can create an RFT collection before enabling the MM
-    const rftCollection = await helper.rft.mintCollection(superuser);
-
-    // Can mint an RFT before enabling the MM
-    await expect(rftCollection.mintToken(superuser)).to.be.fulfilled;
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    // Unable to mint an RFT when the MM is enabled
-    await expect(rftCollection.mintToken(superuser))
-      .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-
-    // Can mint an RFT after disabling the MM
-    await rftCollection.mintToken(superuser);
-  });
-
-  itSub('MM allows native token transfers and RPC calls', async ({helper}) => {
-    // We can use RPC before the MM is enabled
-    const totalCount = await helper.collection.getTotalCount();
-
-    // We can transfer funds before the MM is enabled
-    await expect(helper.balance.transferToSubstrate(superuser, bob.address, 2n)).to.be.fulfilled;
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    // RPCs work while in maintenance
-    expect(await helper.collection.getTotalCount()).to.be.deep.equal(totalCount);
-
-    // We still able to transfer funds
-    await expect(helper.balance.transferToSubstrate(bob, superuser.address, 1n)).to.be.fulfilled;
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-
-    // RPCs work after maintenance
-    expect(await helper.collection.getTotalCount()).to.be.deep.equal(totalCount);
-
-    // Transfers work after maintenance
-    await expect(helper.balance.transferToSubstrate(bob, superuser.address, 1n)).to.be.fulfilled;
-  });
-
-  itSched.ifWithPallets('MM blocks scheduled calls and the scheduler itself', [Pallets.Scheduler], async (scheduleKind, {helper}) => {
-    const collection = await helper.nft.mintCollection(bob);
-
-    const nftBeforeMM = await collection.mintToken(bob);
-    const nftDuringMM = await collection.mintToken(bob);
-    const nftAfterMM = await collection.mintToken(bob);
-
-    const [
-      scheduledIdBeforeMM,
-      scheduledIdDuringMM,
-      scheduledIdBunkerThroughMM,
-      scheduledIdAttemptDuringMM,
-      scheduledIdAfterMM,
-    ] = scheduleKind == 'named'
-      ? helper.arrange.makeScheduledIds(5)
-      : new Array(5);
-
-    const blocksToWait = 6;
-
-    // Scheduling works before the maintenance
-    await nftBeforeMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdBeforeMM})
-      .transfer(bob, {Substrate: superuser.address});
-
-    await helper.wait.newBlocks(blocksToWait + 1);
-    expect(await nftBeforeMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
-
-    // Schedule a transaction that should occur *during* the maintenance
-    await nftDuringMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdDuringMM})
-      .transfer(bob, {Substrate: superuser.address});
-
-    // Schedule a transaction that should occur *after* the maintenance
-    await nftDuringMM.scheduleAfter(blocksToWait * 2, {scheduledId: scheduledIdBunkerThroughMM})
-      .transfer(bob, {Substrate: superuser.address});
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    await helper.wait.newBlocks(blocksToWait + 1);
-    // The owner should NOT change since the scheduled transaction should be rejected
-    expect(await nftDuringMM.getOwner()).to.be.deep.equal({Substrate: bob.address});
-
-    // Any attempts to schedule a tx during the MM should be rejected
-    await expect(nftDuringMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdAttemptDuringMM})
-      .transfer(bob, {Substrate: superuser.address}))
-      .to.be.rejectedWith(/Invalid Transaction: Transaction call is not expected/);
-
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-
-    // Scheduling works after the maintenance
-    await nftAfterMM.scheduleAfter(blocksToWait, {scheduledId: scheduledIdAfterMM})
-      .transfer(bob, {Substrate: superuser.address});
-
-    await helper.wait.newBlocks(blocksToWait + 1);
-
-    expect(await nftAfterMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
-    // The owner of the token scheduled for transaction *before* maintenance should now change *after* maintenance
-    expect(await nftDuringMM.getOwner()).to.be.deep.equal({Substrate: superuser.address});
-  });
-
-  itEth('Disallows Ethereum transactions to execute while in maintenance', async ({helper}) => {
-    const owner = await helper.eth.createAccountWithBalance(donor);
-    const receiver = helper.eth.createAccount();
-
-    const {collectionAddress} = await helper.eth.createERC721MetadataCompatibleNFTCollection(owner, 'A', 'B', 'C', '');
-
-    // Set maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    const contract = await helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
-    const tokenId = await contract.methods.nextTokenId().call();
-    expect(tokenId).to.be.equal('1');
-
-    await expect(contract.methods.mintWithTokenURI(receiver, 'Test URI').send())
-      .to.be.rejectedWith(/Returned error: unknown error/);
-
-    await expect(contract.methods.ownerOf(tokenId).call()).rejectedWith(/token not found/);
-
-    // Disable maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-  });
-
-  itSub('Allows to enable and disable MM repeatedly', async ({helper}) => {
-    // Set maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.enable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is OFF when it should be ON').to.be.true;
-
-    // Disable maintenance mode
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-    expect(await maintenanceEnabled(helper.getApi()), 'MM is ON when it should be OFF').to.be.false;
-  });
-
-  afterEach(async () => {
-    await usingPlaygrounds(async helper => {
-      if (await maintenanceEnabled(helper.getApi())) {
-        console.warn('\tMaintenance mode was left enabled AFTER a test has finished! Be careful. Disabling it now.');
-        await helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.disable', []);
-      }
-      expect(await maintenanceEnabled(helper.getApi()), 'Disastrous! Exited the test suite with maintenance mode on.').to.be.false;
-    });
-  });
-});
modifiedtests/src/pallet-presence.test.tsdiffbeforeafterboth
--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -66,6 +66,7 @@
       const foreignAssets = 'foreignassets';
       const appPromotion = 'apppromotion';
       const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity'];
+      const preimage = ['preimage'];
       const testUtils = 'testutils';
 
       if (chain.eq('OPAL by UNIQUE')) {
@@ -75,6 +76,7 @@
           appPromotion,
           testUtils,
           ...collatorSelection,
+          ...preimage,
         );
       } else if (chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {
         requiredPallets.push(
@@ -82,6 +84,7 @@
           appPromotion,
           foreignAssets,
           ...collatorSelection,
+          ...preimage,
         );
       } else if (chain.eq('UNIQUE')) {
         // Insert Unique additional pallets here
modifiedtests/src/util/identitySetter.tsdiffbeforeafterboth
--- a/tests/src/util/identitySetter.ts
+++ b/tests/src/util/identitySetter.ts
@@ -1,13 +1,14 @@
 // Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
 // SPDX-License-Identifier: Apache-2.0
 //
-// Pulls identities and sub-identities from a chain and then uses sudo to force upload them into another.
+// Pulls identities and sub-identities from a chain and then makes a preimage to later force upload them into another.
 // Only changed or previously non-existent data are inserted.
 //
-// Usage: `yarn setIdentities [relay WS URL] [parachain WS URL] [sudo key]`
+// Usage: `yarn setIdentities [relay WS URL] [parachain WS URL] [user key]
 // Example: `yarn setIdentities wss://polkadot-rpc.dwellir.com ws://localhost:9944 escape pattern miracle train sudden cart adapt embark wedding alien lamp mesh`
 
 import {encodeAddress} from '@polkadot/keyring';
+import {IKeyringPair} from '@polkadot/types/types';
 import {usingPlaygrounds, Pallets} from './index';
 import {ChainHelperBase} from './playgrounds/unique';
 
@@ -81,6 +82,18 @@
   return (await helper.getApi().query.identity.superOf.entries()).map(([key, value]) => [extractAccountId(key), value as any]);
 }
 
+async function uploadPreimage(helper: ChainHelperBase, preimageMaker: IKeyringPair, preimage: string) {
+  try {
+    await helper.executeExtrinsic(preimageMaker, 'api.tx.preimage.notePreimage', [preimage]);
+  } catch(e: any) {
+    if (e.message.includes('AlreadyNoted')) {
+      console.warn('Warning: The same preimage already exists on the chain. Nothing was uploaded.');
+    } else {
+      console.error(e);
+    }
+  }
+}
+
 // The utility for pulling identity and sub-identity data
 const forceInsertIdentities = async (): Promise<void> => {
   let relaySS58Prefix = 0;
@@ -128,8 +141,10 @@
 
   await usingPlaygrounds(async (helper, privateKey) => {
     if (helper.fetchMissingPalletNames([Pallets.Identity]).length != 0) console.error('pallet-identity is not included in parachain.');
+    if (helper.fetchMissingPalletNames([Pallets.Preimage]).length != 0) console.error('pallet-preimage is not included in parachain.');
+
     try {
-      const superuser = await privateKey(key);
+      const preimageMaker = await privateKey(key);
       const ss58Format = helper.chain.getChainProperties().ss58Format;
       const paraIdentities = await getIdentities(helper);
       const identitiesToAdd: any[] = [];
@@ -158,13 +173,21 @@
       }
 
       if (identitiesToRemove.length != 0)
-        await helper.getSudo().executeExtrinsic(superuser, 'api.tx.identity.forceRemoveIdentities', [identitiesToRemove]);
+        await uploadPreimage(
+          helper,
+          preimageMaker,
+          helper.constructApiCall('api.tx.identity.forceRemoveIdentities', [identitiesToRemove]).method.toHex(),
+        );
       if (identitiesToAdd.length != 0)
-        await helper.getSudo().executeExtrinsic(superuser, 'api.tx.identity.forceInsertIdentities', [identitiesToAdd]);
+        await uploadPreimage(
+          helper,
+          preimageMaker,
+          helper.constructApiCall('api.tx.identity.forceInsertIdentities', [identitiesToAdd]).method.toHex(),
+        );
 
-      console.log(`Tried to upload ${identitiesToAdd.length} identities`
+      console.log(`Tried to push ${identitiesToAdd.length} identities`
         + ` and found ${identitiesToRemove.length} identities for potential removal.`
-        + ` Now there are ${(await helper.getApi().query.identity.identityOf.keys()).length}.`);
+        + ` Currently there are ${(await helper.getApi().query.identity.identityOf.keys()).length} identities on the chain.`);
 
       // fill sub-identities
       const paraSubs = await getSubs(helper);
@@ -187,10 +210,14 @@
       }
 
       if (subsToUpdate.length != 0)
-        await helper.getSudo().executeExtrinsic(superuser, 'api.tx.identity.forceSetSubs', [subsToUpdate]);
+        await uploadPreimage(
+          helper,
+          preimageMaker,
+          helper.constructApiCall('api.tx.identity.forceSetSubs', [subsToUpdate]).method.toHex(),
+        );
 
-      console.log(`Also tried to update ${subsToUpdate.length} identities with their sub-identities.`
-        + ` Now there are ${(await helper.getApi().query.identity.subsOf.keys()).length} identities with subs.`);
+      console.log(`Also tried to push ${subsToUpdate.length} identities with their sub-identities.`
+        + ` Currently there are ${(await helper.getApi().query.identity.subsOf.keys()).length} identities with subs.`);
     } catch (error) {
       console.error(error);
       throw Error('Error during setting identities');
modifiedtests/src/util/index.tsdiffbeforeafterboth
--- a/tests/src/util/index.ts
+++ b/tests/src/util/index.ts
@@ -114,6 +114,8 @@
   CollatorSelection = 'collatorselection',
   Session = 'session',
   Identity = 'identity',
+  Preimage = 'preimage',
+  Maintenance = 'maintenance',
   TestUtils = 'testutils',
 }
 
modifiedtests/src/util/playgrounds/unique.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -2869,6 +2869,55 @@
   }
 }
 
+class PreimageGroup extends HelperGroup<UniqueHelper> {
+  async getPreimageInfo(h256: string) {
+    return (await this.helper.callRpc('api.query.preimage.statusFor', [h256])).toJSON();
+  }
+
+  /**
+   * Create a preimage with a hex or a byte array.
+   * @param signer keyring of the signer.
+   * @param bytes preimage encoded in hex or a byte array, e.g. an extrinsic call.
+   * @example await notePreimage(preimageMaker,
+   *   helper.constructApiCall('api.tx.identity.forceInsertIdentities', [identitiesToAdd]).method.toHex()
+   * );
+   * @returns promise of extrinsic execution.
+   */
+  notePreimage(signer: TSigner, bytes: string | Uint8Array) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.preimage.notePreimage', [bytes]);
+  }
+
+  /**
+   * Delete an existing preimage and return the deposit.
+   * @param signer keyring of the signer - either the owner or the preimage manager (sudo).
+   * @param h256 hash of the preimage.
+   * @returns promise of extrinsic execution.
+   */
+  unnotePreimage(signer: TSigner, h256: string) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unnotePreimage', [h256]);
+  }
+
+  /**
+   * Request a preimage be uploaded to the chain without paying any fees or deposits.
+   * @param signer keyring of the signer - either the owner or the preimage manager (sudo).
+   * @param h256 hash of the preimage.
+   * @returns promise of extrinsic execution.
+   */
+  requestPreimage(signer: TSigner, h256: string) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.preimage.requestPreimage', [h256]);
+  }
+
+  /**
+   * Clear a previously made request for a preimage.
+   * @param signer keyring of the signer - either the owner or the preimage manager (sudo).
+   * @param h256 hash of the preimage.
+   * @returns promise of extrinsic execution.
+   */
+  unrequestPreimage(signer: TSigner, h256: string) {
+    return this.helper.executeExtrinsic(signer, 'api.tx.preimage.unrequestPreimage', [h256]);
+  }
+}
+
 class ForeignAssetsGroup extends HelperGroup<UniqueHelper> {
   async register(signer: TSigner, ownerAddress: TSubstrateAccount, location: any, metadata: IForeignAssetMetadata) {
     await this.helper.executeExtrinsic(
@@ -3094,6 +3143,7 @@
   staking: StakingGroup;
   scheduler: SchedulerGroup;
   collatorSelection: CollatorSelectionGroup;
+  preimage: PreimageGroup;
   foreignAssets: ForeignAssetsGroup;
   xcm: XcmGroup<UniqueHelper>;
   xTokens: XTokensGroup<UniqueHelper>;
@@ -3110,6 +3160,7 @@
     this.staking = new StakingGroup(this);
     this.scheduler = new SchedulerGroup(this);
     this.collatorSelection = new CollatorSelectionGroup(this);
+    this.preimage = new PreimageGroup(this);
     this.foreignAssets = new ForeignAssetsGroup(this);
     this.xcm = new XcmGroup(this, 'polkadotXcm');
     this.xTokens = new XTokensGroup(this);