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

difftreelog

Merge pull request #705 from UniqueNetwork/feature/maintenance-mode

Yaroslav Bolyukin2022-11-08parents: #71a39d0 #6954756.patch.diff
in: master

28 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5374,6 +5374,7 @@
  "pallet-foreign-assets",
  "pallet-fungible",
  "pallet-inflation",
+ "pallet-maintenance",
  "pallet-nonfungible",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
@@ -6250,6 +6251,18 @@
 ]
 
 [[package]]
+name = "pallet-maintenance"
+version = "0.1.0"
+dependencies = [
+ "frame-benchmarking",
+ "frame-support",
+ "frame-system",
+ "parity-scale-codec 3.2.1",
+ "scale-info",
+ "sp-std",
+]
+
+[[package]]
 name = "pallet-membership"
 version = "4.0.0-dev"
 source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.30#a3ed0119c45cdd0d571ad34e5b3ee7518c8cef8d"
@@ -8834,6 +8847,7 @@
  "pallet-foreign-assets",
  "pallet-fungible",
  "pallet-inflation",
+ "pallet-maintenance",
  "pallet-nonfungible",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
@@ -12964,6 +12978,7 @@
  "pallet-foreign-assets",
  "pallet-fungible",
  "pallet-inflation",
+ "pallet-maintenance",
  "pallet-nonfungible",
  "pallet-randomness-collective-flip",
  "pallet-refungible",
addedpallets/maintenance/Cargo.tomldiffbeforeafterboth
--- /dev/null
+++ b/pallets/maintenance/Cargo.toml
@@ -0,0 +1,35 @@
+[package]
+name = "pallet-maintenance"
+version = "0.1.0"
+authors = ["Unique Network <support@uniquenetwork.io>"]
+edition = "2021"
+license = "GPLv3"
+homepage = "https://unique.network"
+repository = "https://github.com/UniqueNetwork/unique-chain"
+description = "Unique Maintenance pallet"
+readme = "README.md"
+
+[dependencies]
+codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] }
+scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
+frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
+frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
+sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.30" }
+
+[features]
+default = ["std"]
+std = [
+	"codec/std",
+	"scale-info/std",
+	"frame-support/std",
+	"frame-system/std",
+	"frame-benchmarking/std",
+	"sp-std/std",
+]
+runtime-benchmarks = [
+	"frame-benchmarking",
+	"frame-support/runtime-benchmarks",
+	"frame-system/runtime-benchmarks",
+]
+try-runtime = ["frame-support/try-runtime"]
addedpallets/maintenance/src/benchmarking.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/maintenance/src/benchmarking.rs
@@ -0,0 +1,37 @@
+// 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 super::*;
+use crate::{Pallet as Maintenance, Config};
+
+use frame_benchmarking::benchmarks;
+use frame_system::RawOrigin;
+use frame_support::ensure;
+
+benchmarks! {
+	enable {
+	}: _(RawOrigin::Root)
+	verify {
+		ensure!(<Enabled<T>>::get(), "didn't enable the MM");
+	}
+
+	disable {
+		Maintenance::<T>::enable(RawOrigin::Root.into())?;
+	}: _(RawOrigin::Root)
+	verify {
+		ensure!(!<Enabled<T>>::get(), "didn't disable the MM");
+	}
+}
addedpallets/maintenance/src/lib.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/maintenance/src/lib.rs
@@ -0,0 +1,80 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+#![cfg_attr(not(feature = "std"), no_std)]
+
+pub use pallet::*;
+
+#[cfg(feature = "runtime-benchmarks")]
+pub mod benchmarking;
+
+pub mod weights;
+
+#[frame_support::pallet]
+pub mod pallet {
+	use frame_support::pallet_prelude::*;
+	use frame_system::pallet_prelude::*;
+	use crate::weights::WeightInfo;
+
+	#[pallet::config]
+	pub trait Config: frame_system::Config {
+		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
+		type WeightInfo: WeightInfo;
+	}
+
+	#[pallet::event]
+	#[pallet::generate_deposit(pub(super) fn deposit_event)]
+	pub enum Event<T: Config> {
+		MaintenanceEnabled,
+		MaintenanceDisabled,
+	}
+
+	#[pallet::pallet]
+	#[pallet::generate_store(pub(super) trait Store)]
+	pub struct Pallet<T>(_);
+
+	#[pallet::storage]
+	#[pallet::getter(fn is_enabled)]
+	pub type Enabled<T> = StorageValue<_, bool, ValueQuery>;
+
+	#[pallet::error]
+	pub enum Error<T> {}
+
+	#[pallet::call]
+	impl<T: Config> Pallet<T> {
+		#[pallet::weight(<T as Config>::WeightInfo::enable())]
+		pub fn enable(origin: OriginFor<T>) -> DispatchResult {
+			ensure_root(origin)?;
+
+			<Enabled<T>>::set(true);
+
+			Self::deposit_event(Event::MaintenanceEnabled);
+
+			Ok(())
+		}
+
+		#[pallet::weight(<T as Config>::WeightInfo::disable())]
+		pub fn disable(origin: OriginFor<T>) -> DispatchResult {
+			ensure_root(origin)?;
+
+			<Enabled<T>>::set(false);
+
+			Self::deposit_event(Event::MaintenanceDisabled);
+
+			Ok(())
+		}
+	}
+}
addedpallets/maintenance/src/weights.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/maintenance/src/weights.rs
@@ -0,0 +1,67 @@
+// Template adopted from https://github.com/paritytech/substrate/blob/master/.maintain/frame-weight-template.hbs
+
+//! 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: `[]`
+//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
+
+// Executed Command:
+// target/release/unique-collator
+// benchmark
+// pallet
+// --pallet
+// pallet-maintenance
+// --wasm-execution
+// compiled
+// --extrinsic
+// *
+// --template
+// .maintain/frame-weight-template.hbs
+// --steps=50
+// --repeat=80
+// --heap-pages=4096
+// --output=./pallets/maintenance/src/weights.rs
+
+#![cfg_attr(rustfmt, rustfmt_skip)]
+#![allow(unused_parens)]
+#![allow(unused_imports)]
+#![allow(clippy::unnecessary_cast)]
+
+use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
+use sp_std::marker::PhantomData;
+
+/// Weight functions needed for pallet_maintenance.
+pub trait WeightInfo {
+	fn enable() -> Weight;
+	fn disable() -> Weight;
+}
+
+/// Weights for pallet_maintenance using the Substrate node and recommended hardware.
+pub struct SubstrateWeight<T>(PhantomData<T>);
+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))
+	}
+	// Storage: Maintenance Enabled (r:0 w:1)
+	fn disable() -> Weight {
+		Weight::from_ref_time(7_273_000)
+			.saturating_add(T::DbWeight::get().writes(1))
+	}
+}
+
+// For backwards compatibility and tests
+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))
+	}
+	// Storage: Maintenance Enabled (r:0 w:1)
+	fn disable() -> Weight {
+		Weight::from_ref_time(7_273_000)
+			.saturating_add(RocksDbWeight::get().writes(1))
+	}
+}
modifiedruntime/common/config/pallets/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -103,3 +103,8 @@
 	type DefaultWeightToFeeCoefficient = ConstU32<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>;
 	type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>;
 }
+
+impl pallet_maintenance::Config for Runtime {
+	type RuntimeEvent = RuntimeEvent;
+	type WeightInfo = pallet_maintenance::weights::SubstrateWeight<Self>;
+}
modifiedruntime/common/construct_runtime/mod.rsdiffbeforeafterboth
--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -94,6 +94,8 @@
                 EvmTransactionPayment: pallet_evm_transaction_payment::{Pallet} = 152,
                 EvmMigration: pallet_evm_migration::{Pallet, Call, Storage} = 153,
 
+                Maintenance: pallet_maintenance::{Pallet, Call, Storage, Event<T>} = 154,
+
                 #[runtimes(opal)]
                 TestUtils: pallet_test_utils = 255,
             }
modifiedruntime/common/ethereum/self_contained_call.rsdiffbeforeafterboth
--- a/runtime/common/ethereum/self_contained_call.rs
+++ b/runtime/common/ethereum/self_contained_call.rs
@@ -17,9 +17,9 @@
 use sp_core::H160;
 use sp_runtime::{
 	traits::{Dispatchable, DispatchInfoOf, PostDispatchInfoOf},
-	transaction_validity::{TransactionValidityError, TransactionValidity},
+	transaction_validity::{TransactionValidityError, TransactionValidity, InvalidTransaction},
 };
-use crate::{RuntimeOrigin, RuntimeCall};
+use crate::{RuntimeOrigin, RuntimeCall, Maintenance};
 
 impl fp_self_contained::SelfContainedCall for RuntimeCall {
 	type SignedInfo = H160;
@@ -33,7 +33,15 @@
 
 	fn check_self_contained(&self) -> Option<Result<Self::SignedInfo, TransactionValidityError>> {
 		match self {
-			RuntimeCall::Ethereum(call) => call.check_self_contained(),
+			RuntimeCall::Ethereum(call) => {
+				if Maintenance::is_enabled() {
+					Some(Err(TransactionValidityError::Invalid(
+						InvalidTransaction::Call,
+					)))
+				} else {
+					call.check_self_contained()
+				}
+			}
 			_ => None,
 		}
 	}
@@ -45,7 +53,15 @@
 		len: usize,
 	) -> Option<TransactionValidity> {
 		match self {
-			RuntimeCall::Ethereum(call) => call.validate_self_contained(info, dispatch_info, len),
+			RuntimeCall::Ethereum(call) => {
+				if Maintenance::is_enabled() {
+					Some(Err(TransactionValidityError::Invalid(
+						InvalidTransaction::Call,
+					)))
+				} else {
+					call.validate_self_contained(info, dispatch_info, len)
+				}
+			}
 			_ => None,
 		}
 	}
addedruntime/common/maintenance.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/common/maintenance.rs
@@ -0,0 +1,122 @@
+// 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 scale_info::TypeInfo;
+use codec::{Encode, Decode};
+use up_common::types::AccountId;
+use crate::{RuntimeCall, Maintenance};
+
+use sp_runtime::{
+	traits::{DispatchInfoOf, SignedExtension},
+	transaction_validity::{
+		TransactionValidity, ValidTransaction, InvalidTransaction, TransactionValidityError,
+	},
+};
+
+#[derive(Debug, Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]
+pub struct CheckMaintenance;
+
+impl SignedExtension for CheckMaintenance {
+	type AccountId = AccountId;
+	type Call = RuntimeCall;
+	type AdditionalSigned = ();
+	type Pre = ();
+
+	const IDENTIFIER: &'static str = "CheckMaintenance";
+
+	fn additional_signed(&self) -> Result<Self::AdditionalSigned, TransactionValidityError> {
+		Ok(())
+	}
+
+	fn pre_dispatch(
+		self,
+		who: &Self::AccountId,
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<Self::Pre, TransactionValidityError> {
+		self.validate(who, call, info, len).map(|_| ())
+	}
+
+	fn validate(
+		&self,
+		_who: &Self::AccountId,
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		if Maintenance::is_enabled() {
+			match call {
+				RuntimeCall::EvmMigration(_)
+				| RuntimeCall::EVM(_)
+				| RuntimeCall::Ethereum(_)
+				| RuntimeCall::Inflation(_)
+				| RuntimeCall::Structure(_)
+				| RuntimeCall::Unique(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
+
+				#[cfg(feature = "scheduler")]
+				RuntimeCall::Scheduler(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
+
+				#[cfg(feature = "rmrk")]
+				RuntimeCall::RmrkCore(_) | RuntimeCall::RmrkEquip(_) => {
+					Err(TransactionValidityError::Invalid(InvalidTransaction::Call))
+				}
+
+				#[cfg(feature = "app-promotion")]
+				RuntimeCall::AppPromotion(_) => {
+					Err(TransactionValidityError::Invalid(InvalidTransaction::Call))
+				}
+
+				#[cfg(feature = "foreign-assets")]
+				RuntimeCall::ForeignAssets(_) => {
+					Err(TransactionValidityError::Invalid(InvalidTransaction::Call))
+				}
+
+				#[cfg(feature = "pallet-test-utils")]
+				RuntimeCall::TestUtils(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)),
+
+				_ => Ok(ValidTransaction::default()),
+			}
+		} else {
+			Ok(ValidTransaction::default())
+		}
+	}
+
+	fn pre_dispatch_unsigned(
+		call: &Self::Call,
+		info: &DispatchInfoOf<Self::Call>,
+		len: usize,
+	) -> Result<(), TransactionValidityError> {
+		Self::validate_unsigned(call, info, len).map(|_| ())
+	}
+
+	fn validate_unsigned(
+		call: &Self::Call,
+		_info: &DispatchInfoOf<Self::Call>,
+		_len: usize,
+	) -> TransactionValidity {
+		if Maintenance::is_enabled() {
+			match call {
+				RuntimeCall::EVM(_) | RuntimeCall::Ethereum(_) | RuntimeCall::EvmMigration(_) => {
+					Err(TransactionValidityError::Invalid(InvalidTransaction::Call))
+				}
+				_ => Ok(ValidTransaction::default()),
+			}
+		} else {
+			Ok(ValidTransaction::default())
+		}
+	}
+}
modifiedruntime/common/mod.rsdiffbeforeafterboth
--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -19,6 +19,7 @@
 pub mod dispatch;
 pub mod ethereum;
 pub mod instance;
+pub mod maintenance;
 pub mod runtime_apis;
 
 #[cfg(feature = "scheduler")]
@@ -90,6 +91,7 @@
 	frame_system::CheckEra<Runtime>,
 	frame_system::CheckNonce<Runtime>,
 	frame_system::CheckWeight<Runtime>,
+	maintenance::CheckMaintenance,
 	ChargeTransactionPayment,
 	//pallet_contract_helpers::ContractHelpersExtension<Runtime>,
 	pallet_ethereum::FakeTransactionFinalizer<Runtime>,
modifiedruntime/common/scheduler.rsdiffbeforeafterboth
--- a/runtime/common/scheduler.rs
+++ b/runtime/common/scheduler.rs
@@ -25,7 +25,7 @@
 	DispatchErrorWithPostInfo, DispatchError,
 };
 use codec::Encode;
-use crate::{Runtime, RuntimeCall, RuntimeOrigin, Balances};
+use crate::{Runtime, RuntimeCall, RuntimeOrigin, Balances, maintenance};
 use up_common::types::{AccountId, Balance};
 use fp_self_contained::SelfContainedCall;
 use pallet_unique_scheduler::DispatchCall;
@@ -41,6 +41,7 @@
 	frame_system::CheckEra<Runtime>,
 	frame_system::CheckNonce<Runtime>,
 	frame_system::CheckWeight<Runtime>,
+	maintenance::CheckMaintenance,
 	ChargeTransactionPayment<Runtime>,
 );
 
@@ -53,6 +54,7 @@
 			from,
 		)),
 		frame_system::CheckWeight::<Runtime>::new(),
+		maintenance::CheckMaintenance,
 		ChargeTransactionPayment::<Runtime>::from(0),
 	)
 }
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -45,6 +45,7 @@
     'pallet-xcm/runtime-benchmarks',
     'sp-runtime/runtime-benchmarks',
     'xcm-builder/runtime-benchmarks',
+    'pallet-maintenance/runtime-benchmarks',
 ]
 try-runtime = [
     'frame-try-runtime',
@@ -88,6 +89,7 @@
     'pallet-evm-contract-helpers/try-runtime',
     'pallet-evm-transaction-payment/try-runtime',
     'pallet-evm-migration/try-runtime',
+    'pallet-maintenance/try-runtime',
     'pallet-test-utils?/try-runtime',
 ]
 std = [
@@ -169,6 +171,7 @@
     "orml-traits/std",
     "pallet-foreign-assets/std",
 
+    'pallet-maintenance/std',
     'pallet-test-utils?/std',
 ]
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
@@ -485,6 +488,7 @@
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.30' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
+pallet-maintenance = { default-features = false, path = "../../pallets/maintenance" }
 
 ################################################################################
 # Test dependencies
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -44,6 +44,7 @@
     'pallet-xcm/runtime-benchmarks',
     'sp-runtime/runtime-benchmarks',
     'xcm-builder/runtime-benchmarks',
+    'pallet-maintenance/runtime-benchmarks',
 ]
 try-runtime = [
     'frame-try-runtime',
@@ -87,6 +88,7 @@
     'pallet-evm-contract-helpers/try-runtime',
     'pallet-evm-transaction-payment/try-runtime',
     'pallet-evm-migration/try-runtime',
+    'pallet-maintenance/try-runtime',
 ]
 std = [
     'codec/std',
@@ -165,6 +167,7 @@
     "orml-xtokens/std",
     "orml-traits/std",
     "pallet-foreign-assets/std",
+    "pallet-maintenance/std",
 ]
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
 quartz-runtime = ['refungible']
@@ -487,6 +490,7 @@
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.30' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
+pallet-maintenance = { default-features = false, path = "../../pallets/maintenance" }
 
 ################################################################################
 # Other Dependencies
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -45,6 +45,7 @@
     'sp-runtime/runtime-benchmarks',
     'xcm-builder/runtime-benchmarks',
     'up-data-structs/runtime-benchmarks',
+    'pallet-maintenance/runtime-benchmarks',
 ]
 try-runtime = [
     'frame-try-runtime',
@@ -88,6 +89,7 @@
     'pallet-evm-contract-helpers/try-runtime',
     'pallet-evm-transaction-payment/try-runtime',
     'pallet-evm-migration/try-runtime',
+    'pallet-maintenance/try-runtime',
 ]
 std = [
     'codec/std',
@@ -166,6 +168,7 @@
     "orml-xtokens/std",
     "orml-traits/std",
     "pallet-foreign-assets/std",
+    "pallet-maintenance/std",
 ]
 limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']
 unique-runtime = []
@@ -482,6 +485,7 @@
 evm-coder = { default-features = false, path = '../../crates/evm-coder' }
 up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.30' }
 pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }
+pallet-maintenance = { default-features = false, path = "../../pallets/maintenance" }
 
 ################################################################################
 # Other Dependencies
modifiedtests/package.jsondiffbeforeafterboth
--- a/tests/package.json
+++ b/tests/package.json
@@ -70,7 +70,7 @@
     "testBurnItem": "mocha --timeout 9999999 -r ts-node/register ./**/burnItem.test.ts",
     "testAdminTransferAndBurn": "mocha --timeout 9999999 -r ts-node/register ./**/adminTransferAndBurn.test.ts",
     "testSetPermissions": "mocha --timeout 9999999 -r ts-node/register ./**/setPermissions.test.ts",
-    "testCreditFeesToTreasury": "mocha --timeout 9999999 -r ts-node/register ./**/creditFeesToTreasury.test.ts",
+    "testCreditFeesToTreasury": "mocha --timeout 9999999 -r ts-node/register ./**/creditFeesToTreasury.seqtest.ts",
     "testContractSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/eth/contractSponsoring.test.ts",
     "testEnableContractSponsoring": "mocha --timeout 9999999 -r ts-node/register ./**/enableContractSponsoring.test.ts",
     "testRemoveFromContractAllowList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromContractAllowList.test.ts",
@@ -78,8 +78,9 @@
     "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",
-    "testInflation": "mocha --timeout 9999999 -r ts-node/register ./**/inflation.test.ts",
-    "testScheduler": "mocha --timeout 9999999 -r ts-node/register ./**/scheduler.test.ts",
+    "testMaintenance": "mocha --timeout 9999999 -r ts-node/register ./**/maintenanceMode.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",
     "testPalletPresence": "mocha --timeout 9999999 -r ts-node/register ./**/pallet-presence.test.ts",
     "testBlockProduction": "mocha --timeout 9999999 -r ts-node/register ./**/block-production.test.ts",
@@ -93,7 +94,7 @@
     "testFT": "mocha --timeout 9999999 -r ts-node/register ./**/fungible.test.ts",
     "testEthFT": "mocha --timeout 9999999 -r ts-node/register ./**/eth/fungible.test.ts",
     "testRPC": "mocha --timeout 9999999 -r ts-node/register ./**/rpc.test.ts",
-    "testPromotion": "yarn setup && mocha --timeout 9999999 -r ts-node/register ./**/app-promotion.test.ts",
+    "testPromotion": "yarn setup && mocha --timeout 9999999 -r ts-node/register ./**/app-promotion.*test.ts",
     "testXcmUnique": "RUN_XCM_TESTS=1 mocha --timeout 9999999 -r ts-node/register ./**/xcm/xcmUnique.test.ts",
     "testXcmQuartz": "RUN_XCM_TESTS=1 mocha --timeout 9999999 -r ts-node/register ./**/xcm/xcmQuartz.test.ts",
     "testXcmOpal": "RUN_XCM_TESTS=1 mocha --timeout 9999999 -r ts-node/register ./**/xcm/xcmOpal.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
@@ -8,7 +8,7 @@
 import type { ApiTypes, AugmentedConst } from '@polkadot/api-base/types';
 import type { Option, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { Codec } from '@polkadot/types-codec/types';
-import type { Perbill, Permill } from '@polkadot/types/interfaces/runtime';
+import type { Perbill, Permill, Weight } from '@polkadot/types/interfaces/runtime';
 import type { FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, XcmV1MultiLocation } from '@polkadot/types/lookup';
 
 export type __AugmentedConst<ApiType extends ApiTypes> = AugmentedConst<ApiType>;
@@ -92,6 +92,22 @@
        **/
       [key: string]: Codec;
     };
+    scheduler: {
+      /**
+       * The maximum weight that may be scheduled per block for any dispatchables of less
+       * priority than `schedule::HARD_DEADLINE`.
+       **/
+      maximumWeight: Weight & AugmentedConst<ApiType>;
+      /**
+       * The maximum number of scheduled calls in the queue for a single block.
+       * Not strictly enforced, but used for weight estimation.
+       **/
+      maxScheduledPerBlock: u32 & AugmentedConst<ApiType>;
+      /**
+       * Generic const
+       **/
+      [key: string]: Codec;
+    };
     system: {
       /**
        * Maximum number of block number to block hash mappings to keep (oldest pruned first).
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -374,6 +374,12 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    maintenance: {
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     nonfungible: {
       /**
        * Unable to burn NFT with children
@@ -636,6 +642,28 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    scheduler: {
+      /**
+       * Failed to schedule a call
+       **/
+      FailedToSchedule: AugmentedError<ApiType>;
+      /**
+       * Cannot find the scheduled call.
+       **/
+      NotFound: AugmentedError<ApiType>;
+      /**
+       * Reschedule failed because it does not change scheduled time.
+       **/
+      RescheduleNoChange: AugmentedError<ApiType>;
+      /**
+       * Given target block number is in the past.
+       **/
+      TargetBlockNumberInPast: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     structure: {
       /**
        * While nesting, reached the breadth limit of nesting, exceeding the provided budget.
@@ -702,6 +730,14 @@
        **/
       [key: string]: AugmentedError<ApiType>;
     };
+    testUtils: {
+      TestPalletDisabled: AugmentedError<ApiType>;
+      TriggerRollback: AugmentedError<ApiType>;
+      /**
+       * Generic error
+       **/
+      [key: string]: AugmentedError<ApiType>;
+    };
     tokens: {
       /**
        * Cannot convert Amount into Balance type
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -7,8 +7,9 @@
 
 import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
 import type { Bytes, Null, Option, Result, U256, U8aFixed, bool, u128, u32, u64, u8 } from '@polkadot/types-codec';
+import type { ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256, Weight } from '@polkadot/types/interfaces/runtime';
-import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, SpRuntimeDispatchError, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
+import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportScheduleLookupError, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, SpRuntimeDispatchError, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetMultiAssets, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup';
 
 export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
 
@@ -285,6 +286,14 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    maintenance: {
+      MaintenanceDisabled: AugmentedEvent<ApiType, []>;
+      MaintenanceEnabled: AugmentedEvent<ApiType, []>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     parachainSystem: {
       /**
        * Downward messages were processed using the given weight.
@@ -466,6 +475,32 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    scheduler: {
+      /**
+       * The call for the provided hash was not found so the task has been aborted.
+       **/
+      CallLookupFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, error: FrameSupportScheduleLookupError], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, error: FrameSupportScheduleLookupError }>;
+      /**
+       * Canceled some task.
+       **/
+      Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
+      /**
+       * Dispatched some task.
+       **/
+      Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError> }>;
+      /**
+       * Scheduled task's priority has changed
+       **/
+      PriorityChanged: AugmentedEvent<ApiType, [when: u32, index: u32, priority: u8], { when: u32, index: u32, priority: u8 }>;
+      /**
+       * Scheduled some task.
+       **/
+      Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     structure: {
       /**
        * Executed call on behalf of the token.
@@ -524,6 +559,14 @@
        **/
       [key: string]: AugmentedEvent<ApiType>;
     };
+    testUtils: {
+      ShouldRollback: AugmentedEvent<ApiType, []>;
+      ValueIsSet: AugmentedEvent<ApiType, []>;
+      /**
+       * Generic event
+       **/
+      [key: string]: AugmentedEvent<ApiType>;
+    };
     tokens: {
       /**
        * A balance was set by root.
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,10 @@
 import '@polkadot/api-base/types/storage';
 
 import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';
-import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+import type { BTreeMap, Bytes, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, H160, H256, Weight } 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, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, 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, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerScheduledV3, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, 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>;
@@ -389,6 +389,13 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    maintenance: {
+      enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     nonfungible: {
       /**
        * Amount of tokens owned by an account in a collection.
@@ -670,6 +677,20 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    scheduler: {
+      /**
+       * Items to be executed, indexed by the block number that they should be executed on.
+       **/
+      agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletUniqueSchedulerScheduledV3>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+      /**
+       * Lookup from identity to the block number and index of the task.
+       **/
+      lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     structure: {
       /**
        * Generic query
@@ -772,6 +793,14 @@
        **/
       [key: string]: QueryableStorageEntry<ApiType>;
     };
+    testUtils: {
+      enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+      testValue: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+      /**
+       * Generic query
+       **/
+      [key: string]: QueryableStorageEntry<ApiType>;
+    };
     timestamp: {
       /**
        * Did the timestamp get updated in this block?
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,10 @@
 import '@polkadot/api-base/types/submittable';
 
 import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types';
-import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
+import type { Bytes, Compact, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
 import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types';
 import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill, Weight } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV1MultiLocation, XcmV2WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumTransactionTransactionV2, FrameSupportScheduleMaybeHashed, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsPartEquippableList, RmrkTraitsPartPartType, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, 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>;
@@ -332,6 +332,14 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    maintenance: {
+      disable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      enable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     parachainSystem: {
       authorizeUpgrade: AugmentedSubmittable<(codeHash: H256 | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256]>;
       enactAuthorizedUpgrade: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Bytes]>;
@@ -821,6 +829,29 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    scheduler: {
+      /**
+       * Cancel a named scheduled task.
+       **/
+      cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>;
+      changeNamedPriority: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, priority: u8 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u8]>;
+      /**
+       * Schedule a named task.
+       **/
+      scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: Option<u8> | null | Uint8Array | u8 | AnyNumber, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, Option<u8>, FrameSupportScheduleMaybeHashed]>;
+      /**
+       * Schedule a named task after a delay.
+       * 
+       * # <weight>
+       * Same as [`schedule_named`](Self::schedule_named).
+       * # </weight>
+       **/
+      scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: Option<u8> | null | Uint8Array | u8 | AnyNumber, call: FrameSupportScheduleMaybeHashed | { Value: any } | { Hash: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, Option<u8>, FrameSupportScheduleMaybeHashed]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     structure: {
       /**
        * Generic tx
@@ -954,6 +985,18 @@
        **/
       [key: string]: SubmittableExtrinsicFunction<ApiType>;
     };
+    testUtils: {
+      enable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      incTestValue: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      justTakeFee: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+      selfCancelingInc: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, maxTestValue: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32]>;
+      setTestValue: AugmentedSubmittable<(value: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      setTestValueAndRollback: AugmentedSubmittable<(value: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32]>;
+      /**
+       * Generic tx
+       **/
+      [key: string]: SubmittableExtrinsicFunction<ApiType>;
+    };
     timestamp: {
       /**
        * Set the current time.
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, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, 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, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, 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, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, 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, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, 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, 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';
@@ -328,6 +328,7 @@
     CumulusPalletXcmCall: CumulusPalletXcmCall;
     CumulusPalletXcmError: CumulusPalletXcmError;
     CumulusPalletXcmEvent: CumulusPalletXcmEvent;
+    CumulusPalletXcmOrigin: CumulusPalletXcmOrigin;
     CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall;
     CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError;
     CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent;
@@ -523,7 +524,10 @@
     FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32;
     FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight;
     FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
+    FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin;
     FrameSupportPalletId: FrameSupportPalletId;
+    FrameSupportScheduleLookupError: FrameSupportScheduleLookupError;
+    FrameSupportScheduleMaybeHashed: FrameSupportScheduleMaybeHashed;
     FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
     FrameSystemAccountInfo: FrameSystemAccountInfo;
     FrameSystemCall: FrameSystemCall;
@@ -769,7 +773,9 @@
     OffenceDetails: OffenceDetails;
     Offender: Offender;
     OldV1SessionInfo: OldV1SessionInfo;
+    OpalRuntimeOriginCaller: OpalRuntimeOriginCaller;
     OpalRuntimeRuntime: OpalRuntimeRuntime;
+    OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
     OpaqueCall: OpaqueCall;
     OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof;
     OpaqueMetadata: OpaqueMetadata;
@@ -835,6 +841,7 @@
     PalletEthereumError: PalletEthereumError;
     PalletEthereumEvent: PalletEthereumEvent;
     PalletEthereumFakeTransactionFinalizer: PalletEthereumFakeTransactionFinalizer;
+    PalletEthereumRawOrigin: PalletEthereumRawOrigin;
     PalletEventMetadataLatest: PalletEventMetadataLatest;
     PalletEventMetadataV14: PalletEventMetadataV14;
     PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
@@ -856,6 +863,9 @@
     PalletFungibleError: PalletFungibleError;
     PalletId: PalletId;
     PalletInflationCall: PalletInflationCall;
+    PalletMaintenanceCall: PalletMaintenanceCall;
+    PalletMaintenanceError: PalletMaintenanceError;
+    PalletMaintenanceEvent: PalletMaintenanceEvent;
     PalletMetadataLatest: PalletMetadataLatest;
     PalletMetadataV14: PalletMetadataV14;
     PalletNonfungibleError: PalletNonfungibleError;
@@ -879,6 +889,9 @@
     PalletSudoEvent: PalletSudoEvent;
     PalletTemplateTransactionPaymentCall: PalletTemplateTransactionPaymentCall;
     PalletTemplateTransactionPaymentChargeTransactionPayment: PalletTemplateTransactionPaymentChargeTransactionPayment;
+    PalletTestUtilsCall: PalletTestUtilsCall;
+    PalletTestUtilsError: PalletTestUtilsError;
+    PalletTestUtilsEvent: PalletTestUtilsEvent;
     PalletTimestampCall: PalletTimestampCall;
     PalletTransactionPaymentEvent: PalletTransactionPaymentEvent;
     PalletTransactionPaymentReleases: PalletTransactionPaymentReleases;
@@ -889,10 +902,15 @@
     PalletUniqueCall: PalletUniqueCall;
     PalletUniqueError: PalletUniqueError;
     PalletUniqueRawEvent: PalletUniqueRawEvent;
+    PalletUniqueSchedulerCall: PalletUniqueSchedulerCall;
+    PalletUniqueSchedulerError: PalletUniqueSchedulerError;
+    PalletUniqueSchedulerEvent: PalletUniqueSchedulerEvent;
+    PalletUniqueSchedulerScheduledV3: PalletUniqueSchedulerScheduledV3;
     PalletVersion: PalletVersion;
     PalletXcmCall: PalletXcmCall;
     PalletXcmError: PalletXcmError;
     PalletXcmEvent: PalletXcmEvent;
+    PalletXcmOrigin: PalletXcmOrigin;
     ParachainDispatchOrigin: ParachainDispatchOrigin;
     ParachainInherentData: ParachainInherentData;
     ParachainProposal: ParachainProposal;
@@ -1166,6 +1184,7 @@
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
+    SpCoreVoid: SpCoreVoid;
     SpecVersion: SpecVersion;
     SpRuntimeArithmeticError: SpRuntimeArithmeticError;
     SpRuntimeDigest: SpRuntimeDigest;
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -153,6 +153,14 @@
   readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';
 }
 
+/** @name CumulusPalletXcmOrigin */
+export interface CumulusPalletXcmOrigin extends Enum {
+  readonly isRelay: boolean;
+  readonly isSiblingParachain: boolean;
+  readonly asSiblingParachain: u32;
+  readonly type: 'Relay' | 'SiblingParachain';
+}
+
 /** @name CumulusPalletXcmpQueueCall */
 export interface CumulusPalletXcmpQueueCall extends Enum {
   readonly isServiceOverweight: boolean;
@@ -536,9 +544,34 @@
   readonly mandatory: FrameSystemLimitsWeightsPerClass;
 }
 
+/** @name FrameSupportDispatchRawOrigin */
+export interface FrameSupportDispatchRawOrigin extends Enum {
+  readonly isRoot: boolean;
+  readonly isSigned: boolean;
+  readonly asSigned: AccountId32;
+  readonly isNone: boolean;
+  readonly type: 'Root' | 'Signed' | 'None';
+}
+
 /** @name FrameSupportPalletId */
 export interface FrameSupportPalletId extends U8aFixed {}
 
+/** @name FrameSupportScheduleLookupError */
+export interface FrameSupportScheduleLookupError extends Enum {
+  readonly isUnknown: boolean;
+  readonly isBadFormat: boolean;
+  readonly type: 'Unknown' | 'BadFormat';
+}
+
+/** @name FrameSupportScheduleMaybeHashed */
+export interface FrameSupportScheduleMaybeHashed extends Enum {
+  readonly isValue: boolean;
+  readonly asValue: Call;
+  readonly isHash: boolean;
+  readonly asHash: H256;
+  readonly type: 'Value' | 'Hash';
+}
+
 /** @name FrameSupportTokensMiscBalanceStatus */
 export interface FrameSupportTokensMiscBalanceStatus extends Enum {
   readonly isFree: boolean;
@@ -693,9 +726,27 @@
   readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
 }
 
+/** @name OpalRuntimeOriginCaller */
+export interface OpalRuntimeOriginCaller extends Enum {
+  readonly isSystem: boolean;
+  readonly asSystem: FrameSupportDispatchRawOrigin;
+  readonly isVoid: boolean;
+  readonly asVoid: SpCoreVoid;
+  readonly isPolkadotXcm: boolean;
+  readonly asPolkadotXcm: PalletXcmOrigin;
+  readonly isCumulusXcm: boolean;
+  readonly asCumulusXcm: CumulusPalletXcmOrigin;
+  readonly isEthereum: boolean;
+  readonly asEthereum: PalletEthereumRawOrigin;
+  readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';
+}
+
 /** @name OpalRuntimeRuntime */
 export interface OpalRuntimeRuntime extends Null {}
 
+/** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */
+export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {}
+
 /** @name OrmlTokensAccountData */
 export interface OrmlTokensAccountData extends Struct {
   readonly free: u128;
@@ -1303,6 +1354,13 @@
 /** @name PalletEthereumFakeTransactionFinalizer */
 export interface PalletEthereumFakeTransactionFinalizer extends Null {}
 
+/** @name PalletEthereumRawOrigin */
+export interface PalletEthereumRawOrigin extends Enum {
+  readonly isEthereumTransaction: boolean;
+  readonly asEthereumTransaction: H160;
+  readonly type: 'EthereumTransaction';
+}
+
 /** @name PalletEvmAccountBasicCrossAccountIdRepr */
 export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
   readonly isSubstrate: boolean;
@@ -1543,6 +1601,23 @@
   readonly type: 'StartInflation';
 }
 
+/** @name PalletMaintenanceCall */
+export interface PalletMaintenanceCall extends Enum {
+  readonly isEnable: boolean;
+  readonly isDisable: boolean;
+  readonly type: 'Enable' | 'Disable';
+}
+
+/** @name PalletMaintenanceError */
+export interface PalletMaintenanceError extends Null {}
+
+/** @name PalletMaintenanceEvent */
+export interface PalletMaintenanceEvent extends Enum {
+  readonly isMaintenanceEnabled: boolean;
+  readonly isMaintenanceDisabled: boolean;
+  readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
+}
+
 /** @name PalletNonfungibleError */
 export interface PalletNonfungibleError extends Enum {
   readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
@@ -1911,6 +1986,41 @@
 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment */
 export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
+/** @name PalletTestUtilsCall */
+export interface PalletTestUtilsCall extends Enum {
+  readonly isEnable: boolean;
+  readonly isSetTestValue: boolean;
+  readonly asSetTestValue: {
+    readonly value: u32;
+  } & Struct;
+  readonly isSetTestValueAndRollback: boolean;
+  readonly asSetTestValueAndRollback: {
+    readonly value: u32;
+  } & Struct;
+  readonly isIncTestValue: boolean;
+  readonly isSelfCancelingInc: boolean;
+  readonly asSelfCancelingInc: {
+    readonly id: U8aFixed;
+    readonly maxTestValue: u32;
+  } & Struct;
+  readonly isJustTakeFee: boolean;
+  readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'SelfCancelingInc' | 'JustTakeFee';
+}
+
+/** @name PalletTestUtilsError */
+export interface PalletTestUtilsError extends Enum {
+  readonly isTestPalletDisabled: boolean;
+  readonly isTriggerRollback: boolean;
+  readonly type: 'TestPalletDisabled' | 'TriggerRollback';
+}
+
+/** @name PalletTestUtilsEvent */
+export interface PalletTestUtilsEvent extends Enum {
+  readonly isValueIsSet: boolean;
+  readonly isShouldRollback: boolean;
+  readonly type: 'ValueIsSet' | 'ShouldRollback';
+}
+
 /** @name PalletTimestampCall */
 export interface PalletTimestampCall extends Enum {
   readonly isSet: boolean;
@@ -2217,6 +2327,87 @@
   readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';
 }
 
+/** @name PalletUniqueSchedulerCall */
+export interface PalletUniqueSchedulerCall extends Enum {
+  readonly isScheduleNamed: boolean;
+  readonly asScheduleNamed: {
+    readonly id: U8aFixed;
+    readonly when: u32;
+    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+    readonly priority: Option<u8>;
+    readonly call: FrameSupportScheduleMaybeHashed;
+  } & Struct;
+  readonly isCancelNamed: boolean;
+  readonly asCancelNamed: {
+    readonly id: U8aFixed;
+  } & Struct;
+  readonly isScheduleNamedAfter: boolean;
+  readonly asScheduleNamedAfter: {
+    readonly id: U8aFixed;
+    readonly after: u32;
+    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+    readonly priority: Option<u8>;
+    readonly call: FrameSupportScheduleMaybeHashed;
+  } & Struct;
+  readonly isChangeNamedPriority: boolean;
+  readonly asChangeNamedPriority: {
+    readonly id: U8aFixed;
+    readonly priority: u8;
+  } & Struct;
+  readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter' | 'ChangeNamedPriority';
+}
+
+/** @name PalletUniqueSchedulerError */
+export interface PalletUniqueSchedulerError extends Enum {
+  readonly isFailedToSchedule: boolean;
+  readonly isNotFound: boolean;
+  readonly isTargetBlockNumberInPast: boolean;
+  readonly isRescheduleNoChange: boolean;
+  readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';
+}
+
+/** @name PalletUniqueSchedulerEvent */
+export interface PalletUniqueSchedulerEvent extends Enum {
+  readonly isScheduled: boolean;
+  readonly asScheduled: {
+    readonly when: u32;
+    readonly index: u32;
+  } & Struct;
+  readonly isCanceled: boolean;
+  readonly asCanceled: {
+    readonly when: u32;
+    readonly index: u32;
+  } & Struct;
+  readonly isPriorityChanged: boolean;
+  readonly asPriorityChanged: {
+    readonly when: u32;
+    readonly index: u32;
+    readonly priority: u8;
+  } & Struct;
+  readonly isDispatched: boolean;
+  readonly asDispatched: {
+    readonly task: ITuple<[u32, u32]>;
+    readonly id: Option<U8aFixed>;
+    readonly result: Result<Null, SpRuntimeDispatchError>;
+  } & Struct;
+  readonly isCallLookupFailed: boolean;
+  readonly asCallLookupFailed: {
+    readonly task: ITuple<[u32, u32]>;
+    readonly id: Option<U8aFixed>;
+    readonly error: FrameSupportScheduleLookupError;
+  } & Struct;
+  readonly type: 'Scheduled' | 'Canceled' | 'PriorityChanged' | 'Dispatched' | 'CallLookupFailed';
+}
+
+/** @name PalletUniqueSchedulerScheduledV3 */
+export interface PalletUniqueSchedulerScheduledV3 extends Struct {
+  readonly maybeId: Option<U8aFixed>;
+  readonly priority: u8;
+  readonly call: FrameSupportScheduleMaybeHashed;
+  readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+  readonly origin: OpalRuntimeOriginCaller;
+}
+
 /** @name PalletXcmCall */
 export interface PalletXcmCall extends Enum {
   readonly isSend: boolean;
@@ -2334,6 +2525,15 @@
   readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';
 }
 
+/** @name PalletXcmOrigin */
+export interface PalletXcmOrigin extends Enum {
+  readonly isXcm: boolean;
+  readonly asXcm: XcmV1MultiLocation;
+  readonly isResponse: boolean;
+  readonly asResponse: XcmV1MultiLocation;
+  readonly type: 'Xcm' | 'Response';
+}
+
 /** @name PhantomTypeUpDataStructs */
 export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
 
@@ -2554,6 +2754,9 @@
 /** @name SpCoreSr25519Signature */
 export interface SpCoreSr25519Signature extends U8aFixed {}
 
+/** @name SpCoreVoid */
+export interface SpCoreVoid extends Null {}
+
 /** @name SpRuntimeArithmeticError */
 export interface SpRuntimeArithmeticError extends Enum {
   readonly isUnderflow: boolean;
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: 'Weight',31    operational: 'Weight',32    mandatory: 'Weight'33  },34  /**35   * Lookup12: sp_runtime::generic::digest::Digest36   **/37  SpRuntimeDigest: {38    logs: 'Vec<SpRuntimeDigestDigestItem>'39  },40  /**41   * Lookup14: sp_runtime::generic::digest::DigestItem42   **/43  SpRuntimeDigestDigestItem: {44    _enum: {45      Other: 'Bytes',46      __Unused1: 'Null',47      __Unused2: 'Null',48      __Unused3: 'Null',49      Consensus: '([u8;4],Bytes)',50      Seal: '([u8;4],Bytes)',51      PreRuntime: '([u8;4],Bytes)',52      __Unused7: 'Null',53      RuntimeEnvironmentUpdated: 'Null'54    }55  },56  /**57   * Lookup17: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>58   **/59  FrameSystemEventRecord: {60    phase: 'FrameSystemPhase',61    event: 'Event',62    topics: 'Vec<H256>'63  },64  /**65   * Lookup19: frame_system::pallet::Event<T>66   **/67  FrameSystemEvent: {68    _enum: {69      ExtrinsicSuccess: {70        dispatchInfo: 'FrameSupportDispatchDispatchInfo',71      },72      ExtrinsicFailed: {73        dispatchError: 'SpRuntimeDispatchError',74        dispatchInfo: 'FrameSupportDispatchDispatchInfo',75      },76      CodeUpdated: 'Null',77      NewAccount: {78        account: 'AccountId32',79      },80      KilledAccount: {81        account: 'AccountId32',82      },83      Remarked: {84        _alias: {85          hash_: 'hash',86        },87        sender: 'AccountId32',88        hash_: 'H256'89      }90    }91  },92  /**93   * Lookup20: frame_support::dispatch::DispatchInfo94   **/95  FrameSupportDispatchDispatchInfo: {96    weight: 'Weight',97    class: 'FrameSupportDispatchDispatchClass',98    paysFee: 'FrameSupportDispatchPays'99  },100  /**101   * Lookup21: frame_support::dispatch::DispatchClass102   **/103  FrameSupportDispatchDispatchClass: {104    _enum: ['Normal', 'Operational', 'Mandatory']105  },106  /**107   * Lookup22: frame_support::dispatch::Pays108   **/109  FrameSupportDispatchPays: {110    _enum: ['Yes', 'No']111  },112  /**113   * Lookup23: sp_runtime::DispatchError114   **/115  SpRuntimeDispatchError: {116    _enum: {117      Other: 'Null',118      CannotLookup: 'Null',119      BadOrigin: 'Null',120      Module: 'SpRuntimeModuleError',121      ConsumerRemaining: 'Null',122      NoProviders: 'Null',123      TooManyConsumers: 'Null',124      Token: 'SpRuntimeTokenError',125      Arithmetic: 'SpRuntimeArithmeticError',126      Transactional: 'SpRuntimeTransactionalError'127    }128  },129  /**130   * Lookup24: sp_runtime::ModuleError131   **/132  SpRuntimeModuleError: {133    index: 'u8',134    error: '[u8;4]'135  },136  /**137   * Lookup25: sp_runtime::TokenError138   **/139  SpRuntimeTokenError: {140    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']141  },142  /**143   * Lookup26: sp_runtime::ArithmeticError144   **/145  SpRuntimeArithmeticError: {146    _enum: ['Underflow', 'Overflow', 'DivisionByZero']147  },148  /**149   * Lookup27: sp_runtime::TransactionalError150   **/151  SpRuntimeTransactionalError: {152    _enum: ['LimitReached', 'NoLayer']153  },154  /**155   * Lookup28: cumulus_pallet_parachain_system::pallet::Event<T>156   **/157  CumulusPalletParachainSystemEvent: {158    _enum: {159      ValidationFunctionStored: 'Null',160      ValidationFunctionApplied: {161        relayChainBlockNum: 'u32',162      },163      ValidationFunctionDiscarded: 'Null',164      UpgradeAuthorized: {165        codeHash: 'H256',166      },167      DownwardMessagesReceived: {168        count: 'u32',169      },170      DownwardMessagesProcessed: {171        weightUsed: 'Weight',172        dmqHead: 'H256'173      }174    }175  },176  /**177   * Lookup29: pallet_balances::pallet::Event<T, I>178   **/179  PalletBalancesEvent: {180    _enum: {181      Endowed: {182        account: 'AccountId32',183        freeBalance: 'u128',184      },185      DustLost: {186        account: 'AccountId32',187        amount: 'u128',188      },189      Transfer: {190        from: 'AccountId32',191        to: 'AccountId32',192        amount: 'u128',193      },194      BalanceSet: {195        who: 'AccountId32',196        free: 'u128',197        reserved: 'u128',198      },199      Reserved: {200        who: 'AccountId32',201        amount: 'u128',202      },203      Unreserved: {204        who: 'AccountId32',205        amount: 'u128',206      },207      ReserveRepatriated: {208        from: 'AccountId32',209        to: 'AccountId32',210        amount: 'u128',211        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',212      },213      Deposit: {214        who: 'AccountId32',215        amount: 'u128',216      },217      Withdraw: {218        who: 'AccountId32',219        amount: 'u128',220      },221      Slashed: {222        who: 'AccountId32',223        amount: 'u128'224      }225    }226  },227  /**228   * Lookup30: frame_support::traits::tokens::misc::BalanceStatus229   **/230  FrameSupportTokensMiscBalanceStatus: {231    _enum: ['Free', 'Reserved']232  },233  /**234   * Lookup31: pallet_transaction_payment::pallet::Event<T>235   **/236  PalletTransactionPaymentEvent: {237    _enum: {238      TransactionFeePaid: {239        who: 'AccountId32',240        actualFee: 'u128',241        tip: 'u128'242      }243    }244  },245  /**246   * Lookup32: pallet_treasury::pallet::Event<T, I>247   **/248  PalletTreasuryEvent: {249    _enum: {250      Proposed: {251        proposalIndex: 'u32',252      },253      Spending: {254        budgetRemaining: 'u128',255      },256      Awarded: {257        proposalIndex: 'u32',258        award: 'u128',259        account: 'AccountId32',260      },261      Rejected: {262        proposalIndex: 'u32',263        slashed: 'u128',264      },265      Burnt: {266        burntFunds: 'u128',267      },268      Rollover: {269        rolloverBalance: 'u128',270      },271      Deposit: {272        value: 'u128',273      },274      SpendApproved: {275        proposalIndex: 'u32',276        amount: 'u128',277        beneficiary: 'AccountId32'278      }279    }280  },281  /**282   * Lookup33: pallet_sudo::pallet::Event<T>283   **/284  PalletSudoEvent: {285    _enum: {286      Sudid: {287        sudoResult: 'Result<Null, SpRuntimeDispatchError>',288      },289      KeyChanged: {290        oldSudoer: 'Option<AccountId32>',291      },292      SudoAsDone: {293        sudoResult: 'Result<Null, SpRuntimeDispatchError>'294      }295    }296  },297  /**298   * Lookup37: orml_vesting::module::Event<T>299   **/300  OrmlVestingModuleEvent: {301    _enum: {302      VestingScheduleAdded: {303        from: 'AccountId32',304        to: 'AccountId32',305        vestingSchedule: 'OrmlVestingVestingSchedule',306      },307      Claimed: {308        who: 'AccountId32',309        amount: 'u128',310      },311      VestingSchedulesUpdated: {312        who: 'AccountId32'313      }314    }315  },316  /**317   * Lookup38: orml_vesting::VestingSchedule<BlockNumber, Balance>318   **/319  OrmlVestingVestingSchedule: {320    start: 'u32',321    period: 'u32',322    periodCount: 'u32',323    perPeriod: 'Compact<u128>'324  },325  /**326   * Lookup40: orml_xtokens::module::Event<T>327   **/328  OrmlXtokensModuleEvent: {329    _enum: {330      TransferredMultiAssets: {331        sender: 'AccountId32',332        assets: 'XcmV1MultiassetMultiAssets',333        fee: 'XcmV1MultiAsset',334        dest: 'XcmV1MultiLocation'335      }336    }337  },338  /**339   * Lookup41: xcm::v1::multiasset::MultiAssets340   **/341  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',342  /**343   * Lookup43: xcm::v1::multiasset::MultiAsset344   **/345  XcmV1MultiAsset: {346    id: 'XcmV1MultiassetAssetId',347    fun: 'XcmV1MultiassetFungibility'348  },349  /**350   * Lookup44: xcm::v1::multiasset::AssetId351   **/352  XcmV1MultiassetAssetId: {353    _enum: {354      Concrete: 'XcmV1MultiLocation',355      Abstract: 'Bytes'356    }357  },358  /**359   * Lookup45: xcm::v1::multilocation::MultiLocation360   **/361  XcmV1MultiLocation: {362    parents: 'u8',363    interior: 'XcmV1MultilocationJunctions'364  },365  /**366   * Lookup46: xcm::v1::multilocation::Junctions367   **/368  XcmV1MultilocationJunctions: {369    _enum: {370      Here: 'Null',371      X1: 'XcmV1Junction',372      X2: '(XcmV1Junction,XcmV1Junction)',373      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',374      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',375      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',376      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',377      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',378      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'379    }380  },381  /**382   * Lookup47: xcm::v1::junction::Junction383   **/384  XcmV1Junction: {385    _enum: {386      Parachain: 'Compact<u32>',387      AccountId32: {388        network: 'XcmV0JunctionNetworkId',389        id: '[u8;32]',390      },391      AccountIndex64: {392        network: 'XcmV0JunctionNetworkId',393        index: 'Compact<u64>',394      },395      AccountKey20: {396        network: 'XcmV0JunctionNetworkId',397        key: '[u8;20]',398      },399      PalletInstance: 'u8',400      GeneralIndex: 'Compact<u128>',401      GeneralKey: 'Bytes',402      OnlyChild: 'Null',403      Plurality: {404        id: 'XcmV0JunctionBodyId',405        part: 'XcmV0JunctionBodyPart'406      }407    }408  },409  /**410   * Lookup49: xcm::v0::junction::NetworkId411   **/412  XcmV0JunctionNetworkId: {413    _enum: {414      Any: 'Null',415      Named: 'Bytes',416      Polkadot: 'Null',417      Kusama: 'Null'418    }419  },420  /**421   * Lookup53: xcm::v0::junction::BodyId422   **/423  XcmV0JunctionBodyId: {424    _enum: {425      Unit: 'Null',426      Named: 'Bytes',427      Index: 'Compact<u32>',428      Executive: 'Null',429      Technical: 'Null',430      Legislative: 'Null',431      Judicial: 'Null'432    }433  },434  /**435   * Lookup54: xcm::v0::junction::BodyPart436   **/437  XcmV0JunctionBodyPart: {438    _enum: {439      Voice: 'Null',440      Members: {441        count: 'Compact<u32>',442      },443      Fraction: {444        nom: 'Compact<u32>',445        denom: 'Compact<u32>',446      },447      AtLeastProportion: {448        nom: 'Compact<u32>',449        denom: 'Compact<u32>',450      },451      MoreThanProportion: {452        nom: 'Compact<u32>',453        denom: 'Compact<u32>'454      }455    }456  },457  /**458   * Lookup55: xcm::v1::multiasset::Fungibility459   **/460  XcmV1MultiassetFungibility: {461    _enum: {462      Fungible: 'Compact<u128>',463      NonFungible: 'XcmV1MultiassetAssetInstance'464    }465  },466  /**467   * Lookup56: xcm::v1::multiasset::AssetInstance468   **/469  XcmV1MultiassetAssetInstance: {470    _enum: {471      Undefined: 'Null',472      Index: 'Compact<u128>',473      Array4: '[u8;4]',474      Array8: '[u8;8]',475      Array16: '[u8;16]',476      Array32: '[u8;32]',477      Blob: 'Bytes'478    }479  },480  /**481   * Lookup59: orml_tokens::module::Event<T>482   **/483  OrmlTokensModuleEvent: {484    _enum: {485      Endowed: {486        currencyId: 'PalletForeignAssetsAssetIds',487        who: 'AccountId32',488        amount: 'u128',489      },490      DustLost: {491        currencyId: 'PalletForeignAssetsAssetIds',492        who: 'AccountId32',493        amount: 'u128',494      },495      Transfer: {496        currencyId: 'PalletForeignAssetsAssetIds',497        from: 'AccountId32',498        to: 'AccountId32',499        amount: 'u128',500      },501      Reserved: {502        currencyId: 'PalletForeignAssetsAssetIds',503        who: 'AccountId32',504        amount: 'u128',505      },506      Unreserved: {507        currencyId: 'PalletForeignAssetsAssetIds',508        who: 'AccountId32',509        amount: 'u128',510      },511      ReserveRepatriated: {512        currencyId: 'PalletForeignAssetsAssetIds',513        from: 'AccountId32',514        to: 'AccountId32',515        amount: 'u128',516        status: 'FrameSupportTokensMiscBalanceStatus',517      },518      BalanceSet: {519        currencyId: 'PalletForeignAssetsAssetIds',520        who: 'AccountId32',521        free: 'u128',522        reserved: 'u128',523      },524      TotalIssuanceSet: {525        currencyId: 'PalletForeignAssetsAssetIds',526        amount: 'u128',527      },528      Withdrawn: {529        currencyId: 'PalletForeignAssetsAssetIds',530        who: 'AccountId32',531        amount: 'u128',532      },533      Slashed: {534        currencyId: 'PalletForeignAssetsAssetIds',535        who: 'AccountId32',536        freeAmount: 'u128',537        reservedAmount: 'u128',538      },539      Deposited: {540        currencyId: 'PalletForeignAssetsAssetIds',541        who: 'AccountId32',542        amount: 'u128',543      },544      LockSet: {545        lockId: '[u8;8]',546        currencyId: 'PalletForeignAssetsAssetIds',547        who: 'AccountId32',548        amount: 'u128',549      },550      LockRemoved: {551        lockId: '[u8;8]',552        currencyId: 'PalletForeignAssetsAssetIds',553        who: 'AccountId32'554      }555    }556  },557  /**558   * Lookup60: pallet_foreign_assets::AssetIds559   **/560  PalletForeignAssetsAssetIds: {561    _enum: {562      ForeignAssetId: 'u32',563      NativeAssetId: 'PalletForeignAssetsNativeCurrency'564    }565  },566  /**567   * Lookup61: pallet_foreign_assets::NativeCurrency568   **/569  PalletForeignAssetsNativeCurrency: {570    _enum: ['Here', 'Parent']571  },572  /**573   * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>574   **/575  CumulusPalletXcmpQueueEvent: {576    _enum: {577      Success: {578        messageHash: 'Option<H256>',579        weight: 'Weight',580      },581      Fail: {582        messageHash: 'Option<H256>',583        error: 'XcmV2TraitsError',584        weight: 'Weight',585      },586      BadVersion: {587        messageHash: 'Option<H256>',588      },589      BadFormat: {590        messageHash: 'Option<H256>',591      },592      UpwardMessageSent: {593        messageHash: 'Option<H256>',594      },595      XcmpMessageSent: {596        messageHash: 'Option<H256>',597      },598      OverweightEnqueued: {599        sender: 'u32',600        sentAt: 'u32',601        index: 'u64',602        required: 'Weight',603      },604      OverweightServiced: {605        index: 'u64',606        used: 'Weight'607      }608    }609  },610  /**611   * Lookup64: xcm::v2::traits::Error612   **/613  XcmV2TraitsError: {614    _enum: {615      Overflow: 'Null',616      Unimplemented: 'Null',617      UntrustedReserveLocation: 'Null',618      UntrustedTeleportLocation: 'Null',619      MultiLocationFull: 'Null',620      MultiLocationNotInvertible: 'Null',621      BadOrigin: 'Null',622      InvalidLocation: 'Null',623      AssetNotFound: 'Null',624      FailedToTransactAsset: 'Null',625      NotWithdrawable: 'Null',626      LocationCannotHold: 'Null',627      ExceedsMaxMessageSize: 'Null',628      DestinationUnsupported: 'Null',629      Transport: 'Null',630      Unroutable: 'Null',631      UnknownClaim: 'Null',632      FailedToDecode: 'Null',633      MaxWeightInvalid: 'Null',634      NotHoldingFees: 'Null',635      TooExpensive: 'Null',636      Trap: 'u64',637      UnhandledXcmVersion: 'Null',638      WeightLimitReached: 'u64',639      Barrier: 'Null',640      WeightNotComputable: 'Null'641    }642  },643  /**644   * Lookup66: pallet_xcm::pallet::Event<T>645   **/646  PalletXcmEvent: {647    _enum: {648      Attempted: 'XcmV2TraitsOutcome',649      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',650      UnexpectedResponse: '(XcmV1MultiLocation,u64)',651      ResponseReady: '(u64,XcmV2Response)',652      Notified: '(u64,u8,u8)',653      NotifyOverweight: '(u64,u8,u8,Weight,Weight)',654      NotifyDispatchError: '(u64,u8,u8)',655      NotifyDecodeFailed: '(u64,u8,u8)',656      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',657      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',658      ResponseTaken: 'u64',659      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',660      VersionChangeNotified: '(XcmV1MultiLocation,u32)',661      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',662      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',663      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'664    }665  },666  /**667   * Lookup67: xcm::v2::traits::Outcome668   **/669  XcmV2TraitsOutcome: {670    _enum: {671      Complete: 'u64',672      Incomplete: '(u64,XcmV2TraitsError)',673      Error: 'XcmV2TraitsError'674    }675  },676  /**677   * Lookup68: xcm::v2::Xcm<RuntimeCall>678   **/679  XcmV2Xcm: 'Vec<XcmV2Instruction>',680  /**681   * Lookup70: xcm::v2::Instruction<RuntimeCall>682   **/683  XcmV2Instruction: {684    _enum: {685      WithdrawAsset: 'XcmV1MultiassetMultiAssets',686      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',687      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',688      QueryResponse: {689        queryId: 'Compact<u64>',690        response: 'XcmV2Response',691        maxWeight: 'Compact<u64>',692      },693      TransferAsset: {694        assets: 'XcmV1MultiassetMultiAssets',695        beneficiary: 'XcmV1MultiLocation',696      },697      TransferReserveAsset: {698        assets: 'XcmV1MultiassetMultiAssets',699        dest: 'XcmV1MultiLocation',700        xcm: 'XcmV2Xcm',701      },702      Transact: {703        originType: 'XcmV0OriginKind',704        requireWeightAtMost: 'Compact<u64>',705        call: 'XcmDoubleEncoded',706      },707      HrmpNewChannelOpenRequest: {708        sender: 'Compact<u32>',709        maxMessageSize: 'Compact<u32>',710        maxCapacity: 'Compact<u32>',711      },712      HrmpChannelAccepted: {713        recipient: 'Compact<u32>',714      },715      HrmpChannelClosing: {716        initiator: 'Compact<u32>',717        sender: 'Compact<u32>',718        recipient: 'Compact<u32>',719      },720      ClearOrigin: 'Null',721      DescendOrigin: 'XcmV1MultilocationJunctions',722      ReportError: {723        queryId: 'Compact<u64>',724        dest: 'XcmV1MultiLocation',725        maxResponseWeight: 'Compact<u64>',726      },727      DepositAsset: {728        assets: 'XcmV1MultiassetMultiAssetFilter',729        maxAssets: 'Compact<u32>',730        beneficiary: 'XcmV1MultiLocation',731      },732      DepositReserveAsset: {733        assets: 'XcmV1MultiassetMultiAssetFilter',734        maxAssets: 'Compact<u32>',735        dest: 'XcmV1MultiLocation',736        xcm: 'XcmV2Xcm',737      },738      ExchangeAsset: {739        give: 'XcmV1MultiassetMultiAssetFilter',740        receive: 'XcmV1MultiassetMultiAssets',741      },742      InitiateReserveWithdraw: {743        assets: 'XcmV1MultiassetMultiAssetFilter',744        reserve: 'XcmV1MultiLocation',745        xcm: 'XcmV2Xcm',746      },747      InitiateTeleport: {748        assets: 'XcmV1MultiassetMultiAssetFilter',749        dest: 'XcmV1MultiLocation',750        xcm: 'XcmV2Xcm',751      },752      QueryHolding: {753        queryId: 'Compact<u64>',754        dest: 'XcmV1MultiLocation',755        assets: 'XcmV1MultiassetMultiAssetFilter',756        maxResponseWeight: 'Compact<u64>',757      },758      BuyExecution: {759        fees: 'XcmV1MultiAsset',760        weightLimit: 'XcmV2WeightLimit',761      },762      RefundSurplus: 'Null',763      SetErrorHandler: 'XcmV2Xcm',764      SetAppendix: 'XcmV2Xcm',765      ClearError: 'Null',766      ClaimAsset: {767        assets: 'XcmV1MultiassetMultiAssets',768        ticket: 'XcmV1MultiLocation',769      },770      Trap: 'Compact<u64>',771      SubscribeVersion: {772        queryId: 'Compact<u64>',773        maxResponseWeight: 'Compact<u64>',774      },775      UnsubscribeVersion: 'Null'776    }777  },778  /**779   * Lookup71: xcm::v2::Response780   **/781  XcmV2Response: {782    _enum: {783      Null: 'Null',784      Assets: 'XcmV1MultiassetMultiAssets',785      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',786      Version: 'u32'787    }788  },789  /**790   * Lookup74: xcm::v0::OriginKind791   **/792  XcmV0OriginKind: {793    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']794  },795  /**796   * Lookup75: xcm::double_encoded::DoubleEncoded<T>797   **/798  XcmDoubleEncoded: {799    encoded: 'Bytes'800  },801  /**802   * Lookup76: xcm::v1::multiasset::MultiAssetFilter803   **/804  XcmV1MultiassetMultiAssetFilter: {805    _enum: {806      Definite: 'XcmV1MultiassetMultiAssets',807      Wild: 'XcmV1MultiassetWildMultiAsset'808    }809  },810  /**811   * Lookup77: xcm::v1::multiasset::WildMultiAsset812   **/813  XcmV1MultiassetWildMultiAsset: {814    _enum: {815      All: 'Null',816      AllOf: {817        id: 'XcmV1MultiassetAssetId',818        fun: 'XcmV1MultiassetWildFungibility'819      }820    }821  },822  /**823   * Lookup78: xcm::v1::multiasset::WildFungibility824   **/825  XcmV1MultiassetWildFungibility: {826    _enum: ['Fungible', 'NonFungible']827  },828  /**829   * Lookup79: xcm::v2::WeightLimit830   **/831  XcmV2WeightLimit: {832    _enum: {833      Unlimited: 'Null',834      Limited: 'Compact<u64>'835    }836  },837  /**838   * Lookup81: xcm::VersionedMultiAssets839   **/840  XcmVersionedMultiAssets: {841    _enum: {842      V0: 'Vec<XcmV0MultiAsset>',843      V1: 'XcmV1MultiassetMultiAssets'844    }845  },846  /**847   * Lookup83: xcm::v0::multi_asset::MultiAsset848   **/849  XcmV0MultiAsset: {850    _enum: {851      None: 'Null',852      All: 'Null',853      AllFungible: 'Null',854      AllNonFungible: 'Null',855      AllAbstractFungible: {856        id: 'Bytes',857      },858      AllAbstractNonFungible: {859        class: 'Bytes',860      },861      AllConcreteFungible: {862        id: 'XcmV0MultiLocation',863      },864      AllConcreteNonFungible: {865        class: 'XcmV0MultiLocation',866      },867      AbstractFungible: {868        id: 'Bytes',869        amount: 'Compact<u128>',870      },871      AbstractNonFungible: {872        class: 'Bytes',873        instance: 'XcmV1MultiassetAssetInstance',874      },875      ConcreteFungible: {876        id: 'XcmV0MultiLocation',877        amount: 'Compact<u128>',878      },879      ConcreteNonFungible: {880        class: 'XcmV0MultiLocation',881        instance: 'XcmV1MultiassetAssetInstance'882      }883    }884  },885  /**886   * Lookup84: xcm::v0::multi_location::MultiLocation887   **/888  XcmV0MultiLocation: {889    _enum: {890      Null: 'Null',891      X1: 'XcmV0Junction',892      X2: '(XcmV0Junction,XcmV0Junction)',893      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',894      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',895      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',896      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',897      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',898      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'899    }900  },901  /**902   * Lookup85: xcm::v0::junction::Junction903   **/904  XcmV0Junction: {905    _enum: {906      Parent: 'Null',907      Parachain: 'Compact<u32>',908      AccountId32: {909        network: 'XcmV0JunctionNetworkId',910        id: '[u8;32]',911      },912      AccountIndex64: {913        network: 'XcmV0JunctionNetworkId',914        index: 'Compact<u64>',915      },916      AccountKey20: {917        network: 'XcmV0JunctionNetworkId',918        key: '[u8;20]',919      },920      PalletInstance: 'u8',921      GeneralIndex: 'Compact<u128>',922      GeneralKey: 'Bytes',923      OnlyChild: 'Null',924      Plurality: {925        id: 'XcmV0JunctionBodyId',926        part: 'XcmV0JunctionBodyPart'927      }928    }929  },930  /**931   * Lookup86: xcm::VersionedMultiLocation932   **/933  XcmVersionedMultiLocation: {934    _enum: {935      V0: 'XcmV0MultiLocation',936      V1: 'XcmV1MultiLocation'937    }938  },939  /**940   * Lookup87: cumulus_pallet_xcm::pallet::Event<T>941   **/942  CumulusPalletXcmEvent: {943    _enum: {944      InvalidFormat: '[u8;8]',945      UnsupportedVersion: '[u8;8]',946      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'947    }948  },949  /**950   * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>951   **/952  CumulusPalletDmpQueueEvent: {953    _enum: {954      InvalidFormat: {955        messageId: '[u8;32]',956      },957      UnsupportedVersion: {958        messageId: '[u8;32]',959      },960      ExecutedDownward: {961        messageId: '[u8;32]',962        outcome: 'XcmV2TraitsOutcome',963      },964      WeightExhausted: {965        messageId: '[u8;32]',966        remainingWeight: 'Weight',967        requiredWeight: 'Weight',968      },969      OverweightEnqueued: {970        messageId: '[u8;32]',971        overweightIndex: 'u64',972        requiredWeight: 'Weight',973      },974      OverweightServiced: {975        overweightIndex: 'u64',976        weightUsed: 'Weight'977      }978    }979  },980  /**981   * Lookup89: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>982   **/983  PalletUniqueRawEvent: {984    _enum: {985      CollectionSponsorRemoved: 'u32',986      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',987      CollectionOwnedChanged: '(u32,AccountId32)',988      CollectionSponsorSet: '(u32,AccountId32)',989      SponsorshipConfirmed: '(u32,AccountId32)',990      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',991      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',992      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',993      CollectionLimitSet: 'u32',994      CollectionPermissionSet: 'u32'995    }996  },997  /**998   * Lookup90: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>999   **/1000  PalletEvmAccountBasicCrossAccountIdRepr: {1001    _enum: {1002      Substrate: 'AccountId32',1003      Ethereum: 'H160'1004    }1005  },1006  /**1007   * Lookup93: pallet_common::pallet::Event<T>1008   **/1009  PalletCommonEvent: {1010    _enum: {1011      CollectionCreated: '(u32,u8,AccountId32)',1012      CollectionDestroyed: 'u32',1013      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1014      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1015      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1016      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1017      CollectionPropertySet: '(u32,Bytes)',1018      CollectionPropertyDeleted: '(u32,Bytes)',1019      TokenPropertySet: '(u32,u32,Bytes)',1020      TokenPropertyDeleted: '(u32,u32,Bytes)',1021      PropertyPermissionSet: '(u32,Bytes)'1022    }1023  },1024  /**1025   * Lookup96: pallet_structure::pallet::Event<T>1026   **/1027  PalletStructureEvent: {1028    _enum: {1029      Executed: 'Result<Null, SpRuntimeDispatchError>'1030    }1031  },1032  /**1033   * Lookup97: pallet_rmrk_core::pallet::Event<T>1034   **/1035  PalletRmrkCoreEvent: {1036    _enum: {1037      CollectionCreated: {1038        issuer: 'AccountId32',1039        collectionId: 'u32',1040      },1041      CollectionDestroyed: {1042        issuer: 'AccountId32',1043        collectionId: 'u32',1044      },1045      IssuerChanged: {1046        oldIssuer: 'AccountId32',1047        newIssuer: 'AccountId32',1048        collectionId: 'u32',1049      },1050      CollectionLocked: {1051        issuer: 'AccountId32',1052        collectionId: 'u32',1053      },1054      NftMinted: {1055        owner: 'AccountId32',1056        collectionId: 'u32',1057        nftId: 'u32',1058      },1059      NFTBurned: {1060        owner: 'AccountId32',1061        nftId: 'u32',1062      },1063      NFTSent: {1064        sender: 'AccountId32',1065        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1066        collectionId: 'u32',1067        nftId: 'u32',1068        approvalRequired: 'bool',1069      },1070      NFTAccepted: {1071        sender: 'AccountId32',1072        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1073        collectionId: 'u32',1074        nftId: 'u32',1075      },1076      NFTRejected: {1077        sender: 'AccountId32',1078        collectionId: 'u32',1079        nftId: 'u32',1080      },1081      PropertySet: {1082        collectionId: 'u32',1083        maybeNftId: 'Option<u32>',1084        key: 'Bytes',1085        value: 'Bytes',1086      },1087      ResourceAdded: {1088        nftId: 'u32',1089        resourceId: 'u32',1090      },1091      ResourceRemoval: {1092        nftId: 'u32',1093        resourceId: 'u32',1094      },1095      ResourceAccepted: {1096        nftId: 'u32',1097        resourceId: 'u32',1098      },1099      ResourceRemovalAccepted: {1100        nftId: 'u32',1101        resourceId: 'u32',1102      },1103      PrioritySet: {1104        collectionId: 'u32',1105        nftId: 'u32'1106      }1107    }1108  },1109  /**1110   * Lookup98: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1111   **/1112  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1113    _enum: {1114      AccountId: 'AccountId32',1115      CollectionAndNftTuple: '(u32,u32)'1116    }1117  },1118  /**1119   * Lookup103: pallet_rmrk_equip::pallet::Event<T>1120   **/1121  PalletRmrkEquipEvent: {1122    _enum: {1123      BaseCreated: {1124        issuer: 'AccountId32',1125        baseId: 'u32',1126      },1127      EquippablesUpdated: {1128        baseId: 'u32',1129        slotId: 'u32'1130      }1131    }1132  },1133  /**1134   * Lookup104: pallet_app_promotion::pallet::Event<T>1135   **/1136  PalletAppPromotionEvent: {1137    _enum: {1138      StakingRecalculation: '(AccountId32,u128,u128)',1139      Stake: '(AccountId32,u128)',1140      Unstake: '(AccountId32,u128)',1141      SetAdmin: 'AccountId32'1142    }1143  },1144  /**1145   * Lookup105: pallet_foreign_assets::module::Event<T>1146   **/1147  PalletForeignAssetsModuleEvent: {1148    _enum: {1149      ForeignAssetRegistered: {1150        assetId: 'u32',1151        assetAddress: 'XcmV1MultiLocation',1152        metadata: 'PalletForeignAssetsModuleAssetMetadata',1153      },1154      ForeignAssetUpdated: {1155        assetId: 'u32',1156        assetAddress: 'XcmV1MultiLocation',1157        metadata: 'PalletForeignAssetsModuleAssetMetadata',1158      },1159      AssetRegistered: {1160        assetId: 'PalletForeignAssetsAssetIds',1161        metadata: 'PalletForeignAssetsModuleAssetMetadata',1162      },1163      AssetUpdated: {1164        assetId: 'PalletForeignAssetsAssetIds',1165        metadata: 'PalletForeignAssetsModuleAssetMetadata'1166      }1167    }1168  },1169  /**1170   * Lookup106: pallet_foreign_assets::module::AssetMetadata<Balance>1171   **/1172  PalletForeignAssetsModuleAssetMetadata: {1173    name: 'Bytes',1174    symbol: 'Bytes',1175    decimals: 'u8',1176    minimalBalance: 'u128'1177  },1178  /**1179   * Lookup107: pallet_evm::pallet::Event<T>1180   **/1181  PalletEvmEvent: {1182    _enum: {1183      Log: 'EthereumLog',1184      Created: 'H160',1185      CreatedFailed: 'H160',1186      Executed: 'H160',1187      ExecutedFailed: 'H160',1188      BalanceDeposit: '(AccountId32,H160,U256)',1189      BalanceWithdraw: '(AccountId32,H160,U256)'1190    }1191  },1192  /**1193   * Lookup108: ethereum::log::Log1194   **/1195  EthereumLog: {1196    address: 'H160',1197    topics: 'Vec<H256>',1198    data: 'Bytes'1199  },1200  /**1201   * Lookup112: pallet_ethereum::pallet::Event1202   **/1203  PalletEthereumEvent: {1204    _enum: {1205      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1206    }1207  },1208  /**1209   * Lookup113: evm_core::error::ExitReason1210   **/1211  EvmCoreErrorExitReason: {1212    _enum: {1213      Succeed: 'EvmCoreErrorExitSucceed',1214      Error: 'EvmCoreErrorExitError',1215      Revert: 'EvmCoreErrorExitRevert',1216      Fatal: 'EvmCoreErrorExitFatal'1217    }1218  },1219  /**1220   * Lookup114: evm_core::error::ExitSucceed1221   **/1222  EvmCoreErrorExitSucceed: {1223    _enum: ['Stopped', 'Returned', 'Suicided']1224  },1225  /**1226   * Lookup115: evm_core::error::ExitError1227   **/1228  EvmCoreErrorExitError: {1229    _enum: {1230      StackUnderflow: 'Null',1231      StackOverflow: 'Null',1232      InvalidJump: 'Null',1233      InvalidRange: 'Null',1234      DesignatedInvalid: 'Null',1235      CallTooDeep: 'Null',1236      CreateCollision: 'Null',1237      CreateContractLimit: 'Null',1238      OutOfOffset: 'Null',1239      OutOfGas: 'Null',1240      OutOfFund: 'Null',1241      PCUnderflow: 'Null',1242      CreateEmpty: 'Null',1243      Other: 'Text',1244      InvalidCode: 'Null'1245    }1246  },1247  /**1248   * Lookup118: evm_core::error::ExitRevert1249   **/1250  EvmCoreErrorExitRevert: {1251    _enum: ['Reverted']1252  },1253  /**1254   * Lookup119: evm_core::error::ExitFatal1255   **/1256  EvmCoreErrorExitFatal: {1257    _enum: {1258      NotSupported: 'Null',1259      UnhandledInterrupt: 'Null',1260      CallErrorAsFatal: 'EvmCoreErrorExitError',1261      Other: 'Text'1262    }1263  },1264  /**1265   * Lookup120: pallet_evm_contract_helpers::pallet::Event<T>1266   **/1267  PalletEvmContractHelpersEvent: {1268    _enum: {1269      ContractSponsorSet: '(H160,AccountId32)',1270      ContractSponsorshipConfirmed: '(H160,AccountId32)',1271      ContractSponsorRemoved: 'H160'1272    }1273  },1274  /**1275   * Lookup121: frame_system::Phase1276   **/1277  FrameSystemPhase: {1278    _enum: {1279      ApplyExtrinsic: 'u32',1280      Finalization: 'Null',1281      Initialization: 'Null'1282    }1283  },1284  /**1285   * Lookup124: frame_system::LastRuntimeUpgradeInfo1286   **/1287  FrameSystemLastRuntimeUpgradeInfo: {1288    specVersion: 'Compact<u32>',1289    specName: 'Text'1290  },1291  /**1292   * Lookup125: frame_system::pallet::Call<T>1293   **/1294  FrameSystemCall: {1295    _enum: {1296      fill_block: {1297        ratio: 'Perbill',1298      },1299      remark: {1300        remark: 'Bytes',1301      },1302      set_heap_pages: {1303        pages: 'u64',1304      },1305      set_code: {1306        code: 'Bytes',1307      },1308      set_code_without_checks: {1309        code: 'Bytes',1310      },1311      set_storage: {1312        items: 'Vec<(Bytes,Bytes)>',1313      },1314      kill_storage: {1315        _alias: {1316          keys_: 'keys',1317        },1318        keys_: 'Vec<Bytes>',1319      },1320      kill_prefix: {1321        prefix: 'Bytes',1322        subkeys: 'u32',1323      },1324      remark_with_event: {1325        remark: 'Bytes'1326      }1327    }1328  },1329  /**1330   * Lookup130: frame_system::limits::BlockWeights1331   **/1332  FrameSystemLimitsBlockWeights: {1333    baseBlock: 'Weight',1334    maxBlock: 'Weight',1335    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1336  },1337  /**1338   * Lookup131: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1339   **/1340  FrameSupportDispatchPerDispatchClassWeightsPerClass: {1341    normal: 'FrameSystemLimitsWeightsPerClass',1342    operational: 'FrameSystemLimitsWeightsPerClass',1343    mandatory: 'FrameSystemLimitsWeightsPerClass'1344  },1345  /**1346   * Lookup132: frame_system::limits::WeightsPerClass1347   **/1348  FrameSystemLimitsWeightsPerClass: {1349    baseExtrinsic: 'Weight',1350    maxExtrinsic: 'Option<Weight>',1351    maxTotal: 'Option<Weight>',1352    reserved: 'Option<Weight>'1353  },1354  /**1355   * Lookup134: frame_system::limits::BlockLength1356   **/1357  FrameSystemLimitsBlockLength: {1358    max: 'FrameSupportDispatchPerDispatchClassU32'1359  },1360  /**1361   * Lookup135: frame_support::dispatch::PerDispatchClass<T>1362   **/1363  FrameSupportDispatchPerDispatchClassU32: {1364    normal: 'u32',1365    operational: 'u32',1366    mandatory: 'u32'1367  },1368  /**1369   * Lookup136: sp_weights::RuntimeDbWeight1370   **/1371  SpWeightsRuntimeDbWeight: {1372    read: 'u64',1373    write: 'u64'1374  },1375  /**1376   * Lookup137: sp_version::RuntimeVersion1377   **/1378  SpVersionRuntimeVersion: {1379    specName: 'Text',1380    implName: 'Text',1381    authoringVersion: 'u32',1382    specVersion: 'u32',1383    implVersion: 'u32',1384    apis: 'Vec<([u8;8],u32)>',1385    transactionVersion: 'u32',1386    stateVersion: 'u8'1387  },1388  /**1389   * Lookup142: frame_system::pallet::Error<T>1390   **/1391  FrameSystemError: {1392    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1393  },1394  /**1395   * Lookup143: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1396   **/1397  PolkadotPrimitivesV2PersistedValidationData: {1398    parentHead: 'Bytes',1399    relayParentNumber: 'u32',1400    relayParentStorageRoot: 'H256',1401    maxPovSize: 'u32'1402  },1403  /**1404   * Lookup146: polkadot_primitives::v2::UpgradeRestriction1405   **/1406  PolkadotPrimitivesV2UpgradeRestriction: {1407    _enum: ['Present']1408  },1409  /**1410   * Lookup147: sp_trie::storage_proof::StorageProof1411   **/1412  SpTrieStorageProof: {1413    trieNodes: 'BTreeSet<Bytes>'1414  },1415  /**1416   * Lookup149: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1417   **/1418  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1419    dmqMqcHead: 'H256',1420    relayDispatchQueueSize: '(u32,u32)',1421    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1422    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1423  },1424  /**1425   * Lookup152: polkadot_primitives::v2::AbridgedHrmpChannel1426   **/1427  PolkadotPrimitivesV2AbridgedHrmpChannel: {1428    maxCapacity: 'u32',1429    maxTotalSize: 'u32',1430    maxMessageSize: 'u32',1431    msgCount: 'u32',1432    totalSize: 'u32',1433    mqcHead: 'Option<H256>'1434  },1435  /**1436   * Lookup153: polkadot_primitives::v2::AbridgedHostConfiguration1437   **/1438  PolkadotPrimitivesV2AbridgedHostConfiguration: {1439    maxCodeSize: 'u32',1440    maxHeadDataSize: 'u32',1441    maxUpwardQueueCount: 'u32',1442    maxUpwardQueueSize: 'u32',1443    maxUpwardMessageSize: 'u32',1444    maxUpwardMessageNumPerCandidate: 'u32',1445    hrmpMaxMessageNumPerCandidate: 'u32',1446    validationUpgradeCooldown: 'u32',1447    validationUpgradeDelay: 'u32'1448  },1449  /**1450   * Lookup159: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1451   **/1452  PolkadotCorePrimitivesOutboundHrmpMessage: {1453    recipient: 'u32',1454    data: 'Bytes'1455  },1456  /**1457   * Lookup160: cumulus_pallet_parachain_system::pallet::Call<T>1458   **/1459  CumulusPalletParachainSystemCall: {1460    _enum: {1461      set_validation_data: {1462        data: 'CumulusPrimitivesParachainInherentParachainInherentData',1463      },1464      sudo_send_upward_message: {1465        message: 'Bytes',1466      },1467      authorize_upgrade: {1468        codeHash: 'H256',1469      },1470      enact_authorized_upgrade: {1471        code: 'Bytes'1472      }1473    }1474  },1475  /**1476   * Lookup161: cumulus_primitives_parachain_inherent::ParachainInherentData1477   **/1478  CumulusPrimitivesParachainInherentParachainInherentData: {1479    validationData: 'PolkadotPrimitivesV2PersistedValidationData',1480    relayChainState: 'SpTrieStorageProof',1481    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1482    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1483  },1484  /**1485   * Lookup163: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1486   **/1487  PolkadotCorePrimitivesInboundDownwardMessage: {1488    sentAt: 'u32',1489    msg: 'Bytes'1490  },1491  /**1492   * Lookup166: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1493   **/1494  PolkadotCorePrimitivesInboundHrmpMessage: {1495    sentAt: 'u32',1496    data: 'Bytes'1497  },1498  /**1499   * Lookup169: cumulus_pallet_parachain_system::pallet::Error<T>1500   **/1501  CumulusPalletParachainSystemError: {1502    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1503  },1504  /**1505   * Lookup171: pallet_balances::BalanceLock<Balance>1506   **/1507  PalletBalancesBalanceLock: {1508    id: '[u8;8]',1509    amount: 'u128',1510    reasons: 'PalletBalancesReasons'1511  },1512  /**1513   * Lookup172: pallet_balances::Reasons1514   **/1515  PalletBalancesReasons: {1516    _enum: ['Fee', 'Misc', 'All']1517  },1518  /**1519   * Lookup175: pallet_balances::ReserveData<ReserveIdentifier, Balance>1520   **/1521  PalletBalancesReserveData: {1522    id: '[u8;16]',1523    amount: 'u128'1524  },1525  /**1526   * Lookup177: pallet_balances::Releases1527   **/1528  PalletBalancesReleases: {1529    _enum: ['V1_0_0', 'V2_0_0']1530  },1531  /**1532   * Lookup178: pallet_balances::pallet::Call<T, I>1533   **/1534  PalletBalancesCall: {1535    _enum: {1536      transfer: {1537        dest: 'MultiAddress',1538        value: 'Compact<u128>',1539      },1540      set_balance: {1541        who: 'MultiAddress',1542        newFree: 'Compact<u128>',1543        newReserved: 'Compact<u128>',1544      },1545      force_transfer: {1546        source: 'MultiAddress',1547        dest: 'MultiAddress',1548        value: 'Compact<u128>',1549      },1550      transfer_keep_alive: {1551        dest: 'MultiAddress',1552        value: 'Compact<u128>',1553      },1554      transfer_all: {1555        dest: 'MultiAddress',1556        keepAlive: 'bool',1557      },1558      force_unreserve: {1559        who: 'MultiAddress',1560        amount: 'u128'1561      }1562    }1563  },1564  /**1565   * Lookup181: pallet_balances::pallet::Error<T, I>1566   **/1567  PalletBalancesError: {1568    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1569  },1570  /**1571   * Lookup183: pallet_timestamp::pallet::Call<T>1572   **/1573  PalletTimestampCall: {1574    _enum: {1575      set: {1576        now: 'Compact<u64>'1577      }1578    }1579  },1580  /**1581   * Lookup185: pallet_transaction_payment::Releases1582   **/1583  PalletTransactionPaymentReleases: {1584    _enum: ['V1Ancient', 'V2']1585  },1586  /**1587   * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1588   **/1589  PalletTreasuryProposal: {1590    proposer: 'AccountId32',1591    value: 'u128',1592    beneficiary: 'AccountId32',1593    bond: 'u128'1594  },1595  /**1596   * Lookup189: pallet_treasury::pallet::Call<T, I>1597   **/1598  PalletTreasuryCall: {1599    _enum: {1600      propose_spend: {1601        value: 'Compact<u128>',1602        beneficiary: 'MultiAddress',1603      },1604      reject_proposal: {1605        proposalId: 'Compact<u32>',1606      },1607      approve_proposal: {1608        proposalId: 'Compact<u32>',1609      },1610      spend: {1611        amount: 'Compact<u128>',1612        beneficiary: 'MultiAddress',1613      },1614      remove_approval: {1615        proposalId: 'Compact<u32>'1616      }1617    }1618  },1619  /**1620   * Lookup192: frame_support::PalletId1621   **/1622  FrameSupportPalletId: '[u8;8]',1623  /**1624   * Lookup193: pallet_treasury::pallet::Error<T, I>1625   **/1626  PalletTreasuryError: {1627    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1628  },1629  /**1630   * Lookup194: pallet_sudo::pallet::Call<T>1631   **/1632  PalletSudoCall: {1633    _enum: {1634      sudo: {1635        call: 'Call',1636      },1637      sudo_unchecked_weight: {1638        call: 'Call',1639        weight: 'Weight',1640      },1641      set_key: {1642        _alias: {1643          new_: 'new',1644        },1645        new_: 'MultiAddress',1646      },1647      sudo_as: {1648        who: 'MultiAddress',1649        call: 'Call'1650      }1651    }1652  },1653  /**1654   * Lookup196: orml_vesting::module::Call<T>1655   **/1656  OrmlVestingModuleCall: {1657    _enum: {1658      claim: 'Null',1659      vested_transfer: {1660        dest: 'MultiAddress',1661        schedule: 'OrmlVestingVestingSchedule',1662      },1663      update_vesting_schedules: {1664        who: 'MultiAddress',1665        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1666      },1667      claim_for: {1668        dest: 'MultiAddress'1669      }1670    }1671  },1672  /**1673   * Lookup198: orml_xtokens::module::Call<T>1674   **/1675  OrmlXtokensModuleCall: {1676    _enum: {1677      transfer: {1678        currencyId: 'PalletForeignAssetsAssetIds',1679        amount: 'u128',1680        dest: 'XcmVersionedMultiLocation',1681        destWeight: 'u64',1682      },1683      transfer_multiasset: {1684        asset: 'XcmVersionedMultiAsset',1685        dest: 'XcmVersionedMultiLocation',1686        destWeight: 'u64',1687      },1688      transfer_with_fee: {1689        currencyId: 'PalletForeignAssetsAssetIds',1690        amount: 'u128',1691        fee: 'u128',1692        dest: 'XcmVersionedMultiLocation',1693        destWeight: 'u64',1694      },1695      transfer_multiasset_with_fee: {1696        asset: 'XcmVersionedMultiAsset',1697        fee: 'XcmVersionedMultiAsset',1698        dest: 'XcmVersionedMultiLocation',1699        destWeight: 'u64',1700      },1701      transfer_multicurrencies: {1702        currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1703        feeItem: 'u32',1704        dest: 'XcmVersionedMultiLocation',1705        destWeight: 'u64',1706      },1707      transfer_multiassets: {1708        assets: 'XcmVersionedMultiAssets',1709        feeItem: 'u32',1710        dest: 'XcmVersionedMultiLocation',1711        destWeight: 'u64'1712      }1713    }1714  },1715  /**1716   * Lookup199: xcm::VersionedMultiAsset1717   **/1718  XcmVersionedMultiAsset: {1719    _enum: {1720      V0: 'XcmV0MultiAsset',1721      V1: 'XcmV1MultiAsset'1722    }1723  },1724  /**1725   * Lookup202: orml_tokens::module::Call<T>1726   **/1727  OrmlTokensModuleCall: {1728    _enum: {1729      transfer: {1730        dest: 'MultiAddress',1731        currencyId: 'PalletForeignAssetsAssetIds',1732        amount: 'Compact<u128>',1733      },1734      transfer_all: {1735        dest: 'MultiAddress',1736        currencyId: 'PalletForeignAssetsAssetIds',1737        keepAlive: 'bool',1738      },1739      transfer_keep_alive: {1740        dest: 'MultiAddress',1741        currencyId: 'PalletForeignAssetsAssetIds',1742        amount: 'Compact<u128>',1743      },1744      force_transfer: {1745        source: 'MultiAddress',1746        dest: 'MultiAddress',1747        currencyId: 'PalletForeignAssetsAssetIds',1748        amount: 'Compact<u128>',1749      },1750      set_balance: {1751        who: 'MultiAddress',1752        currencyId: 'PalletForeignAssetsAssetIds',1753        newFree: 'Compact<u128>',1754        newReserved: 'Compact<u128>'1755      }1756    }1757  },1758  /**1759   * Lookup203: cumulus_pallet_xcmp_queue::pallet::Call<T>1760   **/1761  CumulusPalletXcmpQueueCall: {1762    _enum: {1763      service_overweight: {1764        index: 'u64',1765        weightLimit: 'Weight',1766      },1767      suspend_xcm_execution: 'Null',1768      resume_xcm_execution: 'Null',1769      update_suspend_threshold: {1770        _alias: {1771          new_: 'new',1772        },1773        new_: 'u32',1774      },1775      update_drop_threshold: {1776        _alias: {1777          new_: 'new',1778        },1779        new_: 'u32',1780      },1781      update_resume_threshold: {1782        _alias: {1783          new_: 'new',1784        },1785        new_: 'u32',1786      },1787      update_threshold_weight: {1788        _alias: {1789          new_: 'new',1790        },1791        new_: 'Weight',1792      },1793      update_weight_restrict_decay: {1794        _alias: {1795          new_: 'new',1796        },1797        new_: 'Weight',1798      },1799      update_xcmp_max_individual_weight: {1800        _alias: {1801          new_: 'new',1802        },1803        new_: 'Weight'1804      }1805    }1806  },1807  /**1808   * Lookup204: pallet_xcm::pallet::Call<T>1809   **/1810  PalletXcmCall: {1811    _enum: {1812      send: {1813        dest: 'XcmVersionedMultiLocation',1814        message: 'XcmVersionedXcm',1815      },1816      teleport_assets: {1817        dest: 'XcmVersionedMultiLocation',1818        beneficiary: 'XcmVersionedMultiLocation',1819        assets: 'XcmVersionedMultiAssets',1820        feeAssetItem: 'u32',1821      },1822      reserve_transfer_assets: {1823        dest: 'XcmVersionedMultiLocation',1824        beneficiary: 'XcmVersionedMultiLocation',1825        assets: 'XcmVersionedMultiAssets',1826        feeAssetItem: 'u32',1827      },1828      execute: {1829        message: 'XcmVersionedXcm',1830        maxWeight: 'Weight',1831      },1832      force_xcm_version: {1833        location: 'XcmV1MultiLocation',1834        xcmVersion: 'u32',1835      },1836      force_default_xcm_version: {1837        maybeXcmVersion: 'Option<u32>',1838      },1839      force_subscribe_version_notify: {1840        location: 'XcmVersionedMultiLocation',1841      },1842      force_unsubscribe_version_notify: {1843        location: 'XcmVersionedMultiLocation',1844      },1845      limited_reserve_transfer_assets: {1846        dest: 'XcmVersionedMultiLocation',1847        beneficiary: 'XcmVersionedMultiLocation',1848        assets: 'XcmVersionedMultiAssets',1849        feeAssetItem: 'u32',1850        weightLimit: 'XcmV2WeightLimit',1851      },1852      limited_teleport_assets: {1853        dest: 'XcmVersionedMultiLocation',1854        beneficiary: 'XcmVersionedMultiLocation',1855        assets: 'XcmVersionedMultiAssets',1856        feeAssetItem: 'u32',1857        weightLimit: 'XcmV2WeightLimit'1858      }1859    }1860  },1861  /**1862   * Lookup205: xcm::VersionedXcm<RuntimeCall>1863   **/1864  XcmVersionedXcm: {1865    _enum: {1866      V0: 'XcmV0Xcm',1867      V1: 'XcmV1Xcm',1868      V2: 'XcmV2Xcm'1869    }1870  },1871  /**1872   * Lookup206: xcm::v0::Xcm<RuntimeCall>1873   **/1874  XcmV0Xcm: {1875    _enum: {1876      WithdrawAsset: {1877        assets: 'Vec<XcmV0MultiAsset>',1878        effects: 'Vec<XcmV0Order>',1879      },1880      ReserveAssetDeposit: {1881        assets: 'Vec<XcmV0MultiAsset>',1882        effects: 'Vec<XcmV0Order>',1883      },1884      TeleportAsset: {1885        assets: 'Vec<XcmV0MultiAsset>',1886        effects: 'Vec<XcmV0Order>',1887      },1888      QueryResponse: {1889        queryId: 'Compact<u64>',1890        response: 'XcmV0Response',1891      },1892      TransferAsset: {1893        assets: 'Vec<XcmV0MultiAsset>',1894        dest: 'XcmV0MultiLocation',1895      },1896      TransferReserveAsset: {1897        assets: 'Vec<XcmV0MultiAsset>',1898        dest: 'XcmV0MultiLocation',1899        effects: 'Vec<XcmV0Order>',1900      },1901      Transact: {1902        originType: 'XcmV0OriginKind',1903        requireWeightAtMost: 'u64',1904        call: 'XcmDoubleEncoded',1905      },1906      HrmpNewChannelOpenRequest: {1907        sender: 'Compact<u32>',1908        maxMessageSize: 'Compact<u32>',1909        maxCapacity: 'Compact<u32>',1910      },1911      HrmpChannelAccepted: {1912        recipient: 'Compact<u32>',1913      },1914      HrmpChannelClosing: {1915        initiator: 'Compact<u32>',1916        sender: 'Compact<u32>',1917        recipient: 'Compact<u32>',1918      },1919      RelayedFrom: {1920        who: 'XcmV0MultiLocation',1921        message: 'XcmV0Xcm'1922      }1923    }1924  },1925  /**1926   * Lookup208: xcm::v0::order::Order<RuntimeCall>1927   **/1928  XcmV0Order: {1929    _enum: {1930      Null: 'Null',1931      DepositAsset: {1932        assets: 'Vec<XcmV0MultiAsset>',1933        dest: 'XcmV0MultiLocation',1934      },1935      DepositReserveAsset: {1936        assets: 'Vec<XcmV0MultiAsset>',1937        dest: 'XcmV0MultiLocation',1938        effects: 'Vec<XcmV0Order>',1939      },1940      ExchangeAsset: {1941        give: 'Vec<XcmV0MultiAsset>',1942        receive: 'Vec<XcmV0MultiAsset>',1943      },1944      InitiateReserveWithdraw: {1945        assets: 'Vec<XcmV0MultiAsset>',1946        reserve: 'XcmV0MultiLocation',1947        effects: 'Vec<XcmV0Order>',1948      },1949      InitiateTeleport: {1950        assets: 'Vec<XcmV0MultiAsset>',1951        dest: 'XcmV0MultiLocation',1952        effects: 'Vec<XcmV0Order>',1953      },1954      QueryHolding: {1955        queryId: 'Compact<u64>',1956        dest: 'XcmV0MultiLocation',1957        assets: 'Vec<XcmV0MultiAsset>',1958      },1959      BuyExecution: {1960        fees: 'XcmV0MultiAsset',1961        weight: 'u64',1962        debt: 'u64',1963        haltOnError: 'bool',1964        xcm: 'Vec<XcmV0Xcm>'1965      }1966    }1967  },1968  /**1969   * Lookup210: xcm::v0::Response1970   **/1971  XcmV0Response: {1972    _enum: {1973      Assets: 'Vec<XcmV0MultiAsset>'1974    }1975  },1976  /**1977   * Lookup211: xcm::v1::Xcm<RuntimeCall>1978   **/1979  XcmV1Xcm: {1980    _enum: {1981      WithdrawAsset: {1982        assets: 'XcmV1MultiassetMultiAssets',1983        effects: 'Vec<XcmV1Order>',1984      },1985      ReserveAssetDeposited: {1986        assets: 'XcmV1MultiassetMultiAssets',1987        effects: 'Vec<XcmV1Order>',1988      },1989      ReceiveTeleportedAsset: {1990        assets: 'XcmV1MultiassetMultiAssets',1991        effects: 'Vec<XcmV1Order>',1992      },1993      QueryResponse: {1994        queryId: 'Compact<u64>',1995        response: 'XcmV1Response',1996      },1997      TransferAsset: {1998        assets: 'XcmV1MultiassetMultiAssets',1999        beneficiary: 'XcmV1MultiLocation',2000      },2001      TransferReserveAsset: {2002        assets: 'XcmV1MultiassetMultiAssets',2003        dest: 'XcmV1MultiLocation',2004        effects: 'Vec<XcmV1Order>',2005      },2006      Transact: {2007        originType: 'XcmV0OriginKind',2008        requireWeightAtMost: 'u64',2009        call: 'XcmDoubleEncoded',2010      },2011      HrmpNewChannelOpenRequest: {2012        sender: 'Compact<u32>',2013        maxMessageSize: 'Compact<u32>',2014        maxCapacity: 'Compact<u32>',2015      },2016      HrmpChannelAccepted: {2017        recipient: 'Compact<u32>',2018      },2019      HrmpChannelClosing: {2020        initiator: 'Compact<u32>',2021        sender: 'Compact<u32>',2022        recipient: 'Compact<u32>',2023      },2024      RelayedFrom: {2025        who: 'XcmV1MultilocationJunctions',2026        message: 'XcmV1Xcm',2027      },2028      SubscribeVersion: {2029        queryId: 'Compact<u64>',2030        maxResponseWeight: 'Compact<u64>',2031      },2032      UnsubscribeVersion: 'Null'2033    }2034  },2035  /**2036   * Lookup213: xcm::v1::order::Order<RuntimeCall>2037   **/2038  XcmV1Order: {2039    _enum: {2040      Noop: 'Null',2041      DepositAsset: {2042        assets: 'XcmV1MultiassetMultiAssetFilter',2043        maxAssets: 'u32',2044        beneficiary: 'XcmV1MultiLocation',2045      },2046      DepositReserveAsset: {2047        assets: 'XcmV1MultiassetMultiAssetFilter',2048        maxAssets: 'u32',2049        dest: 'XcmV1MultiLocation',2050        effects: 'Vec<XcmV1Order>',2051      },2052      ExchangeAsset: {2053        give: 'XcmV1MultiassetMultiAssetFilter',2054        receive: 'XcmV1MultiassetMultiAssets',2055      },2056      InitiateReserveWithdraw: {2057        assets: 'XcmV1MultiassetMultiAssetFilter',2058        reserve: 'XcmV1MultiLocation',2059        effects: 'Vec<XcmV1Order>',2060      },2061      InitiateTeleport: {2062        assets: 'XcmV1MultiassetMultiAssetFilter',2063        dest: 'XcmV1MultiLocation',2064        effects: 'Vec<XcmV1Order>',2065      },2066      QueryHolding: {2067        queryId: 'Compact<u64>',2068        dest: 'XcmV1MultiLocation',2069        assets: 'XcmV1MultiassetMultiAssetFilter',2070      },2071      BuyExecution: {2072        fees: 'XcmV1MultiAsset',2073        weight: 'u64',2074        debt: 'u64',2075        haltOnError: 'bool',2076        instructions: 'Vec<XcmV1Xcm>'2077      }2078    }2079  },2080  /**2081   * Lookup215: xcm::v1::Response2082   **/2083  XcmV1Response: {2084    _enum: {2085      Assets: 'XcmV1MultiassetMultiAssets',2086      Version: 'u32'2087    }2088  },2089  /**2090   * Lookup229: cumulus_pallet_xcm::pallet::Call<T>2091   **/2092  CumulusPalletXcmCall: 'Null',2093  /**2094   * Lookup230: cumulus_pallet_dmp_queue::pallet::Call<T>2095   **/2096  CumulusPalletDmpQueueCall: {2097    _enum: {2098      service_overweight: {2099        index: 'u64',2100        weightLimit: 'Weight'2101      }2102    }2103  },2104  /**2105   * Lookup231: pallet_inflation::pallet::Call<T>2106   **/2107  PalletInflationCall: {2108    _enum: {2109      start_inflation: {2110        inflationStartRelayBlock: 'u32'2111      }2112    }2113  },2114  /**2115   * Lookup232: pallet_unique::Call<T>2116   **/2117  PalletUniqueCall: {2118    _enum: {2119      create_collection: {2120        collectionName: 'Vec<u16>',2121        collectionDescription: 'Vec<u16>',2122        tokenPrefix: 'Bytes',2123        mode: 'UpDataStructsCollectionMode',2124      },2125      create_collection_ex: {2126        data: 'UpDataStructsCreateCollectionData',2127      },2128      destroy_collection: {2129        collectionId: 'u32',2130      },2131      add_to_allow_list: {2132        collectionId: 'u32',2133        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2134      },2135      remove_from_allow_list: {2136        collectionId: 'u32',2137        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2138      },2139      change_collection_owner: {2140        collectionId: 'u32',2141        newOwner: 'AccountId32',2142      },2143      add_collection_admin: {2144        collectionId: 'u32',2145        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2146      },2147      remove_collection_admin: {2148        collectionId: 'u32',2149        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2150      },2151      set_collection_sponsor: {2152        collectionId: 'u32',2153        newSponsor: 'AccountId32',2154      },2155      confirm_sponsorship: {2156        collectionId: 'u32',2157      },2158      remove_collection_sponsor: {2159        collectionId: 'u32',2160      },2161      create_item: {2162        collectionId: 'u32',2163        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2164        data: 'UpDataStructsCreateItemData',2165      },2166      create_multiple_items: {2167        collectionId: 'u32',2168        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2169        itemsData: 'Vec<UpDataStructsCreateItemData>',2170      },2171      set_collection_properties: {2172        collectionId: 'u32',2173        properties: 'Vec<UpDataStructsProperty>',2174      },2175      delete_collection_properties: {2176        collectionId: 'u32',2177        propertyKeys: 'Vec<Bytes>',2178      },2179      set_token_properties: {2180        collectionId: 'u32',2181        tokenId: 'u32',2182        properties: 'Vec<UpDataStructsProperty>',2183      },2184      delete_token_properties: {2185        collectionId: 'u32',2186        tokenId: 'u32',2187        propertyKeys: 'Vec<Bytes>',2188      },2189      set_token_property_permissions: {2190        collectionId: 'u32',2191        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2192      },2193      create_multiple_items_ex: {2194        collectionId: 'u32',2195        data: 'UpDataStructsCreateItemExData',2196      },2197      set_transfers_enabled_flag: {2198        collectionId: 'u32',2199        value: 'bool',2200      },2201      burn_item: {2202        collectionId: 'u32',2203        itemId: 'u32',2204        value: 'u128',2205      },2206      burn_from: {2207        collectionId: 'u32',2208        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2209        itemId: 'u32',2210        value: 'u128',2211      },2212      transfer: {2213        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2214        collectionId: 'u32',2215        itemId: 'u32',2216        value: 'u128',2217      },2218      approve: {2219        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2220        collectionId: 'u32',2221        itemId: 'u32',2222        amount: 'u128',2223      },2224      transfer_from: {2225        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2226        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2227        collectionId: 'u32',2228        itemId: 'u32',2229        value: 'u128',2230      },2231      set_collection_limits: {2232        collectionId: 'u32',2233        newLimit: 'UpDataStructsCollectionLimits',2234      },2235      set_collection_permissions: {2236        collectionId: 'u32',2237        newPermission: 'UpDataStructsCollectionPermissions',2238      },2239      repartition: {2240        collectionId: 'u32',2241        tokenId: 'u32',2242        amount: 'u128'2243      }2244    }2245  },2246  /**2247   * Lookup237: up_data_structs::CollectionMode2248   **/2249  UpDataStructsCollectionMode: {2250    _enum: {2251      NFT: 'Null',2252      Fungible: 'u8',2253      ReFungible: 'Null'2254    }2255  },2256  /**2257   * Lookup238: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2258   **/2259  UpDataStructsCreateCollectionData: {2260    mode: 'UpDataStructsCollectionMode',2261    access: 'Option<UpDataStructsAccessMode>',2262    name: 'Vec<u16>',2263    description: 'Vec<u16>',2264    tokenPrefix: 'Bytes',2265    pendingSponsor: 'Option<AccountId32>',2266    limits: 'Option<UpDataStructsCollectionLimits>',2267    permissions: 'Option<UpDataStructsCollectionPermissions>',2268    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2269    properties: 'Vec<UpDataStructsProperty>'2270  },2271  /**2272   * Lookup240: up_data_structs::AccessMode2273   **/2274  UpDataStructsAccessMode: {2275    _enum: ['Normal', 'AllowList']2276  },2277  /**2278   * Lookup242: up_data_structs::CollectionLimits2279   **/2280  UpDataStructsCollectionLimits: {2281    accountTokenOwnershipLimit: 'Option<u32>',2282    sponsoredDataSize: 'Option<u32>',2283    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2284    tokenLimit: 'Option<u32>',2285    sponsorTransferTimeout: 'Option<u32>',2286    sponsorApproveTimeout: 'Option<u32>',2287    ownerCanTransfer: 'Option<bool>',2288    ownerCanDestroy: 'Option<bool>',2289    transfersEnabled: 'Option<bool>'2290  },2291  /**2292   * Lookup244: up_data_structs::SponsoringRateLimit2293   **/2294  UpDataStructsSponsoringRateLimit: {2295    _enum: {2296      SponsoringDisabled: 'Null',2297      Blocks: 'u32'2298    }2299  },2300  /**2301   * Lookup247: up_data_structs::CollectionPermissions2302   **/2303  UpDataStructsCollectionPermissions: {2304    access: 'Option<UpDataStructsAccessMode>',2305    mintMode: 'Option<bool>',2306    nesting: 'Option<UpDataStructsNestingPermissions>'2307  },2308  /**2309   * Lookup249: up_data_structs::NestingPermissions2310   **/2311  UpDataStructsNestingPermissions: {2312    tokenOwner: 'bool',2313    collectionAdmin: 'bool',2314    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2315  },2316  /**2317   * Lookup251: up_data_structs::OwnerRestrictedSet2318   **/2319  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2320  /**2321   * Lookup256: up_data_structs::PropertyKeyPermission2322   **/2323  UpDataStructsPropertyKeyPermission: {2324    key: 'Bytes',2325    permission: 'UpDataStructsPropertyPermission'2326  },2327  /**2328   * Lookup257: up_data_structs::PropertyPermission2329   **/2330  UpDataStructsPropertyPermission: {2331    mutable: 'bool',2332    collectionAdmin: 'bool',2333    tokenOwner: 'bool'2334  },2335  /**2336   * Lookup260: up_data_structs::Property2337   **/2338  UpDataStructsProperty: {2339    key: 'Bytes',2340    value: 'Bytes'2341  },2342  /**2343   * Lookup263: up_data_structs::CreateItemData2344   **/2345  UpDataStructsCreateItemData: {2346    _enum: {2347      NFT: 'UpDataStructsCreateNftData',2348      Fungible: 'UpDataStructsCreateFungibleData',2349      ReFungible: 'UpDataStructsCreateReFungibleData'2350    }2351  },2352  /**2353   * Lookup264: up_data_structs::CreateNftData2354   **/2355  UpDataStructsCreateNftData: {2356    properties: 'Vec<UpDataStructsProperty>'2357  },2358  /**2359   * Lookup265: up_data_structs::CreateFungibleData2360   **/2361  UpDataStructsCreateFungibleData: {2362    value: 'u128'2363  },2364  /**2365   * Lookup266: up_data_structs::CreateReFungibleData2366   **/2367  UpDataStructsCreateReFungibleData: {2368    pieces: 'u128',2369    properties: 'Vec<UpDataStructsProperty>'2370  },2371  /**2372   * Lookup269: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2373   **/2374  UpDataStructsCreateItemExData: {2375    _enum: {2376      NFT: 'Vec<UpDataStructsCreateNftExData>',2377      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2378      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2379      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2380    }2381  },2382  /**2383   * Lookup271: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2384   **/2385  UpDataStructsCreateNftExData: {2386    properties: 'Vec<UpDataStructsProperty>',2387    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2388  },2389  /**2390   * Lookup278: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2391   **/2392  UpDataStructsCreateRefungibleExSingleOwner: {2393    user: 'PalletEvmAccountBasicCrossAccountIdRepr',2394    pieces: 'u128',2395    properties: 'Vec<UpDataStructsProperty>'2396  },2397  /**2398   * Lookup280: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2399   **/2400  UpDataStructsCreateRefungibleExMultipleOwners: {2401    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2402    properties: 'Vec<UpDataStructsProperty>'2403  },2404  /**2405   * Lookup281: pallet_configuration::pallet::Call<T>2406   **/2407  PalletConfigurationCall: {2408    _enum: {2409      set_weight_to_fee_coefficient_override: {2410        coeff: 'Option<u32>',2411      },2412      set_min_gas_price_override: {2413        coeff: 'Option<u64>'2414      }2415    }2416  },2417  /**2418   * Lookup283: pallet_template_transaction_payment::Call<T>2419   **/2420  PalletTemplateTransactionPaymentCall: 'Null',2421  /**2422   * Lookup284: pallet_structure::pallet::Call<T>2423   **/2424  PalletStructureCall: 'Null',2425  /**2426   * Lookup285: pallet_rmrk_core::pallet::Call<T>2427   **/2428  PalletRmrkCoreCall: {2429    _enum: {2430      create_collection: {2431        metadata: 'Bytes',2432        max: 'Option<u32>',2433        symbol: 'Bytes',2434      },2435      destroy_collection: {2436        collectionId: 'u32',2437      },2438      change_collection_issuer: {2439        collectionId: 'u32',2440        newIssuer: 'MultiAddress',2441      },2442      lock_collection: {2443        collectionId: 'u32',2444      },2445      mint_nft: {2446        owner: 'Option<AccountId32>',2447        collectionId: 'u32',2448        recipient: 'Option<AccountId32>',2449        royaltyAmount: 'Option<Permill>',2450        metadata: 'Bytes',2451        transferable: 'bool',2452        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',2453      },2454      burn_nft: {2455        collectionId: 'u32',2456        nftId: 'u32',2457        maxBurns: 'u32',2458      },2459      send: {2460        rmrkCollectionId: 'u32',2461        rmrkNftId: 'u32',2462        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2463      },2464      accept_nft: {2465        rmrkCollectionId: 'u32',2466        rmrkNftId: 'u32',2467        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2468      },2469      reject_nft: {2470        rmrkCollectionId: 'u32',2471        rmrkNftId: 'u32',2472      },2473      accept_resource: {2474        rmrkCollectionId: 'u32',2475        rmrkNftId: 'u32',2476        resourceId: 'u32',2477      },2478      accept_resource_removal: {2479        rmrkCollectionId: 'u32',2480        rmrkNftId: 'u32',2481        resourceId: 'u32',2482      },2483      set_property: {2484        rmrkCollectionId: 'Compact<u32>',2485        maybeNftId: 'Option<u32>',2486        key: 'Bytes',2487        value: 'Bytes',2488      },2489      set_priority: {2490        rmrkCollectionId: 'u32',2491        rmrkNftId: 'u32',2492        priorities: 'Vec<u32>',2493      },2494      add_basic_resource: {2495        rmrkCollectionId: 'u32',2496        nftId: 'u32',2497        resource: 'RmrkTraitsResourceBasicResource',2498      },2499      add_composable_resource: {2500        rmrkCollectionId: 'u32',2501        nftId: 'u32',2502        resource: 'RmrkTraitsResourceComposableResource',2503      },2504      add_slot_resource: {2505        rmrkCollectionId: 'u32',2506        nftId: 'u32',2507        resource: 'RmrkTraitsResourceSlotResource',2508      },2509      remove_resource: {2510        rmrkCollectionId: 'u32',2511        nftId: 'u32',2512        resourceId: 'u32'2513      }2514    }2515  },2516  /**2517   * Lookup291: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2518   **/2519  RmrkTraitsResourceResourceTypes: {2520    _enum: {2521      Basic: 'RmrkTraitsResourceBasicResource',2522      Composable: 'RmrkTraitsResourceComposableResource',2523      Slot: 'RmrkTraitsResourceSlotResource'2524    }2525  },2526  /**2527   * Lookup293: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2528   **/2529  RmrkTraitsResourceBasicResource: {2530    src: 'Option<Bytes>',2531    metadata: 'Option<Bytes>',2532    license: 'Option<Bytes>',2533    thumb: 'Option<Bytes>'2534  },2535  /**2536   * Lookup295: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2537   **/2538  RmrkTraitsResourceComposableResource: {2539    parts: 'Vec<u32>',2540    base: 'u32',2541    src: 'Option<Bytes>',2542    metadata: 'Option<Bytes>',2543    license: 'Option<Bytes>',2544    thumb: 'Option<Bytes>'2545  },2546  /**2547   * Lookup296: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2548   **/2549  RmrkTraitsResourceSlotResource: {2550    base: 'u32',2551    src: 'Option<Bytes>',2552    metadata: 'Option<Bytes>',2553    slot: 'u32',2554    license: 'Option<Bytes>',2555    thumb: 'Option<Bytes>'2556  },2557  /**2558   * Lookup299: pallet_rmrk_equip::pallet::Call<T>2559   **/2560  PalletRmrkEquipCall: {2561    _enum: {2562      create_base: {2563        baseType: 'Bytes',2564        symbol: 'Bytes',2565        parts: 'Vec<RmrkTraitsPartPartType>',2566      },2567      theme_add: {2568        baseId: 'u32',2569        theme: 'RmrkTraitsTheme',2570      },2571      equippable: {2572        baseId: 'u32',2573        slotId: 'u32',2574        equippables: 'RmrkTraitsPartEquippableList'2575      }2576    }2577  },2578  /**2579   * Lookup302: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2580   **/2581  RmrkTraitsPartPartType: {2582    _enum: {2583      FixedPart: 'RmrkTraitsPartFixedPart',2584      SlotPart: 'RmrkTraitsPartSlotPart'2585    }2586  },2587  /**2588   * Lookup304: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2589   **/2590  RmrkTraitsPartFixedPart: {2591    id: 'u32',2592    z: 'u32',2593    src: 'Bytes'2594  },2595  /**2596   * Lookup305: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2597   **/2598  RmrkTraitsPartSlotPart: {2599    id: 'u32',2600    equippable: 'RmrkTraitsPartEquippableList',2601    src: 'Bytes',2602    z: 'u32'2603  },2604  /**2605   * Lookup306: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2606   **/2607  RmrkTraitsPartEquippableList: {2608    _enum: {2609      All: 'Null',2610      Empty: 'Null',2611      Custom: 'Vec<u32>'2612    }2613  },2614  /**2615   * Lookup308: 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>>2616   **/2617  RmrkTraitsTheme: {2618    name: 'Bytes',2619    properties: 'Vec<RmrkTraitsThemeThemeProperty>',2620    inherit: 'bool'2621  },2622  /**2623   * Lookup310: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2624   **/2625  RmrkTraitsThemeThemeProperty: {2626    key: 'Bytes',2627    value: 'Bytes'2628  },2629  /**2630   * Lookup312: pallet_app_promotion::pallet::Call<T>2631   **/2632  PalletAppPromotionCall: {2633    _enum: {2634      set_admin_address: {2635        admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2636      },2637      stake: {2638        amount: 'u128',2639      },2640      unstake: 'Null',2641      sponsor_collection: {2642        collectionId: 'u32',2643      },2644      stop_sponsoring_collection: {2645        collectionId: 'u32',2646      },2647      sponsor_contract: {2648        contractId: 'H160',2649      },2650      stop_sponsoring_contract: {2651        contractId: 'H160',2652      },2653      payout_stakers: {2654        stakersNumber: 'Option<u8>'2655      }2656    }2657  },2658  /**2659   * Lookup314: pallet_foreign_assets::module::Call<T>2660   **/2661  PalletForeignAssetsModuleCall: {2662    _enum: {2663      register_foreign_asset: {2664        owner: 'AccountId32',2665        location: 'XcmVersionedMultiLocation',2666        metadata: 'PalletForeignAssetsModuleAssetMetadata',2667      },2668      update_foreign_asset: {2669        foreignAssetId: 'u32',2670        location: 'XcmVersionedMultiLocation',2671        metadata: 'PalletForeignAssetsModuleAssetMetadata'2672      }2673    }2674  },2675  /**2676   * Lookup315: pallet_evm::pallet::Call<T>2677   **/2678  PalletEvmCall: {2679    _enum: {2680      withdraw: {2681        address: 'H160',2682        value: 'u128',2683      },2684      call: {2685        source: 'H160',2686        target: 'H160',2687        input: 'Bytes',2688        value: 'U256',2689        gasLimit: 'u64',2690        maxFeePerGas: 'U256',2691        maxPriorityFeePerGas: 'Option<U256>',2692        nonce: 'Option<U256>',2693        accessList: 'Vec<(H160,Vec<H256>)>',2694      },2695      create: {2696        source: 'H160',2697        init: 'Bytes',2698        value: 'U256',2699        gasLimit: 'u64',2700        maxFeePerGas: 'U256',2701        maxPriorityFeePerGas: 'Option<U256>',2702        nonce: 'Option<U256>',2703        accessList: 'Vec<(H160,Vec<H256>)>',2704      },2705      create2: {2706        source: 'H160',2707        init: 'Bytes',2708        salt: 'H256',2709        value: 'U256',2710        gasLimit: 'u64',2711        maxFeePerGas: 'U256',2712        maxPriorityFeePerGas: 'Option<U256>',2713        nonce: 'Option<U256>',2714        accessList: 'Vec<(H160,Vec<H256>)>'2715      }2716    }2717  },2718  /**2719   * Lookup319: pallet_ethereum::pallet::Call<T>2720   **/2721  PalletEthereumCall: {2722    _enum: {2723      transact: {2724        transaction: 'EthereumTransactionTransactionV2'2725      }2726    }2727  },2728  /**2729   * Lookup320: ethereum::transaction::TransactionV22730   **/2731  EthereumTransactionTransactionV2: {2732    _enum: {2733      Legacy: 'EthereumTransactionLegacyTransaction',2734      EIP2930: 'EthereumTransactionEip2930Transaction',2735      EIP1559: 'EthereumTransactionEip1559Transaction'2736    }2737  },2738  /**2739   * Lookup321: ethereum::transaction::LegacyTransaction2740   **/2741  EthereumTransactionLegacyTransaction: {2742    nonce: 'U256',2743    gasPrice: 'U256',2744    gasLimit: 'U256',2745    action: 'EthereumTransactionTransactionAction',2746    value: 'U256',2747    input: 'Bytes',2748    signature: 'EthereumTransactionTransactionSignature'2749  },2750  /**2751   * Lookup322: ethereum::transaction::TransactionAction2752   **/2753  EthereumTransactionTransactionAction: {2754    _enum: {2755      Call: 'H160',2756      Create: 'Null'2757    }2758  },2759  /**2760   * Lookup323: ethereum::transaction::TransactionSignature2761   **/2762  EthereumTransactionTransactionSignature: {2763    v: 'u64',2764    r: 'H256',2765    s: 'H256'2766  },2767  /**2768   * Lookup325: ethereum::transaction::EIP2930Transaction2769   **/2770  EthereumTransactionEip2930Transaction: {2771    chainId: 'u64',2772    nonce: 'U256',2773    gasPrice: 'U256',2774    gasLimit: 'U256',2775    action: 'EthereumTransactionTransactionAction',2776    value: 'U256',2777    input: 'Bytes',2778    accessList: 'Vec<EthereumTransactionAccessListItem>',2779    oddYParity: 'bool',2780    r: 'H256',2781    s: 'H256'2782  },2783  /**2784   * Lookup327: ethereum::transaction::AccessListItem2785   **/2786  EthereumTransactionAccessListItem: {2787    address: 'H160',2788    storageKeys: 'Vec<H256>'2789  },2790  /**2791   * Lookup328: ethereum::transaction::EIP1559Transaction2792   **/2793  EthereumTransactionEip1559Transaction: {2794    chainId: 'u64',2795    nonce: 'U256',2796    maxPriorityFeePerGas: 'U256',2797    maxFeePerGas: 'U256',2798    gasLimit: 'U256',2799    action: 'EthereumTransactionTransactionAction',2800    value: 'U256',2801    input: 'Bytes',2802    accessList: 'Vec<EthereumTransactionAccessListItem>',2803    oddYParity: 'bool',2804    r: 'H256',2805    s: 'H256'2806  },2807  /**2808   * Lookup329: pallet_evm_migration::pallet::Call<T>2809   **/2810  PalletEvmMigrationCall: {2811    _enum: {2812      begin: {2813        address: 'H160',2814      },2815      set_data: {2816        address: 'H160',2817        data: 'Vec<(H256,H256)>',2818      },2819      finish: {2820        address: 'H160',2821        code: 'Bytes'2822      }2823    }2824  },2825  /**2826   * Lookup332: pallet_sudo::pallet::Error<T>2827   **/2828  PalletSudoError: {2829    _enum: ['RequireSudo']2830  },2831  /**2832   * Lookup334: orml_vesting::module::Error<T>2833   **/2834  OrmlVestingModuleError: {2835    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2836  },2837  /**2838   * Lookup335: orml_xtokens::module::Error<T>2839   **/2840  OrmlXtokensModuleError: {2841    _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']2842  },2843  /**2844   * Lookup338: orml_tokens::BalanceLock<Balance>2845   **/2846  OrmlTokensBalanceLock: {2847    id: '[u8;8]',2848    amount: 'u128'2849  },2850  /**2851   * Lookup340: orml_tokens::AccountData<Balance>2852   **/2853  OrmlTokensAccountData: {2854    free: 'u128',2855    reserved: 'u128',2856    frozen: 'u128'2857  },2858  /**2859   * Lookup342: orml_tokens::ReserveData<ReserveIdentifier, Balance>2860   **/2861  OrmlTokensReserveData: {2862    id: 'Null',2863    amount: 'u128'2864  },2865  /**2866   * Lookup344: orml_tokens::module::Error<T>2867   **/2868  OrmlTokensModuleError: {2869    _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']2870  },2871  /**2872   * Lookup346: cumulus_pallet_xcmp_queue::InboundChannelDetails2873   **/2874  CumulusPalletXcmpQueueInboundChannelDetails: {2875    sender: 'u32',2876    state: 'CumulusPalletXcmpQueueInboundState',2877    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2878  },2879  /**2880   * Lookup347: cumulus_pallet_xcmp_queue::InboundState2881   **/2882  CumulusPalletXcmpQueueInboundState: {2883    _enum: ['Ok', 'Suspended']2884  },2885  /**2886   * Lookup350: polkadot_parachain::primitives::XcmpMessageFormat2887   **/2888  PolkadotParachainPrimitivesXcmpMessageFormat: {2889    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']2890  },2891  /**2892   * Lookup353: cumulus_pallet_xcmp_queue::OutboundChannelDetails2893   **/2894  CumulusPalletXcmpQueueOutboundChannelDetails: {2895    recipient: 'u32',2896    state: 'CumulusPalletXcmpQueueOutboundState',2897    signalsExist: 'bool',2898    firstIndex: 'u16',2899    lastIndex: 'u16'2900  },2901  /**2902   * Lookup354: cumulus_pallet_xcmp_queue::OutboundState2903   **/2904  CumulusPalletXcmpQueueOutboundState: {2905    _enum: ['Ok', 'Suspended']2906  },2907  /**2908   * Lookup356: cumulus_pallet_xcmp_queue::QueueConfigData2909   **/2910  CumulusPalletXcmpQueueQueueConfigData: {2911    suspendThreshold: 'u32',2912    dropThreshold: 'u32',2913    resumeThreshold: 'u32',2914    thresholdWeight: 'Weight',2915    weightRestrictDecay: 'Weight',2916    xcmpMaxIndividualWeight: 'Weight'2917  },2918  /**2919   * Lookup358: cumulus_pallet_xcmp_queue::pallet::Error<T>2920   **/2921  CumulusPalletXcmpQueueError: {2922    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']2923  },2924  /**2925   * Lookup359: pallet_xcm::pallet::Error<T>2926   **/2927  PalletXcmError: {2928    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']2929  },2930  /**2931   * Lookup360: cumulus_pallet_xcm::pallet::Error<T>2932   **/2933  CumulusPalletXcmError: 'Null',2934  /**2935   * Lookup361: cumulus_pallet_dmp_queue::ConfigData2936   **/2937  CumulusPalletDmpQueueConfigData: {2938    maxIndividual: 'Weight'2939  },2940  /**2941   * Lookup362: cumulus_pallet_dmp_queue::PageIndexData2942   **/2943  CumulusPalletDmpQueuePageIndexData: {2944    beginUsed: 'u32',2945    endUsed: 'u32',2946    overweightCount: 'u64'2947  },2948  /**2949   * Lookup365: cumulus_pallet_dmp_queue::pallet::Error<T>2950   **/2951  CumulusPalletDmpQueueError: {2952    _enum: ['Unknown', 'OverLimit']2953  },2954  /**2955   * Lookup369: pallet_unique::Error<T>2956   **/2957  PalletUniqueError: {2958    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']2959  },2960  /**2961   * Lookup370: up_data_structs::Collection<sp_core::crypto::AccountId32>2962   **/2963  UpDataStructsCollection: {2964    owner: 'AccountId32',2965    mode: 'UpDataStructsCollectionMode',2966    name: 'Vec<u16>',2967    description: 'Vec<u16>',2968    tokenPrefix: 'Bytes',2969    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',2970    limits: 'UpDataStructsCollectionLimits',2971    permissions: 'UpDataStructsCollectionPermissions',2972    flags: '[u8;1]'2973  },2974  /**2975   * Lookup371: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>2976   **/2977  UpDataStructsSponsorshipStateAccountId32: {2978    _enum: {2979      Disabled: 'Null',2980      Unconfirmed: 'AccountId32',2981      Confirmed: 'AccountId32'2982    }2983  },2984  /**2985   * Lookup373: up_data_structs::Properties2986   **/2987  UpDataStructsProperties: {2988    map: 'UpDataStructsPropertiesMapBoundedVec',2989    consumedSpace: 'u32',2990    spaceLimit: 'u32'2991  },2992  /**2993   * Lookup374: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2994   **/2995  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',2996  /**2997   * Lookup379: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>2998   **/2999  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3000  /**3001   * Lookup386: up_data_structs::CollectionStats3002   **/3003  UpDataStructsCollectionStats: {3004    created: 'u32',3005    destroyed: 'u32',3006    alive: 'u32'3007  },3008  /**3009   * Lookup387: up_data_structs::TokenChild3010   **/3011  UpDataStructsTokenChild: {3012    token: 'u32',3013    collection: 'u32'3014  },3015  /**3016   * Lookup388: PhantomType::up_data_structs<T>3017   **/3018  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',3019  /**3020   * Lookup390: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3021   **/3022  UpDataStructsTokenData: {3023    properties: 'Vec<UpDataStructsProperty>',3024    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3025    pieces: 'u128'3026  },3027  /**3028   * Lookup392: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3029   **/3030  UpDataStructsRpcCollection: {3031    owner: 'AccountId32',3032    mode: 'UpDataStructsCollectionMode',3033    name: 'Vec<u16>',3034    description: 'Vec<u16>',3035    tokenPrefix: 'Bytes',3036    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3037    limits: 'UpDataStructsCollectionLimits',3038    permissions: 'UpDataStructsCollectionPermissions',3039    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3040    properties: 'Vec<UpDataStructsProperty>',3041    readOnly: 'bool',3042    flags: 'UpDataStructsRpcCollectionFlags'3043  },3044  /**3045   * Lookup393: up_data_structs::RpcCollectionFlags3046   **/3047  UpDataStructsRpcCollectionFlags: {3048    foreign: 'bool',3049    erc721metadata: 'bool'3050  },3051  /**3052   * Lookup394: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>3053   **/3054  RmrkTraitsCollectionCollectionInfo: {3055    issuer: 'AccountId32',3056    metadata: 'Bytes',3057    max: 'Option<u32>',3058    symbol: 'Bytes',3059    nftsCount: 'u32'3060  },3061  /**3062   * Lookup395: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3063   **/3064  RmrkTraitsNftNftInfo: {3065    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3066    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3067    metadata: 'Bytes',3068    equipped: 'bool',3069    pending: 'bool'3070  },3071  /**3072   * Lookup397: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3073   **/3074  RmrkTraitsNftRoyaltyInfo: {3075    recipient: 'AccountId32',3076    amount: 'Permill'3077  },3078  /**3079   * Lookup398: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3080   **/3081  RmrkTraitsResourceResourceInfo: {3082    id: 'u32',3083    resource: 'RmrkTraitsResourceResourceTypes',3084    pending: 'bool',3085    pendingRemoval: 'bool'3086  },3087  /**3088   * Lookup399: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3089   **/3090  RmrkTraitsPropertyPropertyInfo: {3091    key: 'Bytes',3092    value: 'Bytes'3093  },3094  /**3095   * Lookup400: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3096   **/3097  RmrkTraitsBaseBaseInfo: {3098    issuer: 'AccountId32',3099    baseType: 'Bytes',3100    symbol: 'Bytes'3101  },3102  /**3103   * Lookup401: rmrk_traits::nft::NftChild3104   **/3105  RmrkTraitsNftNftChild: {3106    collectionId: 'u32',3107    nftId: 'u32'3108  },3109  /**3110   * Lookup403: pallet_common::pallet::Error<T>3111   **/3112  PalletCommonError: {3113    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']3114  },3115  /**3116   * Lookup405: pallet_fungible::pallet::Error<T>3117   **/3118  PalletFungibleError: {3119    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3120  },3121  /**3122   * Lookup406: pallet_refungible::ItemData3123   **/3124  PalletRefungibleItemData: {3125    constData: 'Bytes'3126  },3127  /**3128   * Lookup411: pallet_refungible::pallet::Error<T>3129   **/3130  PalletRefungibleError: {3131    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3132  },3133  /**3134   * Lookup412: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3135   **/3136  PalletNonfungibleItemData: {3137    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3138  },3139  /**3140   * Lookup414: up_data_structs::PropertyScope3141   **/3142  UpDataStructsPropertyScope: {3143    _enum: ['None', 'Rmrk']3144  },3145  /**3146   * Lookup416: pallet_nonfungible::pallet::Error<T>3147   **/3148  PalletNonfungibleError: {3149    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3150  },3151  /**3152   * Lookup417: pallet_structure::pallet::Error<T>3153   **/3154  PalletStructureError: {3155    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3156  },3157  /**3158   * Lookup418: pallet_rmrk_core::pallet::Error<T>3159   **/3160  PalletRmrkCoreError: {3161    _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3162  },3163  /**3164   * Lookup420: pallet_rmrk_equip::pallet::Error<T>3165   **/3166  PalletRmrkEquipError: {3167    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3168  },3169  /**3170   * Lookup426: pallet_app_promotion::pallet::Error<T>3171   **/3172  PalletAppPromotionError: {3173    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3174  },3175  /**3176   * Lookup427: pallet_foreign_assets::module::Error<T>3177   **/3178  PalletForeignAssetsModuleError: {3179    _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3180  },3181  /**3182   * Lookup430: pallet_evm::pallet::Error<T>3183   **/3184  PalletEvmError: {3185    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']3186  },3187  /**3188   * Lookup433: fp_rpc::TransactionStatus3189   **/3190  FpRpcTransactionStatus: {3191    transactionHash: 'H256',3192    transactionIndex: 'u32',3193    from: 'H160',3194    to: 'Option<H160>',3195    contractAddress: 'Option<H160>',3196    logs: 'Vec<EthereumLog>',3197    logsBloom: 'EthbloomBloom'3198  },3199  /**3200   * Lookup435: ethbloom::Bloom3201   **/3202  EthbloomBloom: '[u8;256]',3203  /**3204   * Lookup437: ethereum::receipt::ReceiptV33205   **/3206  EthereumReceiptReceiptV3: {3207    _enum: {3208      Legacy: 'EthereumReceiptEip658ReceiptData',3209      EIP2930: 'EthereumReceiptEip658ReceiptData',3210      EIP1559: 'EthereumReceiptEip658ReceiptData'3211    }3212  },3213  /**3214   * Lookup438: ethereum::receipt::EIP658ReceiptData3215   **/3216  EthereumReceiptEip658ReceiptData: {3217    statusCode: 'u8',3218    usedGas: 'U256',3219    logsBloom: 'EthbloomBloom',3220    logs: 'Vec<EthereumLog>'3221  },3222  /**3223   * Lookup439: ethereum::block::Block<ethereum::transaction::TransactionV2>3224   **/3225  EthereumBlock: {3226    header: 'EthereumHeader',3227    transactions: 'Vec<EthereumTransactionTransactionV2>',3228    ommers: 'Vec<EthereumHeader>'3229  },3230  /**3231   * Lookup440: ethereum::header::Header3232   **/3233  EthereumHeader: {3234    parentHash: 'H256',3235    ommersHash: 'H256',3236    beneficiary: 'H160',3237    stateRoot: 'H256',3238    transactionsRoot: 'H256',3239    receiptsRoot: 'H256',3240    logsBloom: 'EthbloomBloom',3241    difficulty: 'U256',3242    number: 'U256',3243    gasLimit: 'U256',3244    gasUsed: 'U256',3245    timestamp: 'u64',3246    extraData: 'Bytes',3247    mixHash: 'H256',3248    nonce: 'EthereumTypesHashH64'3249  },3250  /**3251   * Lookup441: ethereum_types::hash::H643252   **/3253  EthereumTypesHashH64: '[u8;8]',3254  /**3255   * Lookup446: pallet_ethereum::pallet::Error<T>3256   **/3257  PalletEthereumError: {3258    _enum: ['InvalidSignature', 'PreLogExists']3259  },3260  /**3261   * Lookup447: pallet_evm_coder_substrate::pallet::Error<T>3262   **/3263  PalletEvmCoderSubstrateError: {3264    _enum: ['OutOfGas', 'OutOfFund']3265  },3266  /**3267   * Lookup448: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3268   **/3269  UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3270    _enum: {3271      Disabled: 'Null',3272      Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3273      Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3274    }3275  },3276  /**3277   * Lookup449: pallet_evm_contract_helpers::SponsoringModeT3278   **/3279  PalletEvmContractHelpersSponsoringModeT: {3280    _enum: ['Disabled', 'Allowlisted', 'Generous']3281  },3282  /**3283   * Lookup455: pallet_evm_contract_helpers::pallet::Error<T>3284   **/3285  PalletEvmContractHelpersError: {3286    _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3287  },3288  /**3289   * Lookup456: pallet_evm_migration::pallet::Error<T>3290   **/3291  PalletEvmMigrationError: {3292    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3293  },3294  /**3295   * Lookup458: sp_runtime::MultiSignature3296   **/3297  SpRuntimeMultiSignature: {3298    _enum: {3299      Ed25519: 'SpCoreEd25519Signature',3300      Sr25519: 'SpCoreSr25519Signature',3301      Ecdsa: 'SpCoreEcdsaSignature'3302    }3303  },3304  /**3305   * Lookup459: sp_core::ed25519::Signature3306   **/3307  SpCoreEd25519Signature: '[u8;64]',3308  /**3309   * Lookup461: sp_core::sr25519::Signature3310   **/3311  SpCoreSr25519Signature: '[u8;64]',3312  /**3313   * Lookup462: sp_core::ecdsa::Signature3314   **/3315  SpCoreEcdsaSignature: '[u8;65]',3316  /**3317   * Lookup465: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3318   **/3319  FrameSystemExtensionsCheckSpecVersion: 'Null',3320  /**3321   * Lookup466: frame_system::extensions::check_tx_version::CheckTxVersion<T>3322   **/3323  FrameSystemExtensionsCheckTxVersion: 'Null',3324  /**3325   * Lookup467: frame_system::extensions::check_genesis::CheckGenesis<T>3326   **/3327  FrameSystemExtensionsCheckGenesis: 'Null',3328  /**3329   * Lookup470: frame_system::extensions::check_nonce::CheckNonce<T>3330   **/3331  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3332  /**3333   * Lookup471: frame_system::extensions::check_weight::CheckWeight<T>3334   **/3335  FrameSystemExtensionsCheckWeight: 'Null',3336  /**3337   * Lookup472: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3338   **/3339  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3340  /**3341   * Lookup473: opal_runtime::Runtime3342   **/3343  OpalRuntimeRuntime: 'Null',3344  /**3345   * Lookup474: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3346   **/3347  PalletEthereumFakeTransactionFinalizer: 'Null'3348};
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: 'Weight',31    operational: 'Weight',32    mandatory: 'Weight'33  },34  /**35   * Lookup12: sp_runtime::generic::digest::Digest36   **/37  SpRuntimeDigest: {38    logs: 'Vec<SpRuntimeDigestDigestItem>'39  },40  /**41   * Lookup14: sp_runtime::generic::digest::DigestItem42   **/43  SpRuntimeDigestDigestItem: {44    _enum: {45      Other: 'Bytes',46      __Unused1: 'Null',47      __Unused2: 'Null',48      __Unused3: 'Null',49      Consensus: '([u8;4],Bytes)',50      Seal: '([u8;4],Bytes)',51      PreRuntime: '([u8;4],Bytes)',52      __Unused7: 'Null',53      RuntimeEnvironmentUpdated: 'Null'54    }55  },56  /**57   * Lookup17: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>58   **/59  FrameSystemEventRecord: {60    phase: 'FrameSystemPhase',61    event: 'Event',62    topics: 'Vec<H256>'63  },64  /**65   * Lookup19: frame_system::pallet::Event<T>66   **/67  FrameSystemEvent: {68    _enum: {69      ExtrinsicSuccess: {70        dispatchInfo: 'FrameSupportDispatchDispatchInfo',71      },72      ExtrinsicFailed: {73        dispatchError: 'SpRuntimeDispatchError',74        dispatchInfo: 'FrameSupportDispatchDispatchInfo',75      },76      CodeUpdated: 'Null',77      NewAccount: {78        account: 'AccountId32',79      },80      KilledAccount: {81        account: 'AccountId32',82      },83      Remarked: {84        _alias: {85          hash_: 'hash',86        },87        sender: 'AccountId32',88        hash_: 'H256'89      }90    }91  },92  /**93   * Lookup20: frame_support::dispatch::DispatchInfo94   **/95  FrameSupportDispatchDispatchInfo: {96    weight: 'Weight',97    class: 'FrameSupportDispatchDispatchClass',98    paysFee: 'FrameSupportDispatchPays'99  },100  /**101   * Lookup21: frame_support::dispatch::DispatchClass102   **/103  FrameSupportDispatchDispatchClass: {104    _enum: ['Normal', 'Operational', 'Mandatory']105  },106  /**107   * Lookup22: frame_support::dispatch::Pays108   **/109  FrameSupportDispatchPays: {110    _enum: ['Yes', 'No']111  },112  /**113   * Lookup23: sp_runtime::DispatchError114   **/115  SpRuntimeDispatchError: {116    _enum: {117      Other: 'Null',118      CannotLookup: 'Null',119      BadOrigin: 'Null',120      Module: 'SpRuntimeModuleError',121      ConsumerRemaining: 'Null',122      NoProviders: 'Null',123      TooManyConsumers: 'Null',124      Token: 'SpRuntimeTokenError',125      Arithmetic: 'SpRuntimeArithmeticError',126      Transactional: 'SpRuntimeTransactionalError'127    }128  },129  /**130   * Lookup24: sp_runtime::ModuleError131   **/132  SpRuntimeModuleError: {133    index: 'u8',134    error: '[u8;4]'135  },136  /**137   * Lookup25: sp_runtime::TokenError138   **/139  SpRuntimeTokenError: {140    _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']141  },142  /**143   * Lookup26: sp_runtime::ArithmeticError144   **/145  SpRuntimeArithmeticError: {146    _enum: ['Underflow', 'Overflow', 'DivisionByZero']147  },148  /**149   * Lookup27: sp_runtime::TransactionalError150   **/151  SpRuntimeTransactionalError: {152    _enum: ['LimitReached', 'NoLayer']153  },154  /**155   * Lookup28: cumulus_pallet_parachain_system::pallet::Event<T>156   **/157  CumulusPalletParachainSystemEvent: {158    _enum: {159      ValidationFunctionStored: 'Null',160      ValidationFunctionApplied: {161        relayChainBlockNum: 'u32',162      },163      ValidationFunctionDiscarded: 'Null',164      UpgradeAuthorized: {165        codeHash: 'H256',166      },167      DownwardMessagesReceived: {168        count: 'u32',169      },170      DownwardMessagesProcessed: {171        weightUsed: 'Weight',172        dmqHead: 'H256'173      }174    }175  },176  /**177   * Lookup29: pallet_balances::pallet::Event<T, I>178   **/179  PalletBalancesEvent: {180    _enum: {181      Endowed: {182        account: 'AccountId32',183        freeBalance: 'u128',184      },185      DustLost: {186        account: 'AccountId32',187        amount: 'u128',188      },189      Transfer: {190        from: 'AccountId32',191        to: 'AccountId32',192        amount: 'u128',193      },194      BalanceSet: {195        who: 'AccountId32',196        free: 'u128',197        reserved: 'u128',198      },199      Reserved: {200        who: 'AccountId32',201        amount: 'u128',202      },203      Unreserved: {204        who: 'AccountId32',205        amount: 'u128',206      },207      ReserveRepatriated: {208        from: 'AccountId32',209        to: 'AccountId32',210        amount: 'u128',211        destinationStatus: 'FrameSupportTokensMiscBalanceStatus',212      },213      Deposit: {214        who: 'AccountId32',215        amount: 'u128',216      },217      Withdraw: {218        who: 'AccountId32',219        amount: 'u128',220      },221      Slashed: {222        who: 'AccountId32',223        amount: 'u128'224      }225    }226  },227  /**228   * Lookup30: frame_support::traits::tokens::misc::BalanceStatus229   **/230  FrameSupportTokensMiscBalanceStatus: {231    _enum: ['Free', 'Reserved']232  },233  /**234   * Lookup31: pallet_transaction_payment::pallet::Event<T>235   **/236  PalletTransactionPaymentEvent: {237    _enum: {238      TransactionFeePaid: {239        who: 'AccountId32',240        actualFee: 'u128',241        tip: 'u128'242      }243    }244  },245  /**246   * Lookup32: pallet_treasury::pallet::Event<T, I>247   **/248  PalletTreasuryEvent: {249    _enum: {250      Proposed: {251        proposalIndex: 'u32',252      },253      Spending: {254        budgetRemaining: 'u128',255      },256      Awarded: {257        proposalIndex: 'u32',258        award: 'u128',259        account: 'AccountId32',260      },261      Rejected: {262        proposalIndex: 'u32',263        slashed: 'u128',264      },265      Burnt: {266        burntFunds: 'u128',267      },268      Rollover: {269        rolloverBalance: 'u128',270      },271      Deposit: {272        value: 'u128',273      },274      SpendApproved: {275        proposalIndex: 'u32',276        amount: 'u128',277        beneficiary: 'AccountId32'278      }279    }280  },281  /**282   * Lookup33: pallet_sudo::pallet::Event<T>283   **/284  PalletSudoEvent: {285    _enum: {286      Sudid: {287        sudoResult: 'Result<Null, SpRuntimeDispatchError>',288      },289      KeyChanged: {290        oldSudoer: 'Option<AccountId32>',291      },292      SudoAsDone: {293        sudoResult: 'Result<Null, SpRuntimeDispatchError>'294      }295    }296  },297  /**298   * Lookup37: orml_vesting::module::Event<T>299   **/300  OrmlVestingModuleEvent: {301    _enum: {302      VestingScheduleAdded: {303        from: 'AccountId32',304        to: 'AccountId32',305        vestingSchedule: 'OrmlVestingVestingSchedule',306      },307      Claimed: {308        who: 'AccountId32',309        amount: 'u128',310      },311      VestingSchedulesUpdated: {312        who: 'AccountId32'313      }314    }315  },316  /**317   * Lookup38: orml_vesting::VestingSchedule<BlockNumber, Balance>318   **/319  OrmlVestingVestingSchedule: {320    start: 'u32',321    period: 'u32',322    periodCount: 'u32',323    perPeriod: 'Compact<u128>'324  },325  /**326   * Lookup40: orml_xtokens::module::Event<T>327   **/328  OrmlXtokensModuleEvent: {329    _enum: {330      TransferredMultiAssets: {331        sender: 'AccountId32',332        assets: 'XcmV1MultiassetMultiAssets',333        fee: 'XcmV1MultiAsset',334        dest: 'XcmV1MultiLocation'335      }336    }337  },338  /**339   * Lookup41: xcm::v1::multiasset::MultiAssets340   **/341  XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',342  /**343   * Lookup43: xcm::v1::multiasset::MultiAsset344   **/345  XcmV1MultiAsset: {346    id: 'XcmV1MultiassetAssetId',347    fun: 'XcmV1MultiassetFungibility'348  },349  /**350   * Lookup44: xcm::v1::multiasset::AssetId351   **/352  XcmV1MultiassetAssetId: {353    _enum: {354      Concrete: 'XcmV1MultiLocation',355      Abstract: 'Bytes'356    }357  },358  /**359   * Lookup45: xcm::v1::multilocation::MultiLocation360   **/361  XcmV1MultiLocation: {362    parents: 'u8',363    interior: 'XcmV1MultilocationJunctions'364  },365  /**366   * Lookup46: xcm::v1::multilocation::Junctions367   **/368  XcmV1MultilocationJunctions: {369    _enum: {370      Here: 'Null',371      X1: 'XcmV1Junction',372      X2: '(XcmV1Junction,XcmV1Junction)',373      X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',374      X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',375      X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',376      X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',377      X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',378      X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'379    }380  },381  /**382   * Lookup47: xcm::v1::junction::Junction383   **/384  XcmV1Junction: {385    _enum: {386      Parachain: 'Compact<u32>',387      AccountId32: {388        network: 'XcmV0JunctionNetworkId',389        id: '[u8;32]',390      },391      AccountIndex64: {392        network: 'XcmV0JunctionNetworkId',393        index: 'Compact<u64>',394      },395      AccountKey20: {396        network: 'XcmV0JunctionNetworkId',397        key: '[u8;20]',398      },399      PalletInstance: 'u8',400      GeneralIndex: 'Compact<u128>',401      GeneralKey: 'Bytes',402      OnlyChild: 'Null',403      Plurality: {404        id: 'XcmV0JunctionBodyId',405        part: 'XcmV0JunctionBodyPart'406      }407    }408  },409  /**410   * Lookup49: xcm::v0::junction::NetworkId411   **/412  XcmV0JunctionNetworkId: {413    _enum: {414      Any: 'Null',415      Named: 'Bytes',416      Polkadot: 'Null',417      Kusama: 'Null'418    }419  },420  /**421   * Lookup53: xcm::v0::junction::BodyId422   **/423  XcmV0JunctionBodyId: {424    _enum: {425      Unit: 'Null',426      Named: 'Bytes',427      Index: 'Compact<u32>',428      Executive: 'Null',429      Technical: 'Null',430      Legislative: 'Null',431      Judicial: 'Null'432    }433  },434  /**435   * Lookup54: xcm::v0::junction::BodyPart436   **/437  XcmV0JunctionBodyPart: {438    _enum: {439      Voice: 'Null',440      Members: {441        count: 'Compact<u32>',442      },443      Fraction: {444        nom: 'Compact<u32>',445        denom: 'Compact<u32>',446      },447      AtLeastProportion: {448        nom: 'Compact<u32>',449        denom: 'Compact<u32>',450      },451      MoreThanProportion: {452        nom: 'Compact<u32>',453        denom: 'Compact<u32>'454      }455    }456  },457  /**458   * Lookup55: xcm::v1::multiasset::Fungibility459   **/460  XcmV1MultiassetFungibility: {461    _enum: {462      Fungible: 'Compact<u128>',463      NonFungible: 'XcmV1MultiassetAssetInstance'464    }465  },466  /**467   * Lookup56: xcm::v1::multiasset::AssetInstance468   **/469  XcmV1MultiassetAssetInstance: {470    _enum: {471      Undefined: 'Null',472      Index: 'Compact<u128>',473      Array4: '[u8;4]',474      Array8: '[u8;8]',475      Array16: '[u8;16]',476      Array32: '[u8;32]',477      Blob: 'Bytes'478    }479  },480  /**481   * Lookup59: orml_tokens::module::Event<T>482   **/483  OrmlTokensModuleEvent: {484    _enum: {485      Endowed: {486        currencyId: 'PalletForeignAssetsAssetIds',487        who: 'AccountId32',488        amount: 'u128',489      },490      DustLost: {491        currencyId: 'PalletForeignAssetsAssetIds',492        who: 'AccountId32',493        amount: 'u128',494      },495      Transfer: {496        currencyId: 'PalletForeignAssetsAssetIds',497        from: 'AccountId32',498        to: 'AccountId32',499        amount: 'u128',500      },501      Reserved: {502        currencyId: 'PalletForeignAssetsAssetIds',503        who: 'AccountId32',504        amount: 'u128',505      },506      Unreserved: {507        currencyId: 'PalletForeignAssetsAssetIds',508        who: 'AccountId32',509        amount: 'u128',510      },511      ReserveRepatriated: {512        currencyId: 'PalletForeignAssetsAssetIds',513        from: 'AccountId32',514        to: 'AccountId32',515        amount: 'u128',516        status: 'FrameSupportTokensMiscBalanceStatus',517      },518      BalanceSet: {519        currencyId: 'PalletForeignAssetsAssetIds',520        who: 'AccountId32',521        free: 'u128',522        reserved: 'u128',523      },524      TotalIssuanceSet: {525        currencyId: 'PalletForeignAssetsAssetIds',526        amount: 'u128',527      },528      Withdrawn: {529        currencyId: 'PalletForeignAssetsAssetIds',530        who: 'AccountId32',531        amount: 'u128',532      },533      Slashed: {534        currencyId: 'PalletForeignAssetsAssetIds',535        who: 'AccountId32',536        freeAmount: 'u128',537        reservedAmount: 'u128',538      },539      Deposited: {540        currencyId: 'PalletForeignAssetsAssetIds',541        who: 'AccountId32',542        amount: 'u128',543      },544      LockSet: {545        lockId: '[u8;8]',546        currencyId: 'PalletForeignAssetsAssetIds',547        who: 'AccountId32',548        amount: 'u128',549      },550      LockRemoved: {551        lockId: '[u8;8]',552        currencyId: 'PalletForeignAssetsAssetIds',553        who: 'AccountId32'554      }555    }556  },557  /**558   * Lookup60: pallet_foreign_assets::AssetIds559   **/560  PalletForeignAssetsAssetIds: {561    _enum: {562      ForeignAssetId: 'u32',563      NativeAssetId: 'PalletForeignAssetsNativeCurrency'564    }565  },566  /**567   * Lookup61: pallet_foreign_assets::NativeCurrency568   **/569  PalletForeignAssetsNativeCurrency: {570    _enum: ['Here', 'Parent']571  },572  /**573   * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>574   **/575  CumulusPalletXcmpQueueEvent: {576    _enum: {577      Success: {578        messageHash: 'Option<H256>',579        weight: 'Weight',580      },581      Fail: {582        messageHash: 'Option<H256>',583        error: 'XcmV2TraitsError',584        weight: 'Weight',585      },586      BadVersion: {587        messageHash: 'Option<H256>',588      },589      BadFormat: {590        messageHash: 'Option<H256>',591      },592      UpwardMessageSent: {593        messageHash: 'Option<H256>',594      },595      XcmpMessageSent: {596        messageHash: 'Option<H256>',597      },598      OverweightEnqueued: {599        sender: 'u32',600        sentAt: 'u32',601        index: 'u64',602        required: 'Weight',603      },604      OverweightServiced: {605        index: 'u64',606        used: 'Weight'607      }608    }609  },610  /**611   * Lookup64: xcm::v2::traits::Error612   **/613  XcmV2TraitsError: {614    _enum: {615      Overflow: 'Null',616      Unimplemented: 'Null',617      UntrustedReserveLocation: 'Null',618      UntrustedTeleportLocation: 'Null',619      MultiLocationFull: 'Null',620      MultiLocationNotInvertible: 'Null',621      BadOrigin: 'Null',622      InvalidLocation: 'Null',623      AssetNotFound: 'Null',624      FailedToTransactAsset: 'Null',625      NotWithdrawable: 'Null',626      LocationCannotHold: 'Null',627      ExceedsMaxMessageSize: 'Null',628      DestinationUnsupported: 'Null',629      Transport: 'Null',630      Unroutable: 'Null',631      UnknownClaim: 'Null',632      FailedToDecode: 'Null',633      MaxWeightInvalid: 'Null',634      NotHoldingFees: 'Null',635      TooExpensive: 'Null',636      Trap: 'u64',637      UnhandledXcmVersion: 'Null',638      WeightLimitReached: 'u64',639      Barrier: 'Null',640      WeightNotComputable: 'Null'641    }642  },643  /**644   * Lookup66: pallet_xcm::pallet::Event<T>645   **/646  PalletXcmEvent: {647    _enum: {648      Attempted: 'XcmV2TraitsOutcome',649      Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',650      UnexpectedResponse: '(XcmV1MultiLocation,u64)',651      ResponseReady: '(u64,XcmV2Response)',652      Notified: '(u64,u8,u8)',653      NotifyOverweight: '(u64,u8,u8,Weight,Weight)',654      NotifyDispatchError: '(u64,u8,u8)',655      NotifyDecodeFailed: '(u64,u8,u8)',656      InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',657      InvalidResponderVersion: '(XcmV1MultiLocation,u64)',658      ResponseTaken: 'u64',659      AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',660      VersionChangeNotified: '(XcmV1MultiLocation,u32)',661      SupportedVersionChanged: '(XcmV1MultiLocation,u32)',662      NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',663      NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'664    }665  },666  /**667   * Lookup67: xcm::v2::traits::Outcome668   **/669  XcmV2TraitsOutcome: {670    _enum: {671      Complete: 'u64',672      Incomplete: '(u64,XcmV2TraitsError)',673      Error: 'XcmV2TraitsError'674    }675  },676  /**677   * Lookup68: xcm::v2::Xcm<RuntimeCall>678   **/679  XcmV2Xcm: 'Vec<XcmV2Instruction>',680  /**681   * Lookup70: xcm::v2::Instruction<RuntimeCall>682   **/683  XcmV2Instruction: {684    _enum: {685      WithdrawAsset: 'XcmV1MultiassetMultiAssets',686      ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',687      ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',688      QueryResponse: {689        queryId: 'Compact<u64>',690        response: 'XcmV2Response',691        maxWeight: 'Compact<u64>',692      },693      TransferAsset: {694        assets: 'XcmV1MultiassetMultiAssets',695        beneficiary: 'XcmV1MultiLocation',696      },697      TransferReserveAsset: {698        assets: 'XcmV1MultiassetMultiAssets',699        dest: 'XcmV1MultiLocation',700        xcm: 'XcmV2Xcm',701      },702      Transact: {703        originType: 'XcmV0OriginKind',704        requireWeightAtMost: 'Compact<u64>',705        call: 'XcmDoubleEncoded',706      },707      HrmpNewChannelOpenRequest: {708        sender: 'Compact<u32>',709        maxMessageSize: 'Compact<u32>',710        maxCapacity: 'Compact<u32>',711      },712      HrmpChannelAccepted: {713        recipient: 'Compact<u32>',714      },715      HrmpChannelClosing: {716        initiator: 'Compact<u32>',717        sender: 'Compact<u32>',718        recipient: 'Compact<u32>',719      },720      ClearOrigin: 'Null',721      DescendOrigin: 'XcmV1MultilocationJunctions',722      ReportError: {723        queryId: 'Compact<u64>',724        dest: 'XcmV1MultiLocation',725        maxResponseWeight: 'Compact<u64>',726      },727      DepositAsset: {728        assets: 'XcmV1MultiassetMultiAssetFilter',729        maxAssets: 'Compact<u32>',730        beneficiary: 'XcmV1MultiLocation',731      },732      DepositReserveAsset: {733        assets: 'XcmV1MultiassetMultiAssetFilter',734        maxAssets: 'Compact<u32>',735        dest: 'XcmV1MultiLocation',736        xcm: 'XcmV2Xcm',737      },738      ExchangeAsset: {739        give: 'XcmV1MultiassetMultiAssetFilter',740        receive: 'XcmV1MultiassetMultiAssets',741      },742      InitiateReserveWithdraw: {743        assets: 'XcmV1MultiassetMultiAssetFilter',744        reserve: 'XcmV1MultiLocation',745        xcm: 'XcmV2Xcm',746      },747      InitiateTeleport: {748        assets: 'XcmV1MultiassetMultiAssetFilter',749        dest: 'XcmV1MultiLocation',750        xcm: 'XcmV2Xcm',751      },752      QueryHolding: {753        queryId: 'Compact<u64>',754        dest: 'XcmV1MultiLocation',755        assets: 'XcmV1MultiassetMultiAssetFilter',756        maxResponseWeight: 'Compact<u64>',757      },758      BuyExecution: {759        fees: 'XcmV1MultiAsset',760        weightLimit: 'XcmV2WeightLimit',761      },762      RefundSurplus: 'Null',763      SetErrorHandler: 'XcmV2Xcm',764      SetAppendix: 'XcmV2Xcm',765      ClearError: 'Null',766      ClaimAsset: {767        assets: 'XcmV1MultiassetMultiAssets',768        ticket: 'XcmV1MultiLocation',769      },770      Trap: 'Compact<u64>',771      SubscribeVersion: {772        queryId: 'Compact<u64>',773        maxResponseWeight: 'Compact<u64>',774      },775      UnsubscribeVersion: 'Null'776    }777  },778  /**779   * Lookup71: xcm::v2::Response780   **/781  XcmV2Response: {782    _enum: {783      Null: 'Null',784      Assets: 'XcmV1MultiassetMultiAssets',785      ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',786      Version: 'u32'787    }788  },789  /**790   * Lookup74: xcm::v0::OriginKind791   **/792  XcmV0OriginKind: {793    _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']794  },795  /**796   * Lookup75: xcm::double_encoded::DoubleEncoded<T>797   **/798  XcmDoubleEncoded: {799    encoded: 'Bytes'800  },801  /**802   * Lookup76: xcm::v1::multiasset::MultiAssetFilter803   **/804  XcmV1MultiassetMultiAssetFilter: {805    _enum: {806      Definite: 'XcmV1MultiassetMultiAssets',807      Wild: 'XcmV1MultiassetWildMultiAsset'808    }809  },810  /**811   * Lookup77: xcm::v1::multiasset::WildMultiAsset812   **/813  XcmV1MultiassetWildMultiAsset: {814    _enum: {815      All: 'Null',816      AllOf: {817        id: 'XcmV1MultiassetAssetId',818        fun: 'XcmV1MultiassetWildFungibility'819      }820    }821  },822  /**823   * Lookup78: xcm::v1::multiasset::WildFungibility824   **/825  XcmV1MultiassetWildFungibility: {826    _enum: ['Fungible', 'NonFungible']827  },828  /**829   * Lookup79: xcm::v2::WeightLimit830   **/831  XcmV2WeightLimit: {832    _enum: {833      Unlimited: 'Null',834      Limited: 'Compact<u64>'835    }836  },837  /**838   * Lookup81: xcm::VersionedMultiAssets839   **/840  XcmVersionedMultiAssets: {841    _enum: {842      V0: 'Vec<XcmV0MultiAsset>',843      V1: 'XcmV1MultiassetMultiAssets'844    }845  },846  /**847   * Lookup83: xcm::v0::multi_asset::MultiAsset848   **/849  XcmV0MultiAsset: {850    _enum: {851      None: 'Null',852      All: 'Null',853      AllFungible: 'Null',854      AllNonFungible: 'Null',855      AllAbstractFungible: {856        id: 'Bytes',857      },858      AllAbstractNonFungible: {859        class: 'Bytes',860      },861      AllConcreteFungible: {862        id: 'XcmV0MultiLocation',863      },864      AllConcreteNonFungible: {865        class: 'XcmV0MultiLocation',866      },867      AbstractFungible: {868        id: 'Bytes',869        amount: 'Compact<u128>',870      },871      AbstractNonFungible: {872        class: 'Bytes',873        instance: 'XcmV1MultiassetAssetInstance',874      },875      ConcreteFungible: {876        id: 'XcmV0MultiLocation',877        amount: 'Compact<u128>',878      },879      ConcreteNonFungible: {880        class: 'XcmV0MultiLocation',881        instance: 'XcmV1MultiassetAssetInstance'882      }883    }884  },885  /**886   * Lookup84: xcm::v0::multi_location::MultiLocation887   **/888  XcmV0MultiLocation: {889    _enum: {890      Null: 'Null',891      X1: 'XcmV0Junction',892      X2: '(XcmV0Junction,XcmV0Junction)',893      X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',894      X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',895      X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',896      X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',897      X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',898      X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'899    }900  },901  /**902   * Lookup85: xcm::v0::junction::Junction903   **/904  XcmV0Junction: {905    _enum: {906      Parent: 'Null',907      Parachain: 'Compact<u32>',908      AccountId32: {909        network: 'XcmV0JunctionNetworkId',910        id: '[u8;32]',911      },912      AccountIndex64: {913        network: 'XcmV0JunctionNetworkId',914        index: 'Compact<u64>',915      },916      AccountKey20: {917        network: 'XcmV0JunctionNetworkId',918        key: '[u8;20]',919      },920      PalletInstance: 'u8',921      GeneralIndex: 'Compact<u128>',922      GeneralKey: 'Bytes',923      OnlyChild: 'Null',924      Plurality: {925        id: 'XcmV0JunctionBodyId',926        part: 'XcmV0JunctionBodyPart'927      }928    }929  },930  /**931   * Lookup86: xcm::VersionedMultiLocation932   **/933  XcmVersionedMultiLocation: {934    _enum: {935      V0: 'XcmV0MultiLocation',936      V1: 'XcmV1MultiLocation'937    }938  },939  /**940   * Lookup87: cumulus_pallet_xcm::pallet::Event<T>941   **/942  CumulusPalletXcmEvent: {943    _enum: {944      InvalidFormat: '[u8;8]',945      UnsupportedVersion: '[u8;8]',946      ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'947    }948  },949  /**950   * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>951   **/952  CumulusPalletDmpQueueEvent: {953    _enum: {954      InvalidFormat: {955        messageId: '[u8;32]',956      },957      UnsupportedVersion: {958        messageId: '[u8;32]',959      },960      ExecutedDownward: {961        messageId: '[u8;32]',962        outcome: 'XcmV2TraitsOutcome',963      },964      WeightExhausted: {965        messageId: '[u8;32]',966        remainingWeight: 'Weight',967        requiredWeight: 'Weight',968      },969      OverweightEnqueued: {970        messageId: '[u8;32]',971        overweightIndex: 'u64',972        requiredWeight: 'Weight',973      },974      OverweightServiced: {975        overweightIndex: 'u64',976        weightUsed: 'Weight'977      }978    }979  },980  /**981   * Lookup89: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>982   **/983  PalletUniqueRawEvent: {984    _enum: {985      CollectionSponsorRemoved: 'u32',986      CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',987      CollectionOwnedChanged: '(u32,AccountId32)',988      CollectionSponsorSet: '(u32,AccountId32)',989      SponsorshipConfirmed: '(u32,AccountId32)',990      CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',991      AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',992      AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',993      CollectionLimitSet: 'u32',994      CollectionPermissionSet: 'u32'995    }996  },997  /**998   * Lookup90: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>999   **/1000  PalletEvmAccountBasicCrossAccountIdRepr: {1001    _enum: {1002      Substrate: 'AccountId32',1003      Ethereum: 'H160'1004    }1005  },1006  /**1007   * Lookup93: pallet_unique_scheduler::pallet::Event<T>1008   **/1009  PalletUniqueSchedulerEvent: {1010    _enum: {1011      Scheduled: {1012        when: 'u32',1013        index: 'u32',1014      },1015      Canceled: {1016        when: 'u32',1017        index: 'u32',1018      },1019      PriorityChanged: {1020        when: 'u32',1021        index: 'u32',1022        priority: 'u8',1023      },1024      Dispatched: {1025        task: '(u32,u32)',1026        id: 'Option<[u8;16]>',1027        result: 'Result<Null, SpRuntimeDispatchError>',1028      },1029      CallLookupFailed: {1030        task: '(u32,u32)',1031        id: 'Option<[u8;16]>',1032        error: 'FrameSupportScheduleLookupError'1033      }1034    }1035  },1036  /**1037   * Lookup96: frame_support::traits::schedule::LookupError1038   **/1039  FrameSupportScheduleLookupError: {1040    _enum: ['Unknown', 'BadFormat']1041  },1042  /**1043   * Lookup97: pallet_common::pallet::Event<T>1044   **/1045  PalletCommonEvent: {1046    _enum: {1047      CollectionCreated: '(u32,u8,AccountId32)',1048      CollectionDestroyed: 'u32',1049      ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1050      ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1051      Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1052      Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1053      CollectionPropertySet: '(u32,Bytes)',1054      CollectionPropertyDeleted: '(u32,Bytes)',1055      TokenPropertySet: '(u32,u32,Bytes)',1056      TokenPropertyDeleted: '(u32,u32,Bytes)',1057      PropertyPermissionSet: '(u32,Bytes)'1058    }1059  },1060  /**1061   * Lookup100: pallet_structure::pallet::Event<T>1062   **/1063  PalletStructureEvent: {1064    _enum: {1065      Executed: 'Result<Null, SpRuntimeDispatchError>'1066    }1067  },1068  /**1069   * Lookup101: pallet_rmrk_core::pallet::Event<T>1070   **/1071  PalletRmrkCoreEvent: {1072    _enum: {1073      CollectionCreated: {1074        issuer: 'AccountId32',1075        collectionId: 'u32',1076      },1077      CollectionDestroyed: {1078        issuer: 'AccountId32',1079        collectionId: 'u32',1080      },1081      IssuerChanged: {1082        oldIssuer: 'AccountId32',1083        newIssuer: 'AccountId32',1084        collectionId: 'u32',1085      },1086      CollectionLocked: {1087        issuer: 'AccountId32',1088        collectionId: 'u32',1089      },1090      NftMinted: {1091        owner: 'AccountId32',1092        collectionId: 'u32',1093        nftId: 'u32',1094      },1095      NFTBurned: {1096        owner: 'AccountId32',1097        nftId: 'u32',1098      },1099      NFTSent: {1100        sender: 'AccountId32',1101        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1102        collectionId: 'u32',1103        nftId: 'u32',1104        approvalRequired: 'bool',1105      },1106      NFTAccepted: {1107        sender: 'AccountId32',1108        recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1109        collectionId: 'u32',1110        nftId: 'u32',1111      },1112      NFTRejected: {1113        sender: 'AccountId32',1114        collectionId: 'u32',1115        nftId: 'u32',1116      },1117      PropertySet: {1118        collectionId: 'u32',1119        maybeNftId: 'Option<u32>',1120        key: 'Bytes',1121        value: 'Bytes',1122      },1123      ResourceAdded: {1124        nftId: 'u32',1125        resourceId: 'u32',1126      },1127      ResourceRemoval: {1128        nftId: 'u32',1129        resourceId: 'u32',1130      },1131      ResourceAccepted: {1132        nftId: 'u32',1133        resourceId: 'u32',1134      },1135      ResourceRemovalAccepted: {1136        nftId: 'u32',1137        resourceId: 'u32',1138      },1139      PrioritySet: {1140        collectionId: 'u32',1141        nftId: 'u32'1142      }1143    }1144  },1145  /**1146   * Lookup102: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1147   **/1148  RmrkTraitsNftAccountIdOrCollectionNftTuple: {1149    _enum: {1150      AccountId: 'AccountId32',1151      CollectionAndNftTuple: '(u32,u32)'1152    }1153  },1154  /**1155   * Lookup107: pallet_rmrk_equip::pallet::Event<T>1156   **/1157  PalletRmrkEquipEvent: {1158    _enum: {1159      BaseCreated: {1160        issuer: 'AccountId32',1161        baseId: 'u32',1162      },1163      EquippablesUpdated: {1164        baseId: 'u32',1165        slotId: 'u32'1166      }1167    }1168  },1169  /**1170   * Lookup108: pallet_app_promotion::pallet::Event<T>1171   **/1172  PalletAppPromotionEvent: {1173    _enum: {1174      StakingRecalculation: '(AccountId32,u128,u128)',1175      Stake: '(AccountId32,u128)',1176      Unstake: '(AccountId32,u128)',1177      SetAdmin: 'AccountId32'1178    }1179  },1180  /**1181   * Lookup109: pallet_foreign_assets::module::Event<T>1182   **/1183  PalletForeignAssetsModuleEvent: {1184    _enum: {1185      ForeignAssetRegistered: {1186        assetId: 'u32',1187        assetAddress: 'XcmV1MultiLocation',1188        metadata: 'PalletForeignAssetsModuleAssetMetadata',1189      },1190      ForeignAssetUpdated: {1191        assetId: 'u32',1192        assetAddress: 'XcmV1MultiLocation',1193        metadata: 'PalletForeignAssetsModuleAssetMetadata',1194      },1195      AssetRegistered: {1196        assetId: 'PalletForeignAssetsAssetIds',1197        metadata: 'PalletForeignAssetsModuleAssetMetadata',1198      },1199      AssetUpdated: {1200        assetId: 'PalletForeignAssetsAssetIds',1201        metadata: 'PalletForeignAssetsModuleAssetMetadata'1202      }1203    }1204  },1205  /**1206   * Lookup110: pallet_foreign_assets::module::AssetMetadata<Balance>1207   **/1208  PalletForeignAssetsModuleAssetMetadata: {1209    name: 'Bytes',1210    symbol: 'Bytes',1211    decimals: 'u8',1212    minimalBalance: 'u128'1213  },1214  /**1215   * Lookup111: pallet_evm::pallet::Event<T>1216   **/1217  PalletEvmEvent: {1218    _enum: {1219      Log: 'EthereumLog',1220      Created: 'H160',1221      CreatedFailed: 'H160',1222      Executed: 'H160',1223      ExecutedFailed: 'H160',1224      BalanceDeposit: '(AccountId32,H160,U256)',1225      BalanceWithdraw: '(AccountId32,H160,U256)'1226    }1227  },1228  /**1229   * Lookup112: ethereum::log::Log1230   **/1231  EthereumLog: {1232    address: 'H160',1233    topics: 'Vec<H256>',1234    data: 'Bytes'1235  },1236  /**1237   * Lookup116: pallet_ethereum::pallet::Event1238   **/1239  PalletEthereumEvent: {1240    _enum: {1241      Executed: '(H160,H160,H256,EvmCoreErrorExitReason)'1242    }1243  },1244  /**1245   * Lookup117: evm_core::error::ExitReason1246   **/1247  EvmCoreErrorExitReason: {1248    _enum: {1249      Succeed: 'EvmCoreErrorExitSucceed',1250      Error: 'EvmCoreErrorExitError',1251      Revert: 'EvmCoreErrorExitRevert',1252      Fatal: 'EvmCoreErrorExitFatal'1253    }1254  },1255  /**1256   * Lookup118: evm_core::error::ExitSucceed1257   **/1258  EvmCoreErrorExitSucceed: {1259    _enum: ['Stopped', 'Returned', 'Suicided']1260  },1261  /**1262   * Lookup119: evm_core::error::ExitError1263   **/1264  EvmCoreErrorExitError: {1265    _enum: {1266      StackUnderflow: 'Null',1267      StackOverflow: 'Null',1268      InvalidJump: 'Null',1269      InvalidRange: 'Null',1270      DesignatedInvalid: 'Null',1271      CallTooDeep: 'Null',1272      CreateCollision: 'Null',1273      CreateContractLimit: 'Null',1274      OutOfOffset: 'Null',1275      OutOfGas: 'Null',1276      OutOfFund: 'Null',1277      PCUnderflow: 'Null',1278      CreateEmpty: 'Null',1279      Other: 'Text',1280      InvalidCode: 'Null'1281    }1282  },1283  /**1284   * Lookup122: evm_core::error::ExitRevert1285   **/1286  EvmCoreErrorExitRevert: {1287    _enum: ['Reverted']1288  },1289  /**1290   * Lookup123: evm_core::error::ExitFatal1291   **/1292  EvmCoreErrorExitFatal: {1293    _enum: {1294      NotSupported: 'Null',1295      UnhandledInterrupt: 'Null',1296      CallErrorAsFatal: 'EvmCoreErrorExitError',1297      Other: 'Text'1298    }1299  },1300  /**1301   * Lookup124: pallet_evm_contract_helpers::pallet::Event<T>1302   **/1303  PalletEvmContractHelpersEvent: {1304    _enum: {1305      ContractSponsorSet: '(H160,AccountId32)',1306      ContractSponsorshipConfirmed: '(H160,AccountId32)',1307      ContractSponsorRemoved: 'H160'1308    }1309  },1310  /**1311   * Lookup125: pallet_maintenance::pallet::Event<T>1312   **/1313  PalletMaintenanceEvent: {1314    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1315  },1316  /**1317   * Lookup126: pallet_test_utils::pallet::Event<T>1318   **/1319  PalletTestUtilsEvent: {1320    _enum: ['ValueIsSet', 'ShouldRollback']1321  },1322  /**1323   * Lookup127: frame_system::Phase1324   **/1325  FrameSystemPhase: {1326    _enum: {1327      ApplyExtrinsic: 'u32',1328      Finalization: 'Null',1329      Initialization: 'Null'1330    }1331  },1332  /**1333   * Lookup129: frame_system::LastRuntimeUpgradeInfo1334   **/1335  FrameSystemLastRuntimeUpgradeInfo: {1336    specVersion: 'Compact<u32>',1337    specName: 'Text'1338  },1339  /**1340   * Lookup130: frame_system::pallet::Call<T>1341   **/1342  FrameSystemCall: {1343    _enum: {1344      fill_block: {1345        ratio: 'Perbill',1346      },1347      remark: {1348        remark: 'Bytes',1349      },1350      set_heap_pages: {1351        pages: 'u64',1352      },1353      set_code: {1354        code: 'Bytes',1355      },1356      set_code_without_checks: {1357        code: 'Bytes',1358      },1359      set_storage: {1360        items: 'Vec<(Bytes,Bytes)>',1361      },1362      kill_storage: {1363        _alias: {1364          keys_: 'keys',1365        },1366        keys_: 'Vec<Bytes>',1367      },1368      kill_prefix: {1369        prefix: 'Bytes',1370        subkeys: 'u32',1371      },1372      remark_with_event: {1373        remark: 'Bytes'1374      }1375    }1376  },1377  /**1378   * Lookup135: frame_system::limits::BlockWeights1379   **/1380  FrameSystemLimitsBlockWeights: {1381    baseBlock: 'Weight',1382    maxBlock: 'Weight',1383    perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1384  },1385  /**1386   * Lookup136: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1387   **/1388  FrameSupportDispatchPerDispatchClassWeightsPerClass: {1389    normal: 'FrameSystemLimitsWeightsPerClass',1390    operational: 'FrameSystemLimitsWeightsPerClass',1391    mandatory: 'FrameSystemLimitsWeightsPerClass'1392  },1393  /**1394   * Lookup137: frame_system::limits::WeightsPerClass1395   **/1396  FrameSystemLimitsWeightsPerClass: {1397    baseExtrinsic: 'Weight',1398    maxExtrinsic: 'Option<Weight>',1399    maxTotal: 'Option<Weight>',1400    reserved: 'Option<Weight>'1401  },1402  /**1403   * Lookup139: frame_system::limits::BlockLength1404   **/1405  FrameSystemLimitsBlockLength: {1406    max: 'FrameSupportDispatchPerDispatchClassU32'1407  },1408  /**1409   * Lookup140: frame_support::dispatch::PerDispatchClass<T>1410   **/1411  FrameSupportDispatchPerDispatchClassU32: {1412    normal: 'u32',1413    operational: 'u32',1414    mandatory: 'u32'1415  },1416  /**1417   * Lookup141: sp_weights::RuntimeDbWeight1418   **/1419  SpWeightsRuntimeDbWeight: {1420    read: 'u64',1421    write: 'u64'1422  },1423  /**1424   * Lookup142: sp_version::RuntimeVersion1425   **/1426  SpVersionRuntimeVersion: {1427    specName: 'Text',1428    implName: 'Text',1429    authoringVersion: 'u32',1430    specVersion: 'u32',1431    implVersion: 'u32',1432    apis: 'Vec<([u8;8],u32)>',1433    transactionVersion: 'u32',1434    stateVersion: 'u8'1435  },1436  /**1437   * Lookup147: frame_system::pallet::Error<T>1438   **/1439  FrameSystemError: {1440    _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1441  },1442  /**1443   * Lookup148: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1444   **/1445  PolkadotPrimitivesV2PersistedValidationData: {1446    parentHead: 'Bytes',1447    relayParentNumber: 'u32',1448    relayParentStorageRoot: 'H256',1449    maxPovSize: 'u32'1450  },1451  /**1452   * Lookup151: polkadot_primitives::v2::UpgradeRestriction1453   **/1454  PolkadotPrimitivesV2UpgradeRestriction: {1455    _enum: ['Present']1456  },1457  /**1458   * Lookup152: sp_trie::storage_proof::StorageProof1459   **/1460  SpTrieStorageProof: {1461    trieNodes: 'BTreeSet<Bytes>'1462  },1463  /**1464   * Lookup154: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1465   **/1466  CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1467    dmqMqcHead: 'H256',1468    relayDispatchQueueSize: '(u32,u32)',1469    ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1470    egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1471  },1472  /**1473   * Lookup157: polkadot_primitives::v2::AbridgedHrmpChannel1474   **/1475  PolkadotPrimitivesV2AbridgedHrmpChannel: {1476    maxCapacity: 'u32',1477    maxTotalSize: 'u32',1478    maxMessageSize: 'u32',1479    msgCount: 'u32',1480    totalSize: 'u32',1481    mqcHead: 'Option<H256>'1482  },1483  /**1484   * Lookup158: polkadot_primitives::v2::AbridgedHostConfiguration1485   **/1486  PolkadotPrimitivesV2AbridgedHostConfiguration: {1487    maxCodeSize: 'u32',1488    maxHeadDataSize: 'u32',1489    maxUpwardQueueCount: 'u32',1490    maxUpwardQueueSize: 'u32',1491    maxUpwardMessageSize: 'u32',1492    maxUpwardMessageNumPerCandidate: 'u32',1493    hrmpMaxMessageNumPerCandidate: 'u32',1494    validationUpgradeCooldown: 'u32',1495    validationUpgradeDelay: 'u32'1496  },1497  /**1498   * Lookup164: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1499   **/1500  PolkadotCorePrimitivesOutboundHrmpMessage: {1501    recipient: 'u32',1502    data: 'Bytes'1503  },1504  /**1505   * Lookup165: cumulus_pallet_parachain_system::pallet::Call<T>1506   **/1507  CumulusPalletParachainSystemCall: {1508    _enum: {1509      set_validation_data: {1510        data: 'CumulusPrimitivesParachainInherentParachainInherentData',1511      },1512      sudo_send_upward_message: {1513        message: 'Bytes',1514      },1515      authorize_upgrade: {1516        codeHash: 'H256',1517      },1518      enact_authorized_upgrade: {1519        code: 'Bytes'1520      }1521    }1522  },1523  /**1524   * Lookup166: cumulus_primitives_parachain_inherent::ParachainInherentData1525   **/1526  CumulusPrimitivesParachainInherentParachainInherentData: {1527    validationData: 'PolkadotPrimitivesV2PersistedValidationData',1528    relayChainState: 'SpTrieStorageProof',1529    downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1530    horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1531  },1532  /**1533   * Lookup168: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1534   **/1535  PolkadotCorePrimitivesInboundDownwardMessage: {1536    sentAt: 'u32',1537    msg: 'Bytes'1538  },1539  /**1540   * Lookup171: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1541   **/1542  PolkadotCorePrimitivesInboundHrmpMessage: {1543    sentAt: 'u32',1544    data: 'Bytes'1545  },1546  /**1547   * Lookup174: cumulus_pallet_parachain_system::pallet::Error<T>1548   **/1549  CumulusPalletParachainSystemError: {1550    _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1551  },1552  /**1553   * Lookup176: pallet_balances::BalanceLock<Balance>1554   **/1555  PalletBalancesBalanceLock: {1556    id: '[u8;8]',1557    amount: 'u128',1558    reasons: 'PalletBalancesReasons'1559  },1560  /**1561   * Lookup177: pallet_balances::Reasons1562   **/1563  PalletBalancesReasons: {1564    _enum: ['Fee', 'Misc', 'All']1565  },1566  /**1567   * Lookup180: pallet_balances::ReserveData<ReserveIdentifier, Balance>1568   **/1569  PalletBalancesReserveData: {1570    id: '[u8;16]',1571    amount: 'u128'1572  },1573  /**1574   * Lookup182: pallet_balances::Releases1575   **/1576  PalletBalancesReleases: {1577    _enum: ['V1_0_0', 'V2_0_0']1578  },1579  /**1580   * Lookup183: pallet_balances::pallet::Call<T, I>1581   **/1582  PalletBalancesCall: {1583    _enum: {1584      transfer: {1585        dest: 'MultiAddress',1586        value: 'Compact<u128>',1587      },1588      set_balance: {1589        who: 'MultiAddress',1590        newFree: 'Compact<u128>',1591        newReserved: 'Compact<u128>',1592      },1593      force_transfer: {1594        source: 'MultiAddress',1595        dest: 'MultiAddress',1596        value: 'Compact<u128>',1597      },1598      transfer_keep_alive: {1599        dest: 'MultiAddress',1600        value: 'Compact<u128>',1601      },1602      transfer_all: {1603        dest: 'MultiAddress',1604        keepAlive: 'bool',1605      },1606      force_unreserve: {1607        who: 'MultiAddress',1608        amount: 'u128'1609      }1610    }1611  },1612  /**1613   * Lookup186: pallet_balances::pallet::Error<T, I>1614   **/1615  PalletBalancesError: {1616    _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1617  },1618  /**1619   * Lookup188: pallet_timestamp::pallet::Call<T>1620   **/1621  PalletTimestampCall: {1622    _enum: {1623      set: {1624        now: 'Compact<u64>'1625      }1626    }1627  },1628  /**1629   * Lookup190: pallet_transaction_payment::Releases1630   **/1631  PalletTransactionPaymentReleases: {1632    _enum: ['V1Ancient', 'V2']1633  },1634  /**1635   * Lookup191: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1636   **/1637  PalletTreasuryProposal: {1638    proposer: 'AccountId32',1639    value: 'u128',1640    beneficiary: 'AccountId32',1641    bond: 'u128'1642  },1643  /**1644   * Lookup194: pallet_treasury::pallet::Call<T, I>1645   **/1646  PalletTreasuryCall: {1647    _enum: {1648      propose_spend: {1649        value: 'Compact<u128>',1650        beneficiary: 'MultiAddress',1651      },1652      reject_proposal: {1653        proposalId: 'Compact<u32>',1654      },1655      approve_proposal: {1656        proposalId: 'Compact<u32>',1657      },1658      spend: {1659        amount: 'Compact<u128>',1660        beneficiary: 'MultiAddress',1661      },1662      remove_approval: {1663        proposalId: 'Compact<u32>'1664      }1665    }1666  },1667  /**1668   * Lookup197: frame_support::PalletId1669   **/1670  FrameSupportPalletId: '[u8;8]',1671  /**1672   * Lookup198: pallet_treasury::pallet::Error<T, I>1673   **/1674  PalletTreasuryError: {1675    _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1676  },1677  /**1678   * Lookup199: pallet_sudo::pallet::Call<T>1679   **/1680  PalletSudoCall: {1681    _enum: {1682      sudo: {1683        call: 'Call',1684      },1685      sudo_unchecked_weight: {1686        call: 'Call',1687        weight: 'Weight',1688      },1689      set_key: {1690        _alias: {1691          new_: 'new',1692        },1693        new_: 'MultiAddress',1694      },1695      sudo_as: {1696        who: 'MultiAddress',1697        call: 'Call'1698      }1699    }1700  },1701  /**1702   * Lookup201: orml_vesting::module::Call<T>1703   **/1704  OrmlVestingModuleCall: {1705    _enum: {1706      claim: 'Null',1707      vested_transfer: {1708        dest: 'MultiAddress',1709        schedule: 'OrmlVestingVestingSchedule',1710      },1711      update_vesting_schedules: {1712        who: 'MultiAddress',1713        vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1714      },1715      claim_for: {1716        dest: 'MultiAddress'1717      }1718    }1719  },1720  /**1721   * Lookup203: orml_xtokens::module::Call<T>1722   **/1723  OrmlXtokensModuleCall: {1724    _enum: {1725      transfer: {1726        currencyId: 'PalletForeignAssetsAssetIds',1727        amount: 'u128',1728        dest: 'XcmVersionedMultiLocation',1729        destWeight: 'u64',1730      },1731      transfer_multiasset: {1732        asset: 'XcmVersionedMultiAsset',1733        dest: 'XcmVersionedMultiLocation',1734        destWeight: 'u64',1735      },1736      transfer_with_fee: {1737        currencyId: 'PalletForeignAssetsAssetIds',1738        amount: 'u128',1739        fee: 'u128',1740        dest: 'XcmVersionedMultiLocation',1741        destWeight: 'u64',1742      },1743      transfer_multiasset_with_fee: {1744        asset: 'XcmVersionedMultiAsset',1745        fee: 'XcmVersionedMultiAsset',1746        dest: 'XcmVersionedMultiLocation',1747        destWeight: 'u64',1748      },1749      transfer_multicurrencies: {1750        currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1751        feeItem: 'u32',1752        dest: 'XcmVersionedMultiLocation',1753        destWeight: 'u64',1754      },1755      transfer_multiassets: {1756        assets: 'XcmVersionedMultiAssets',1757        feeItem: 'u32',1758        dest: 'XcmVersionedMultiLocation',1759        destWeight: 'u64'1760      }1761    }1762  },1763  /**1764   * Lookup204: xcm::VersionedMultiAsset1765   **/1766  XcmVersionedMultiAsset: {1767    _enum: {1768      V0: 'XcmV0MultiAsset',1769      V1: 'XcmV1MultiAsset'1770    }1771  },1772  /**1773   * Lookup207: orml_tokens::module::Call<T>1774   **/1775  OrmlTokensModuleCall: {1776    _enum: {1777      transfer: {1778        dest: 'MultiAddress',1779        currencyId: 'PalletForeignAssetsAssetIds',1780        amount: 'Compact<u128>',1781      },1782      transfer_all: {1783        dest: 'MultiAddress',1784        currencyId: 'PalletForeignAssetsAssetIds',1785        keepAlive: 'bool',1786      },1787      transfer_keep_alive: {1788        dest: 'MultiAddress',1789        currencyId: 'PalletForeignAssetsAssetIds',1790        amount: 'Compact<u128>',1791      },1792      force_transfer: {1793        source: 'MultiAddress',1794        dest: 'MultiAddress',1795        currencyId: 'PalletForeignAssetsAssetIds',1796        amount: 'Compact<u128>',1797      },1798      set_balance: {1799        who: 'MultiAddress',1800        currencyId: 'PalletForeignAssetsAssetIds',1801        newFree: 'Compact<u128>',1802        newReserved: 'Compact<u128>'1803      }1804    }1805  },1806  /**1807   * Lookup208: cumulus_pallet_xcmp_queue::pallet::Call<T>1808   **/1809  CumulusPalletXcmpQueueCall: {1810    _enum: {1811      service_overweight: {1812        index: 'u64',1813        weightLimit: 'Weight',1814      },1815      suspend_xcm_execution: 'Null',1816      resume_xcm_execution: 'Null',1817      update_suspend_threshold: {1818        _alias: {1819          new_: 'new',1820        },1821        new_: 'u32',1822      },1823      update_drop_threshold: {1824        _alias: {1825          new_: 'new',1826        },1827        new_: 'u32',1828      },1829      update_resume_threshold: {1830        _alias: {1831          new_: 'new',1832        },1833        new_: 'u32',1834      },1835      update_threshold_weight: {1836        _alias: {1837          new_: 'new',1838        },1839        new_: 'Weight',1840      },1841      update_weight_restrict_decay: {1842        _alias: {1843          new_: 'new',1844        },1845        new_: 'Weight',1846      },1847      update_xcmp_max_individual_weight: {1848        _alias: {1849          new_: 'new',1850        },1851        new_: 'Weight'1852      }1853    }1854  },1855  /**1856   * Lookup209: pallet_xcm::pallet::Call<T>1857   **/1858  PalletXcmCall: {1859    _enum: {1860      send: {1861        dest: 'XcmVersionedMultiLocation',1862        message: 'XcmVersionedXcm',1863      },1864      teleport_assets: {1865        dest: 'XcmVersionedMultiLocation',1866        beneficiary: 'XcmVersionedMultiLocation',1867        assets: 'XcmVersionedMultiAssets',1868        feeAssetItem: 'u32',1869      },1870      reserve_transfer_assets: {1871        dest: 'XcmVersionedMultiLocation',1872        beneficiary: 'XcmVersionedMultiLocation',1873        assets: 'XcmVersionedMultiAssets',1874        feeAssetItem: 'u32',1875      },1876      execute: {1877        message: 'XcmVersionedXcm',1878        maxWeight: 'Weight',1879      },1880      force_xcm_version: {1881        location: 'XcmV1MultiLocation',1882        xcmVersion: 'u32',1883      },1884      force_default_xcm_version: {1885        maybeXcmVersion: 'Option<u32>',1886      },1887      force_subscribe_version_notify: {1888        location: 'XcmVersionedMultiLocation',1889      },1890      force_unsubscribe_version_notify: {1891        location: 'XcmVersionedMultiLocation',1892      },1893      limited_reserve_transfer_assets: {1894        dest: 'XcmVersionedMultiLocation',1895        beneficiary: 'XcmVersionedMultiLocation',1896        assets: 'XcmVersionedMultiAssets',1897        feeAssetItem: 'u32',1898        weightLimit: 'XcmV2WeightLimit',1899      },1900      limited_teleport_assets: {1901        dest: 'XcmVersionedMultiLocation',1902        beneficiary: 'XcmVersionedMultiLocation',1903        assets: 'XcmVersionedMultiAssets',1904        feeAssetItem: 'u32',1905        weightLimit: 'XcmV2WeightLimit'1906      }1907    }1908  },1909  /**1910   * Lookup210: xcm::VersionedXcm<RuntimeCall>1911   **/1912  XcmVersionedXcm: {1913    _enum: {1914      V0: 'XcmV0Xcm',1915      V1: 'XcmV1Xcm',1916      V2: 'XcmV2Xcm'1917    }1918  },1919  /**1920   * Lookup211: xcm::v0::Xcm<RuntimeCall>1921   **/1922  XcmV0Xcm: {1923    _enum: {1924      WithdrawAsset: {1925        assets: 'Vec<XcmV0MultiAsset>',1926        effects: 'Vec<XcmV0Order>',1927      },1928      ReserveAssetDeposit: {1929        assets: 'Vec<XcmV0MultiAsset>',1930        effects: 'Vec<XcmV0Order>',1931      },1932      TeleportAsset: {1933        assets: 'Vec<XcmV0MultiAsset>',1934        effects: 'Vec<XcmV0Order>',1935      },1936      QueryResponse: {1937        queryId: 'Compact<u64>',1938        response: 'XcmV0Response',1939      },1940      TransferAsset: {1941        assets: 'Vec<XcmV0MultiAsset>',1942        dest: 'XcmV0MultiLocation',1943      },1944      TransferReserveAsset: {1945        assets: 'Vec<XcmV0MultiAsset>',1946        dest: 'XcmV0MultiLocation',1947        effects: 'Vec<XcmV0Order>',1948      },1949      Transact: {1950        originType: 'XcmV0OriginKind',1951        requireWeightAtMost: 'u64',1952        call: 'XcmDoubleEncoded',1953      },1954      HrmpNewChannelOpenRequest: {1955        sender: 'Compact<u32>',1956        maxMessageSize: 'Compact<u32>',1957        maxCapacity: 'Compact<u32>',1958      },1959      HrmpChannelAccepted: {1960        recipient: 'Compact<u32>',1961      },1962      HrmpChannelClosing: {1963        initiator: 'Compact<u32>',1964        sender: 'Compact<u32>',1965        recipient: 'Compact<u32>',1966      },1967      RelayedFrom: {1968        who: 'XcmV0MultiLocation',1969        message: 'XcmV0Xcm'1970      }1971    }1972  },1973  /**1974   * Lookup213: xcm::v0::order::Order<RuntimeCall>1975   **/1976  XcmV0Order: {1977    _enum: {1978      Null: 'Null',1979      DepositAsset: {1980        assets: 'Vec<XcmV0MultiAsset>',1981        dest: 'XcmV0MultiLocation',1982      },1983      DepositReserveAsset: {1984        assets: 'Vec<XcmV0MultiAsset>',1985        dest: 'XcmV0MultiLocation',1986        effects: 'Vec<XcmV0Order>',1987      },1988      ExchangeAsset: {1989        give: 'Vec<XcmV0MultiAsset>',1990        receive: 'Vec<XcmV0MultiAsset>',1991      },1992      InitiateReserveWithdraw: {1993        assets: 'Vec<XcmV0MultiAsset>',1994        reserve: 'XcmV0MultiLocation',1995        effects: 'Vec<XcmV0Order>',1996      },1997      InitiateTeleport: {1998        assets: 'Vec<XcmV0MultiAsset>',1999        dest: 'XcmV0MultiLocation',2000        effects: 'Vec<XcmV0Order>',2001      },2002      QueryHolding: {2003        queryId: 'Compact<u64>',2004        dest: 'XcmV0MultiLocation',2005        assets: 'Vec<XcmV0MultiAsset>',2006      },2007      BuyExecution: {2008        fees: 'XcmV0MultiAsset',2009        weight: 'u64',2010        debt: 'u64',2011        haltOnError: 'bool',2012        xcm: 'Vec<XcmV0Xcm>'2013      }2014    }2015  },2016  /**2017   * Lookup215: xcm::v0::Response2018   **/2019  XcmV0Response: {2020    _enum: {2021      Assets: 'Vec<XcmV0MultiAsset>'2022    }2023  },2024  /**2025   * Lookup216: xcm::v1::Xcm<RuntimeCall>2026   **/2027  XcmV1Xcm: {2028    _enum: {2029      WithdrawAsset: {2030        assets: 'XcmV1MultiassetMultiAssets',2031        effects: 'Vec<XcmV1Order>',2032      },2033      ReserveAssetDeposited: {2034        assets: 'XcmV1MultiassetMultiAssets',2035        effects: 'Vec<XcmV1Order>',2036      },2037      ReceiveTeleportedAsset: {2038        assets: 'XcmV1MultiassetMultiAssets',2039        effects: 'Vec<XcmV1Order>',2040      },2041      QueryResponse: {2042        queryId: 'Compact<u64>',2043        response: 'XcmV1Response',2044      },2045      TransferAsset: {2046        assets: 'XcmV1MultiassetMultiAssets',2047        beneficiary: 'XcmV1MultiLocation',2048      },2049      TransferReserveAsset: {2050        assets: 'XcmV1MultiassetMultiAssets',2051        dest: 'XcmV1MultiLocation',2052        effects: 'Vec<XcmV1Order>',2053      },2054      Transact: {2055        originType: 'XcmV0OriginKind',2056        requireWeightAtMost: 'u64',2057        call: 'XcmDoubleEncoded',2058      },2059      HrmpNewChannelOpenRequest: {2060        sender: 'Compact<u32>',2061        maxMessageSize: 'Compact<u32>',2062        maxCapacity: 'Compact<u32>',2063      },2064      HrmpChannelAccepted: {2065        recipient: 'Compact<u32>',2066      },2067      HrmpChannelClosing: {2068        initiator: 'Compact<u32>',2069        sender: 'Compact<u32>',2070        recipient: 'Compact<u32>',2071      },2072      RelayedFrom: {2073        who: 'XcmV1MultilocationJunctions',2074        message: 'XcmV1Xcm',2075      },2076      SubscribeVersion: {2077        queryId: 'Compact<u64>',2078        maxResponseWeight: 'Compact<u64>',2079      },2080      UnsubscribeVersion: 'Null'2081    }2082  },2083  /**2084   * Lookup218: xcm::v1::order::Order<RuntimeCall>2085   **/2086  XcmV1Order: {2087    _enum: {2088      Noop: 'Null',2089      DepositAsset: {2090        assets: 'XcmV1MultiassetMultiAssetFilter',2091        maxAssets: 'u32',2092        beneficiary: 'XcmV1MultiLocation',2093      },2094      DepositReserveAsset: {2095        assets: 'XcmV1MultiassetMultiAssetFilter',2096        maxAssets: 'u32',2097        dest: 'XcmV1MultiLocation',2098        effects: 'Vec<XcmV1Order>',2099      },2100      ExchangeAsset: {2101        give: 'XcmV1MultiassetMultiAssetFilter',2102        receive: 'XcmV1MultiassetMultiAssets',2103      },2104      InitiateReserveWithdraw: {2105        assets: 'XcmV1MultiassetMultiAssetFilter',2106        reserve: 'XcmV1MultiLocation',2107        effects: 'Vec<XcmV1Order>',2108      },2109      InitiateTeleport: {2110        assets: 'XcmV1MultiassetMultiAssetFilter',2111        dest: 'XcmV1MultiLocation',2112        effects: 'Vec<XcmV1Order>',2113      },2114      QueryHolding: {2115        queryId: 'Compact<u64>',2116        dest: 'XcmV1MultiLocation',2117        assets: 'XcmV1MultiassetMultiAssetFilter',2118      },2119      BuyExecution: {2120        fees: 'XcmV1MultiAsset',2121        weight: 'u64',2122        debt: 'u64',2123        haltOnError: 'bool',2124        instructions: 'Vec<XcmV1Xcm>'2125      }2126    }2127  },2128  /**2129   * Lookup220: xcm::v1::Response2130   **/2131  XcmV1Response: {2132    _enum: {2133      Assets: 'XcmV1MultiassetMultiAssets',2134      Version: 'u32'2135    }2136  },2137  /**2138   * Lookup234: cumulus_pallet_xcm::pallet::Call<T>2139   **/2140  CumulusPalletXcmCall: 'Null',2141  /**2142   * Lookup235: cumulus_pallet_dmp_queue::pallet::Call<T>2143   **/2144  CumulusPalletDmpQueueCall: {2145    _enum: {2146      service_overweight: {2147        index: 'u64',2148        weightLimit: 'Weight'2149      }2150    }2151  },2152  /**2153   * Lookup236: pallet_inflation::pallet::Call<T>2154   **/2155  PalletInflationCall: {2156    _enum: {2157      start_inflation: {2158        inflationStartRelayBlock: 'u32'2159      }2160    }2161  },2162  /**2163   * Lookup237: pallet_unique::Call<T>2164   **/2165  PalletUniqueCall: {2166    _enum: {2167      create_collection: {2168        collectionName: 'Vec<u16>',2169        collectionDescription: 'Vec<u16>',2170        tokenPrefix: 'Bytes',2171        mode: 'UpDataStructsCollectionMode',2172      },2173      create_collection_ex: {2174        data: 'UpDataStructsCreateCollectionData',2175      },2176      destroy_collection: {2177        collectionId: 'u32',2178      },2179      add_to_allow_list: {2180        collectionId: 'u32',2181        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2182      },2183      remove_from_allow_list: {2184        collectionId: 'u32',2185        address: 'PalletEvmAccountBasicCrossAccountIdRepr',2186      },2187      change_collection_owner: {2188        collectionId: 'u32',2189        newOwner: 'AccountId32',2190      },2191      add_collection_admin: {2192        collectionId: 'u32',2193        newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2194      },2195      remove_collection_admin: {2196        collectionId: 'u32',2197        accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2198      },2199      set_collection_sponsor: {2200        collectionId: 'u32',2201        newSponsor: 'AccountId32',2202      },2203      confirm_sponsorship: {2204        collectionId: 'u32',2205      },2206      remove_collection_sponsor: {2207        collectionId: 'u32',2208      },2209      create_item: {2210        collectionId: 'u32',2211        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2212        data: 'UpDataStructsCreateItemData',2213      },2214      create_multiple_items: {2215        collectionId: 'u32',2216        owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2217        itemsData: 'Vec<UpDataStructsCreateItemData>',2218      },2219      set_collection_properties: {2220        collectionId: 'u32',2221        properties: 'Vec<UpDataStructsProperty>',2222      },2223      delete_collection_properties: {2224        collectionId: 'u32',2225        propertyKeys: 'Vec<Bytes>',2226      },2227      set_token_properties: {2228        collectionId: 'u32',2229        tokenId: 'u32',2230        properties: 'Vec<UpDataStructsProperty>',2231      },2232      delete_token_properties: {2233        collectionId: 'u32',2234        tokenId: 'u32',2235        propertyKeys: 'Vec<Bytes>',2236      },2237      set_token_property_permissions: {2238        collectionId: 'u32',2239        propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2240      },2241      create_multiple_items_ex: {2242        collectionId: 'u32',2243        data: 'UpDataStructsCreateItemExData',2244      },2245      set_transfers_enabled_flag: {2246        collectionId: 'u32',2247        value: 'bool',2248      },2249      burn_item: {2250        collectionId: 'u32',2251        itemId: 'u32',2252        value: 'u128',2253      },2254      burn_from: {2255        collectionId: 'u32',2256        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2257        itemId: 'u32',2258        value: 'u128',2259      },2260      transfer: {2261        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2262        collectionId: 'u32',2263        itemId: 'u32',2264        value: 'u128',2265      },2266      approve: {2267        spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2268        collectionId: 'u32',2269        itemId: 'u32',2270        amount: 'u128',2271      },2272      transfer_from: {2273        from: 'PalletEvmAccountBasicCrossAccountIdRepr',2274        recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2275        collectionId: 'u32',2276        itemId: 'u32',2277        value: 'u128',2278      },2279      set_collection_limits: {2280        collectionId: 'u32',2281        newLimit: 'UpDataStructsCollectionLimits',2282      },2283      set_collection_permissions: {2284        collectionId: 'u32',2285        newPermission: 'UpDataStructsCollectionPermissions',2286      },2287      repartition: {2288        collectionId: 'u32',2289        tokenId: 'u32',2290        amount: 'u128'2291      }2292    }2293  },2294  /**2295   * Lookup242: up_data_structs::CollectionMode2296   **/2297  UpDataStructsCollectionMode: {2298    _enum: {2299      NFT: 'Null',2300      Fungible: 'u8',2301      ReFungible: 'Null'2302    }2303  },2304  /**2305   * Lookup243: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2306   **/2307  UpDataStructsCreateCollectionData: {2308    mode: 'UpDataStructsCollectionMode',2309    access: 'Option<UpDataStructsAccessMode>',2310    name: 'Vec<u16>',2311    description: 'Vec<u16>',2312    tokenPrefix: 'Bytes',2313    pendingSponsor: 'Option<AccountId32>',2314    limits: 'Option<UpDataStructsCollectionLimits>',2315    permissions: 'Option<UpDataStructsCollectionPermissions>',2316    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2317    properties: 'Vec<UpDataStructsProperty>'2318  },2319  /**2320   * Lookup245: up_data_structs::AccessMode2321   **/2322  UpDataStructsAccessMode: {2323    _enum: ['Normal', 'AllowList']2324  },2325  /**2326   * Lookup247: up_data_structs::CollectionLimits2327   **/2328  UpDataStructsCollectionLimits: {2329    accountTokenOwnershipLimit: 'Option<u32>',2330    sponsoredDataSize: 'Option<u32>',2331    sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2332    tokenLimit: 'Option<u32>',2333    sponsorTransferTimeout: 'Option<u32>',2334    sponsorApproveTimeout: 'Option<u32>',2335    ownerCanTransfer: 'Option<bool>',2336    ownerCanDestroy: 'Option<bool>',2337    transfersEnabled: 'Option<bool>'2338  },2339  /**2340   * Lookup249: up_data_structs::SponsoringRateLimit2341   **/2342  UpDataStructsSponsoringRateLimit: {2343    _enum: {2344      SponsoringDisabled: 'Null',2345      Blocks: 'u32'2346    }2347  },2348  /**2349   * Lookup252: up_data_structs::CollectionPermissions2350   **/2351  UpDataStructsCollectionPermissions: {2352    access: 'Option<UpDataStructsAccessMode>',2353    mintMode: 'Option<bool>',2354    nesting: 'Option<UpDataStructsNestingPermissions>'2355  },2356  /**2357   * Lookup254: up_data_structs::NestingPermissions2358   **/2359  UpDataStructsNestingPermissions: {2360    tokenOwner: 'bool',2361    collectionAdmin: 'bool',2362    restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2363  },2364  /**2365   * Lookup256: up_data_structs::OwnerRestrictedSet2366   **/2367  UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2368  /**2369   * Lookup261: up_data_structs::PropertyKeyPermission2370   **/2371  UpDataStructsPropertyKeyPermission: {2372    key: 'Bytes',2373    permission: 'UpDataStructsPropertyPermission'2374  },2375  /**2376   * Lookup262: up_data_structs::PropertyPermission2377   **/2378  UpDataStructsPropertyPermission: {2379    mutable: 'bool',2380    collectionAdmin: 'bool',2381    tokenOwner: 'bool'2382  },2383  /**2384   * Lookup265: up_data_structs::Property2385   **/2386  UpDataStructsProperty: {2387    key: 'Bytes',2388    value: 'Bytes'2389  },2390  /**2391   * Lookup268: up_data_structs::CreateItemData2392   **/2393  UpDataStructsCreateItemData: {2394    _enum: {2395      NFT: 'UpDataStructsCreateNftData',2396      Fungible: 'UpDataStructsCreateFungibleData',2397      ReFungible: 'UpDataStructsCreateReFungibleData'2398    }2399  },2400  /**2401   * Lookup269: up_data_structs::CreateNftData2402   **/2403  UpDataStructsCreateNftData: {2404    properties: 'Vec<UpDataStructsProperty>'2405  },2406  /**2407   * Lookup270: up_data_structs::CreateFungibleData2408   **/2409  UpDataStructsCreateFungibleData: {2410    value: 'u128'2411  },2412  /**2413   * Lookup271: up_data_structs::CreateReFungibleData2414   **/2415  UpDataStructsCreateReFungibleData: {2416    pieces: 'u128',2417    properties: 'Vec<UpDataStructsProperty>'2418  },2419  /**2420   * Lookup274: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2421   **/2422  UpDataStructsCreateItemExData: {2423    _enum: {2424      NFT: 'Vec<UpDataStructsCreateNftExData>',2425      Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2426      RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2427      RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2428    }2429  },2430  /**2431   * Lookup276: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2432   **/2433  UpDataStructsCreateNftExData: {2434    properties: 'Vec<UpDataStructsProperty>',2435    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2436  },2437  /**2438   * Lookup283: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2439   **/2440  UpDataStructsCreateRefungibleExSingleOwner: {2441    user: 'PalletEvmAccountBasicCrossAccountIdRepr',2442    pieces: 'u128',2443    properties: 'Vec<UpDataStructsProperty>'2444  },2445  /**2446   * Lookup285: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2447   **/2448  UpDataStructsCreateRefungibleExMultipleOwners: {2449    users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2450    properties: 'Vec<UpDataStructsProperty>'2451  },2452  /**2453   * Lookup286: pallet_unique_scheduler::pallet::Call<T>2454   **/2455  PalletUniqueSchedulerCall: {2456    _enum: {2457      schedule_named: {2458        id: '[u8;16]',2459        when: 'u32',2460        maybePeriodic: 'Option<(u32,u32)>',2461        priority: 'Option<u8>',2462        call: 'FrameSupportScheduleMaybeHashed',2463      },2464      cancel_named: {2465        id: '[u8;16]',2466      },2467      schedule_named_after: {2468        id: '[u8;16]',2469        after: 'u32',2470        maybePeriodic: 'Option<(u32,u32)>',2471        priority: 'Option<u8>',2472        call: 'FrameSupportScheduleMaybeHashed',2473      },2474      change_named_priority: {2475        id: '[u8;16]',2476        priority: 'u8'2477      }2478    }2479  },2480  /**2481   * Lookup289: frame_support::traits::schedule::MaybeHashed<opal_runtime::RuntimeCall, primitive_types::H256>2482   **/2483  FrameSupportScheduleMaybeHashed: {2484    _enum: {2485      Value: 'Call',2486      Hash: 'H256'2487    }2488  },2489  /**2490   * Lookup290: pallet_configuration::pallet::Call<T>2491   **/2492  PalletConfigurationCall: {2493    _enum: {2494      set_weight_to_fee_coefficient_override: {2495        coeff: 'Option<u32>',2496      },2497      set_min_gas_price_override: {2498        coeff: 'Option<u64>'2499      }2500    }2501  },2502  /**2503   * Lookup292: pallet_template_transaction_payment::Call<T>2504   **/2505  PalletTemplateTransactionPaymentCall: 'Null',2506  /**2507   * Lookup293: pallet_structure::pallet::Call<T>2508   **/2509  PalletStructureCall: 'Null',2510  /**2511   * Lookup294: pallet_rmrk_core::pallet::Call<T>2512   **/2513  PalletRmrkCoreCall: {2514    _enum: {2515      create_collection: {2516        metadata: 'Bytes',2517        max: 'Option<u32>',2518        symbol: 'Bytes',2519      },2520      destroy_collection: {2521        collectionId: 'u32',2522      },2523      change_collection_issuer: {2524        collectionId: 'u32',2525        newIssuer: 'MultiAddress',2526      },2527      lock_collection: {2528        collectionId: 'u32',2529      },2530      mint_nft: {2531        owner: 'Option<AccountId32>',2532        collectionId: 'u32',2533        recipient: 'Option<AccountId32>',2534        royaltyAmount: 'Option<Permill>',2535        metadata: 'Bytes',2536        transferable: 'bool',2537        resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',2538      },2539      burn_nft: {2540        collectionId: 'u32',2541        nftId: 'u32',2542        maxBurns: 'u32',2543      },2544      send: {2545        rmrkCollectionId: 'u32',2546        rmrkNftId: 'u32',2547        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2548      },2549      accept_nft: {2550        rmrkCollectionId: 'u32',2551        rmrkNftId: 'u32',2552        newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2553      },2554      reject_nft: {2555        rmrkCollectionId: 'u32',2556        rmrkNftId: 'u32',2557      },2558      accept_resource: {2559        rmrkCollectionId: 'u32',2560        rmrkNftId: 'u32',2561        resourceId: 'u32',2562      },2563      accept_resource_removal: {2564        rmrkCollectionId: 'u32',2565        rmrkNftId: 'u32',2566        resourceId: 'u32',2567      },2568      set_property: {2569        rmrkCollectionId: 'Compact<u32>',2570        maybeNftId: 'Option<u32>',2571        key: 'Bytes',2572        value: 'Bytes',2573      },2574      set_priority: {2575        rmrkCollectionId: 'u32',2576        rmrkNftId: 'u32',2577        priorities: 'Vec<u32>',2578      },2579      add_basic_resource: {2580        rmrkCollectionId: 'u32',2581        nftId: 'u32',2582        resource: 'RmrkTraitsResourceBasicResource',2583      },2584      add_composable_resource: {2585        rmrkCollectionId: 'u32',2586        nftId: 'u32',2587        resource: 'RmrkTraitsResourceComposableResource',2588      },2589      add_slot_resource: {2590        rmrkCollectionId: 'u32',2591        nftId: 'u32',2592        resource: 'RmrkTraitsResourceSlotResource',2593      },2594      remove_resource: {2595        rmrkCollectionId: 'u32',2596        nftId: 'u32',2597        resourceId: 'u32'2598      }2599    }2600  },2601  /**2602   * Lookup300: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2603   **/2604  RmrkTraitsResourceResourceTypes: {2605    _enum: {2606      Basic: 'RmrkTraitsResourceBasicResource',2607      Composable: 'RmrkTraitsResourceComposableResource',2608      Slot: 'RmrkTraitsResourceSlotResource'2609    }2610  },2611  /**2612   * Lookup302: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2613   **/2614  RmrkTraitsResourceBasicResource: {2615    src: 'Option<Bytes>',2616    metadata: 'Option<Bytes>',2617    license: 'Option<Bytes>',2618    thumb: 'Option<Bytes>'2619  },2620  /**2621   * Lookup304: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2622   **/2623  RmrkTraitsResourceComposableResource: {2624    parts: 'Vec<u32>',2625    base: 'u32',2626    src: 'Option<Bytes>',2627    metadata: 'Option<Bytes>',2628    license: 'Option<Bytes>',2629    thumb: 'Option<Bytes>'2630  },2631  /**2632   * Lookup305: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2633   **/2634  RmrkTraitsResourceSlotResource: {2635    base: 'u32',2636    src: 'Option<Bytes>',2637    metadata: 'Option<Bytes>',2638    slot: 'u32',2639    license: 'Option<Bytes>',2640    thumb: 'Option<Bytes>'2641  },2642  /**2643   * Lookup308: pallet_rmrk_equip::pallet::Call<T>2644   **/2645  PalletRmrkEquipCall: {2646    _enum: {2647      create_base: {2648        baseType: 'Bytes',2649        symbol: 'Bytes',2650        parts: 'Vec<RmrkTraitsPartPartType>',2651      },2652      theme_add: {2653        baseId: 'u32',2654        theme: 'RmrkTraitsTheme',2655      },2656      equippable: {2657        baseId: 'u32',2658        slotId: 'u32',2659        equippables: 'RmrkTraitsPartEquippableList'2660      }2661    }2662  },2663  /**2664   * Lookup311: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2665   **/2666  RmrkTraitsPartPartType: {2667    _enum: {2668      FixedPart: 'RmrkTraitsPartFixedPart',2669      SlotPart: 'RmrkTraitsPartSlotPart'2670    }2671  },2672  /**2673   * Lookup313: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2674   **/2675  RmrkTraitsPartFixedPart: {2676    id: 'u32',2677    z: 'u32',2678    src: 'Bytes'2679  },2680  /**2681   * Lookup314: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2682   **/2683  RmrkTraitsPartSlotPart: {2684    id: 'u32',2685    equippable: 'RmrkTraitsPartEquippableList',2686    src: 'Bytes',2687    z: 'u32'2688  },2689  /**2690   * Lookup315: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2691   **/2692  RmrkTraitsPartEquippableList: {2693    _enum: {2694      All: 'Null',2695      Empty: 'Null',2696      Custom: 'Vec<u32>'2697    }2698  },2699  /**2700   * Lookup317: 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>>2701   **/2702  RmrkTraitsTheme: {2703    name: 'Bytes',2704    properties: 'Vec<RmrkTraitsThemeThemeProperty>',2705    inherit: 'bool'2706  },2707  /**2708   * Lookup319: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2709   **/2710  RmrkTraitsThemeThemeProperty: {2711    key: 'Bytes',2712    value: 'Bytes'2713  },2714  /**2715   * Lookup321: pallet_app_promotion::pallet::Call<T>2716   **/2717  PalletAppPromotionCall: {2718    _enum: {2719      set_admin_address: {2720        admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2721      },2722      stake: {2723        amount: 'u128',2724      },2725      unstake: 'Null',2726      sponsor_collection: {2727        collectionId: 'u32',2728      },2729      stop_sponsoring_collection: {2730        collectionId: 'u32',2731      },2732      sponsor_contract: {2733        contractId: 'H160',2734      },2735      stop_sponsoring_contract: {2736        contractId: 'H160',2737      },2738      payout_stakers: {2739        stakersNumber: 'Option<u8>'2740      }2741    }2742  },2743  /**2744   * Lookup322: pallet_foreign_assets::module::Call<T>2745   **/2746  PalletForeignAssetsModuleCall: {2747    _enum: {2748      register_foreign_asset: {2749        owner: 'AccountId32',2750        location: 'XcmVersionedMultiLocation',2751        metadata: 'PalletForeignAssetsModuleAssetMetadata',2752      },2753      update_foreign_asset: {2754        foreignAssetId: 'u32',2755        location: 'XcmVersionedMultiLocation',2756        metadata: 'PalletForeignAssetsModuleAssetMetadata'2757      }2758    }2759  },2760  /**2761   * Lookup323: pallet_evm::pallet::Call<T>2762   **/2763  PalletEvmCall: {2764    _enum: {2765      withdraw: {2766        address: 'H160',2767        value: 'u128',2768      },2769      call: {2770        source: 'H160',2771        target: 'H160',2772        input: 'Bytes',2773        value: 'U256',2774        gasLimit: 'u64',2775        maxFeePerGas: 'U256',2776        maxPriorityFeePerGas: 'Option<U256>',2777        nonce: 'Option<U256>',2778        accessList: 'Vec<(H160,Vec<H256>)>',2779      },2780      create: {2781        source: 'H160',2782        init: 'Bytes',2783        value: 'U256',2784        gasLimit: 'u64',2785        maxFeePerGas: 'U256',2786        maxPriorityFeePerGas: 'Option<U256>',2787        nonce: 'Option<U256>',2788        accessList: 'Vec<(H160,Vec<H256>)>',2789      },2790      create2: {2791        source: 'H160',2792        init: 'Bytes',2793        salt: 'H256',2794        value: 'U256',2795        gasLimit: 'u64',2796        maxFeePerGas: 'U256',2797        maxPriorityFeePerGas: 'Option<U256>',2798        nonce: 'Option<U256>',2799        accessList: 'Vec<(H160,Vec<H256>)>'2800      }2801    }2802  },2803  /**2804   * Lookup327: pallet_ethereum::pallet::Call<T>2805   **/2806  PalletEthereumCall: {2807    _enum: {2808      transact: {2809        transaction: 'EthereumTransactionTransactionV2'2810      }2811    }2812  },2813  /**2814   * Lookup328: ethereum::transaction::TransactionV22815   **/2816  EthereumTransactionTransactionV2: {2817    _enum: {2818      Legacy: 'EthereumTransactionLegacyTransaction',2819      EIP2930: 'EthereumTransactionEip2930Transaction',2820      EIP1559: 'EthereumTransactionEip1559Transaction'2821    }2822  },2823  /**2824   * Lookup329: ethereum::transaction::LegacyTransaction2825   **/2826  EthereumTransactionLegacyTransaction: {2827    nonce: 'U256',2828    gasPrice: 'U256',2829    gasLimit: 'U256',2830    action: 'EthereumTransactionTransactionAction',2831    value: 'U256',2832    input: 'Bytes',2833    signature: 'EthereumTransactionTransactionSignature'2834  },2835  /**2836   * Lookup330: ethereum::transaction::TransactionAction2837   **/2838  EthereumTransactionTransactionAction: {2839    _enum: {2840      Call: 'H160',2841      Create: 'Null'2842    }2843  },2844  /**2845   * Lookup331: ethereum::transaction::TransactionSignature2846   **/2847  EthereumTransactionTransactionSignature: {2848    v: 'u64',2849    r: 'H256',2850    s: 'H256'2851  },2852  /**2853   * Lookup333: ethereum::transaction::EIP2930Transaction2854   **/2855  EthereumTransactionEip2930Transaction: {2856    chainId: 'u64',2857    nonce: 'U256',2858    gasPrice: 'U256',2859    gasLimit: 'U256',2860    action: 'EthereumTransactionTransactionAction',2861    value: 'U256',2862    input: 'Bytes',2863    accessList: 'Vec<EthereumTransactionAccessListItem>',2864    oddYParity: 'bool',2865    r: 'H256',2866    s: 'H256'2867  },2868  /**2869   * Lookup335: ethereum::transaction::AccessListItem2870   **/2871  EthereumTransactionAccessListItem: {2872    address: 'H160',2873    storageKeys: 'Vec<H256>'2874  },2875  /**2876   * Lookup336: ethereum::transaction::EIP1559Transaction2877   **/2878  EthereumTransactionEip1559Transaction: {2879    chainId: 'u64',2880    nonce: 'U256',2881    maxPriorityFeePerGas: 'U256',2882    maxFeePerGas: 'U256',2883    gasLimit: 'U256',2884    action: 'EthereumTransactionTransactionAction',2885    value: 'U256',2886    input: 'Bytes',2887    accessList: 'Vec<EthereumTransactionAccessListItem>',2888    oddYParity: 'bool',2889    r: 'H256',2890    s: 'H256'2891  },2892  /**2893   * Lookup337: pallet_evm_migration::pallet::Call<T>2894   **/2895  PalletEvmMigrationCall: {2896    _enum: {2897      begin: {2898        address: 'H160',2899      },2900      set_data: {2901        address: 'H160',2902        data: 'Vec<(H256,H256)>',2903      },2904      finish: {2905        address: 'H160',2906        code: 'Bytes'2907      }2908    }2909  },2910  /**2911   * Lookup340: pallet_maintenance::pallet::Call<T>2912   **/2913  PalletMaintenanceCall: {2914    _enum: ['enable', 'disable']2915  },2916  /**2917   * Lookup341: pallet_test_utils::pallet::Call<T>2918   **/2919  PalletTestUtilsCall: {2920    _enum: {2921      enable: 'Null',2922      set_test_value: {2923        value: 'u32',2924      },2925      set_test_value_and_rollback: {2926        value: 'u32',2927      },2928      inc_test_value: 'Null',2929      self_canceling_inc: {2930        id: '[u8;16]',2931        maxTestValue: 'u32',2932      },2933      just_take_fee: 'Null'2934    }2935  },2936  /**2937   * Lookup342: pallet_sudo::pallet::Error<T>2938   **/2939  PalletSudoError: {2940    _enum: ['RequireSudo']2941  },2942  /**2943   * Lookup344: orml_vesting::module::Error<T>2944   **/2945  OrmlVestingModuleError: {2946    _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2947  },2948  /**2949   * Lookup345: orml_xtokens::module::Error<T>2950   **/2951  OrmlXtokensModuleError: {2952    _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']2953  },2954  /**2955   * Lookup348: orml_tokens::BalanceLock<Balance>2956   **/2957  OrmlTokensBalanceLock: {2958    id: '[u8;8]',2959    amount: 'u128'2960  },2961  /**2962   * Lookup350: orml_tokens::AccountData<Balance>2963   **/2964  OrmlTokensAccountData: {2965    free: 'u128',2966    reserved: 'u128',2967    frozen: 'u128'2968  },2969  /**2970   * Lookup352: orml_tokens::ReserveData<ReserveIdentifier, Balance>2971   **/2972  OrmlTokensReserveData: {2973    id: 'Null',2974    amount: 'u128'2975  },2976  /**2977   * Lookup354: orml_tokens::module::Error<T>2978   **/2979  OrmlTokensModuleError: {2980    _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']2981  },2982  /**2983   * Lookup356: cumulus_pallet_xcmp_queue::InboundChannelDetails2984   **/2985  CumulusPalletXcmpQueueInboundChannelDetails: {2986    sender: 'u32',2987    state: 'CumulusPalletXcmpQueueInboundState',2988    messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'2989  },2990  /**2991   * Lookup357: cumulus_pallet_xcmp_queue::InboundState2992   **/2993  CumulusPalletXcmpQueueInboundState: {2994    _enum: ['Ok', 'Suspended']2995  },2996  /**2997   * Lookup360: polkadot_parachain::primitives::XcmpMessageFormat2998   **/2999  PolkadotParachainPrimitivesXcmpMessageFormat: {3000    _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3001  },3002  /**3003   * Lookup363: cumulus_pallet_xcmp_queue::OutboundChannelDetails3004   **/3005  CumulusPalletXcmpQueueOutboundChannelDetails: {3006    recipient: 'u32',3007    state: 'CumulusPalletXcmpQueueOutboundState',3008    signalsExist: 'bool',3009    firstIndex: 'u16',3010    lastIndex: 'u16'3011  },3012  /**3013   * Lookup364: cumulus_pallet_xcmp_queue::OutboundState3014   **/3015  CumulusPalletXcmpQueueOutboundState: {3016    _enum: ['Ok', 'Suspended']3017  },3018  /**3019   * Lookup366: cumulus_pallet_xcmp_queue::QueueConfigData3020   **/3021  CumulusPalletXcmpQueueQueueConfigData: {3022    suspendThreshold: 'u32',3023    dropThreshold: 'u32',3024    resumeThreshold: 'u32',3025    thresholdWeight: 'Weight',3026    weightRestrictDecay: 'Weight',3027    xcmpMaxIndividualWeight: 'Weight'3028  },3029  /**3030   * Lookup368: cumulus_pallet_xcmp_queue::pallet::Error<T>3031   **/3032  CumulusPalletXcmpQueueError: {3033    _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3034  },3035  /**3036   * Lookup369: pallet_xcm::pallet::Error<T>3037   **/3038  PalletXcmError: {3039    _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3040  },3041  /**3042   * Lookup370: cumulus_pallet_xcm::pallet::Error<T>3043   **/3044  CumulusPalletXcmError: 'Null',3045  /**3046   * Lookup371: cumulus_pallet_dmp_queue::ConfigData3047   **/3048  CumulusPalletDmpQueueConfigData: {3049    maxIndividual: 'Weight'3050  },3051  /**3052   * Lookup372: cumulus_pallet_dmp_queue::PageIndexData3053   **/3054  CumulusPalletDmpQueuePageIndexData: {3055    beginUsed: 'u32',3056    endUsed: 'u32',3057    overweightCount: 'u64'3058  },3059  /**3060   * Lookup375: cumulus_pallet_dmp_queue::pallet::Error<T>3061   **/3062  CumulusPalletDmpQueueError: {3063    _enum: ['Unknown', 'OverLimit']3064  },3065  /**3066   * Lookup379: pallet_unique::Error<T>3067   **/3068  PalletUniqueError: {3069    _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3070  },3071  /**3072   * Lookup382: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::RuntimeCall, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>3073   **/3074  PalletUniqueSchedulerScheduledV3: {3075    maybeId: 'Option<[u8;16]>',3076    priority: 'u8',3077    call: 'FrameSupportScheduleMaybeHashed',3078    maybePeriodic: 'Option<(u32,u32)>',3079    origin: 'OpalRuntimeOriginCaller'3080  },3081  /**3082   * Lookup383: opal_runtime::OriginCaller3083   **/3084  OpalRuntimeOriginCaller: {3085    _enum: {3086      system: 'FrameSupportDispatchRawOrigin',3087      __Unused1: 'Null',3088      __Unused2: 'Null',3089      __Unused3: 'Null',3090      Void: 'SpCoreVoid',3091      __Unused5: 'Null',3092      __Unused6: 'Null',3093      __Unused7: 'Null',3094      __Unused8: 'Null',3095      __Unused9: 'Null',3096      __Unused10: 'Null',3097      __Unused11: 'Null',3098      __Unused12: 'Null',3099      __Unused13: 'Null',3100      __Unused14: 'Null',3101      __Unused15: 'Null',3102      __Unused16: 'Null',3103      __Unused17: 'Null',3104      __Unused18: 'Null',3105      __Unused19: 'Null',3106      __Unused20: 'Null',3107      __Unused21: 'Null',3108      __Unused22: 'Null',3109      __Unused23: 'Null',3110      __Unused24: 'Null',3111      __Unused25: 'Null',3112      __Unused26: 'Null',3113      __Unused27: 'Null',3114      __Unused28: 'Null',3115      __Unused29: 'Null',3116      __Unused30: 'Null',3117      __Unused31: 'Null',3118      __Unused32: 'Null',3119      __Unused33: 'Null',3120      __Unused34: 'Null',3121      __Unused35: 'Null',3122      __Unused36: 'Null',3123      __Unused37: 'Null',3124      __Unused38: 'Null',3125      __Unused39: 'Null',3126      __Unused40: 'Null',3127      __Unused41: 'Null',3128      __Unused42: 'Null',3129      __Unused43: 'Null',3130      __Unused44: 'Null',3131      __Unused45: 'Null',3132      __Unused46: 'Null',3133      __Unused47: 'Null',3134      __Unused48: 'Null',3135      __Unused49: 'Null',3136      __Unused50: 'Null',3137      PolkadotXcm: 'PalletXcmOrigin',3138      CumulusXcm: 'CumulusPalletXcmOrigin',3139      __Unused53: 'Null',3140      __Unused54: 'Null',3141      __Unused55: 'Null',3142      __Unused56: 'Null',3143      __Unused57: 'Null',3144      __Unused58: 'Null',3145      __Unused59: 'Null',3146      __Unused60: 'Null',3147      __Unused61: 'Null',3148      __Unused62: 'Null',3149      __Unused63: 'Null',3150      __Unused64: 'Null',3151      __Unused65: 'Null',3152      __Unused66: 'Null',3153      __Unused67: 'Null',3154      __Unused68: 'Null',3155      __Unused69: 'Null',3156      __Unused70: 'Null',3157      __Unused71: 'Null',3158      __Unused72: 'Null',3159      __Unused73: 'Null',3160      __Unused74: 'Null',3161      __Unused75: 'Null',3162      __Unused76: 'Null',3163      __Unused77: 'Null',3164      __Unused78: 'Null',3165      __Unused79: 'Null',3166      __Unused80: 'Null',3167      __Unused81: 'Null',3168      __Unused82: 'Null',3169      __Unused83: 'Null',3170      __Unused84: 'Null',3171      __Unused85: 'Null',3172      __Unused86: 'Null',3173      __Unused87: 'Null',3174      __Unused88: 'Null',3175      __Unused89: 'Null',3176      __Unused90: 'Null',3177      __Unused91: 'Null',3178      __Unused92: 'Null',3179      __Unused93: 'Null',3180      __Unused94: 'Null',3181      __Unused95: 'Null',3182      __Unused96: 'Null',3183      __Unused97: 'Null',3184      __Unused98: 'Null',3185      __Unused99: 'Null',3186      __Unused100: 'Null',3187      Ethereum: 'PalletEthereumRawOrigin'3188    }3189  },3190  /**3191   * Lookup384: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>3192   **/3193  FrameSupportDispatchRawOrigin: {3194    _enum: {3195      Root: 'Null',3196      Signed: 'AccountId32',3197      None: 'Null'3198    }3199  },3200  /**3201   * Lookup385: pallet_xcm::pallet::Origin3202   **/3203  PalletXcmOrigin: {3204    _enum: {3205      Xcm: 'XcmV1MultiLocation',3206      Response: 'XcmV1MultiLocation'3207    }3208  },3209  /**3210   * Lookup386: cumulus_pallet_xcm::pallet::Origin3211   **/3212  CumulusPalletXcmOrigin: {3213    _enum: {3214      Relay: 'Null',3215      SiblingParachain: 'u32'3216    }3217  },3218  /**3219   * Lookup387: pallet_ethereum::RawOrigin3220   **/3221  PalletEthereumRawOrigin: {3222    _enum: {3223      EthereumTransaction: 'H160'3224    }3225  },3226  /**3227   * Lookup388: sp_core::Void3228   **/3229  SpCoreVoid: 'Null',3230  /**3231   * Lookup389: pallet_unique_scheduler::pallet::Error<T>3232   **/3233  PalletUniqueSchedulerError: {3234    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']3235  },3236  /**3237   * Lookup390: up_data_structs::Collection<sp_core::crypto::AccountId32>3238   **/3239  UpDataStructsCollection: {3240    owner: 'AccountId32',3241    mode: 'UpDataStructsCollectionMode',3242    name: 'Vec<u16>',3243    description: 'Vec<u16>',3244    tokenPrefix: 'Bytes',3245    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3246    limits: 'UpDataStructsCollectionLimits',3247    permissions: 'UpDataStructsCollectionPermissions',3248    flags: '[u8;1]'3249  },3250  /**3251   * Lookup391: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3252   **/3253  UpDataStructsSponsorshipStateAccountId32: {3254    _enum: {3255      Disabled: 'Null',3256      Unconfirmed: 'AccountId32',3257      Confirmed: 'AccountId32'3258    }3259  },3260  /**3261   * Lookup393: up_data_structs::Properties3262   **/3263  UpDataStructsProperties: {3264    map: 'UpDataStructsPropertiesMapBoundedVec',3265    consumedSpace: 'u32',3266    spaceLimit: 'u32'3267  },3268  /**3269   * Lookup394: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3270   **/3271  UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3272  /**3273   * Lookup399: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3274   **/3275  UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3276  /**3277   * Lookup406: up_data_structs::CollectionStats3278   **/3279  UpDataStructsCollectionStats: {3280    created: 'u32',3281    destroyed: 'u32',3282    alive: 'u32'3283  },3284  /**3285   * Lookup407: up_data_structs::TokenChild3286   **/3287  UpDataStructsTokenChild: {3288    token: 'u32',3289    collection: 'u32'3290  },3291  /**3292   * Lookup408: PhantomType::up_data_structs<T>3293   **/3294  PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',3295  /**3296   * Lookup410: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3297   **/3298  UpDataStructsTokenData: {3299    properties: 'Vec<UpDataStructsProperty>',3300    owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3301    pieces: 'u128'3302  },3303  /**3304   * Lookup412: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3305   **/3306  UpDataStructsRpcCollection: {3307    owner: 'AccountId32',3308    mode: 'UpDataStructsCollectionMode',3309    name: 'Vec<u16>',3310    description: 'Vec<u16>',3311    tokenPrefix: 'Bytes',3312    sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3313    limits: 'UpDataStructsCollectionLimits',3314    permissions: 'UpDataStructsCollectionPermissions',3315    tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3316    properties: 'Vec<UpDataStructsProperty>',3317    readOnly: 'bool',3318    flags: 'UpDataStructsRpcCollectionFlags'3319  },3320  /**3321   * Lookup413: up_data_structs::RpcCollectionFlags3322   **/3323  UpDataStructsRpcCollectionFlags: {3324    foreign: 'bool',3325    erc721metadata: 'bool'3326  },3327  /**3328   * Lookup414: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>3329   **/3330  RmrkTraitsCollectionCollectionInfo: {3331    issuer: 'AccountId32',3332    metadata: 'Bytes',3333    max: 'Option<u32>',3334    symbol: 'Bytes',3335    nftsCount: 'u32'3336  },3337  /**3338   * Lookup415: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3339   **/3340  RmrkTraitsNftNftInfo: {3341    owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3342    royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3343    metadata: 'Bytes',3344    equipped: 'bool',3345    pending: 'bool'3346  },3347  /**3348   * Lookup417: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3349   **/3350  RmrkTraitsNftRoyaltyInfo: {3351    recipient: 'AccountId32',3352    amount: 'Permill'3353  },3354  /**3355   * Lookup418: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3356   **/3357  RmrkTraitsResourceResourceInfo: {3358    id: 'u32',3359    resource: 'RmrkTraitsResourceResourceTypes',3360    pending: 'bool',3361    pendingRemoval: 'bool'3362  },3363  /**3364   * Lookup419: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3365   **/3366  RmrkTraitsPropertyPropertyInfo: {3367    key: 'Bytes',3368    value: 'Bytes'3369  },3370  /**3371   * Lookup420: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3372   **/3373  RmrkTraitsBaseBaseInfo: {3374    issuer: 'AccountId32',3375    baseType: 'Bytes',3376    symbol: 'Bytes'3377  },3378  /**3379   * Lookup421: rmrk_traits::nft::NftChild3380   **/3381  RmrkTraitsNftNftChild: {3382    collectionId: 'u32',3383    nftId: 'u32'3384  },3385  /**3386   * Lookup423: pallet_common::pallet::Error<T>3387   **/3388  PalletCommonError: {3389    _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']3390  },3391  /**3392   * Lookup425: pallet_fungible::pallet::Error<T>3393   **/3394  PalletFungibleError: {3395    _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3396  },3397  /**3398   * Lookup426: pallet_refungible::ItemData3399   **/3400  PalletRefungibleItemData: {3401    constData: 'Bytes'3402  },3403  /**3404   * Lookup431: pallet_refungible::pallet::Error<T>3405   **/3406  PalletRefungibleError: {3407    _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3408  },3409  /**3410   * Lookup432: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3411   **/3412  PalletNonfungibleItemData: {3413    owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3414  },3415  /**3416   * Lookup434: up_data_structs::PropertyScope3417   **/3418  UpDataStructsPropertyScope: {3419    _enum: ['None', 'Rmrk']3420  },3421  /**3422   * Lookup436: pallet_nonfungible::pallet::Error<T>3423   **/3424  PalletNonfungibleError: {3425    _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3426  },3427  /**3428   * Lookup437: pallet_structure::pallet::Error<T>3429   **/3430  PalletStructureError: {3431    _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3432  },3433  /**3434   * Lookup438: pallet_rmrk_core::pallet::Error<T>3435   **/3436  PalletRmrkCoreError: {3437    _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3438  },3439  /**3440   * Lookup440: pallet_rmrk_equip::pallet::Error<T>3441   **/3442  PalletRmrkEquipError: {3443    _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3444  },3445  /**3446   * Lookup446: pallet_app_promotion::pallet::Error<T>3447   **/3448  PalletAppPromotionError: {3449    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3450  },3451  /**3452   * Lookup447: pallet_foreign_assets::module::Error<T>3453   **/3454  PalletForeignAssetsModuleError: {3455    _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3456  },3457  /**3458   * Lookup450: pallet_evm::pallet::Error<T>3459   **/3460  PalletEvmError: {3461    _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']3462  },3463  /**3464   * Lookup453: fp_rpc::TransactionStatus3465   **/3466  FpRpcTransactionStatus: {3467    transactionHash: 'H256',3468    transactionIndex: 'u32',3469    from: 'H160',3470    to: 'Option<H160>',3471    contractAddress: 'Option<H160>',3472    logs: 'Vec<EthereumLog>',3473    logsBloom: 'EthbloomBloom'3474  },3475  /**3476   * Lookup455: ethbloom::Bloom3477   **/3478  EthbloomBloom: '[u8;256]',3479  /**3480   * Lookup457: ethereum::receipt::ReceiptV33481   **/3482  EthereumReceiptReceiptV3: {3483    _enum: {3484      Legacy: 'EthereumReceiptEip658ReceiptData',3485      EIP2930: 'EthereumReceiptEip658ReceiptData',3486      EIP1559: 'EthereumReceiptEip658ReceiptData'3487    }3488  },3489  /**3490   * Lookup458: ethereum::receipt::EIP658ReceiptData3491   **/3492  EthereumReceiptEip658ReceiptData: {3493    statusCode: 'u8',3494    usedGas: 'U256',3495    logsBloom: 'EthbloomBloom',3496    logs: 'Vec<EthereumLog>'3497  },3498  /**3499   * Lookup459: ethereum::block::Block<ethereum::transaction::TransactionV2>3500   **/3501  EthereumBlock: {3502    header: 'EthereumHeader',3503    transactions: 'Vec<EthereumTransactionTransactionV2>',3504    ommers: 'Vec<EthereumHeader>'3505  },3506  /**3507   * Lookup460: ethereum::header::Header3508   **/3509  EthereumHeader: {3510    parentHash: 'H256',3511    ommersHash: 'H256',3512    beneficiary: 'H160',3513    stateRoot: 'H256',3514    transactionsRoot: 'H256',3515    receiptsRoot: 'H256',3516    logsBloom: 'EthbloomBloom',3517    difficulty: 'U256',3518    number: 'U256',3519    gasLimit: 'U256',3520    gasUsed: 'U256',3521    timestamp: 'u64',3522    extraData: 'Bytes',3523    mixHash: 'H256',3524    nonce: 'EthereumTypesHashH64'3525  },3526  /**3527   * Lookup461: ethereum_types::hash::H643528   **/3529  EthereumTypesHashH64: '[u8;8]',3530  /**3531   * Lookup466: pallet_ethereum::pallet::Error<T>3532   **/3533  PalletEthereumError: {3534    _enum: ['InvalidSignature', 'PreLogExists']3535  },3536  /**3537   * Lookup467: pallet_evm_coder_substrate::pallet::Error<T>3538   **/3539  PalletEvmCoderSubstrateError: {3540    _enum: ['OutOfGas', 'OutOfFund']3541  },3542  /**3543   * Lookup468: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3544   **/3545  UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3546    _enum: {3547      Disabled: 'Null',3548      Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3549      Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3550    }3551  },3552  /**3553   * Lookup469: pallet_evm_contract_helpers::SponsoringModeT3554   **/3555  PalletEvmContractHelpersSponsoringModeT: {3556    _enum: ['Disabled', 'Allowlisted', 'Generous']3557  },3558  /**3559   * Lookup475: pallet_evm_contract_helpers::pallet::Error<T>3560   **/3561  PalletEvmContractHelpersError: {3562    _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3563  },3564  /**3565   * Lookup476: pallet_evm_migration::pallet::Error<T>3566   **/3567  PalletEvmMigrationError: {3568    _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']3569  },3570  /**3571   * Lookup477: pallet_maintenance::pallet::Error<T>3572   **/3573  PalletMaintenanceError: 'Null',3574  /**3575   * Lookup478: pallet_test_utils::pallet::Error<T>3576   **/3577  PalletTestUtilsError: {3578    _enum: ['TestPalletDisabled', 'TriggerRollback']3579  },3580  /**3581   * Lookup480: sp_runtime::MultiSignature3582   **/3583  SpRuntimeMultiSignature: {3584    _enum: {3585      Ed25519: 'SpCoreEd25519Signature',3586      Sr25519: 'SpCoreSr25519Signature',3587      Ecdsa: 'SpCoreEcdsaSignature'3588    }3589  },3590  /**3591   * Lookup481: sp_core::ed25519::Signature3592   **/3593  SpCoreEd25519Signature: '[u8;64]',3594  /**3595   * Lookup483: sp_core::sr25519::Signature3596   **/3597  SpCoreSr25519Signature: '[u8;64]',3598  /**3599   * Lookup484: sp_core::ecdsa::Signature3600   **/3601  SpCoreEcdsaSignature: '[u8;65]',3602  /**3603   * Lookup487: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3604   **/3605  FrameSystemExtensionsCheckSpecVersion: 'Null',3606  /**3607   * Lookup488: frame_system::extensions::check_tx_version::CheckTxVersion<T>3608   **/3609  FrameSystemExtensionsCheckTxVersion: 'Null',3610  /**3611   * Lookup489: frame_system::extensions::check_genesis::CheckGenesis<T>3612   **/3613  FrameSystemExtensionsCheckGenesis: 'Null',3614  /**3615   * Lookup492: frame_system::extensions::check_nonce::CheckNonce<T>3616   **/3617  FrameSystemExtensionsCheckNonce: 'Compact<u32>',3618  /**3619   * Lookup493: frame_system::extensions::check_weight::CheckWeight<T>3620   **/3621  FrameSystemExtensionsCheckWeight: 'Null',3622  /**3623   * Lookup494: opal_runtime::runtime_common::maintenance::CheckMaintenance3624   **/3625  OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3626  /**3627   * Lookup495: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3628   **/3629  PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3630  /**3631   * Lookup496: opal_runtime::Runtime3632   **/3633  OpalRuntimeRuntime: 'Null',3634  /**3635   * Lookup497: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3636   **/3637  PalletEthereumFakeTransactionFinalizer: 'Null'3638};
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, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, 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, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, 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, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, 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, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, 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, 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 {
@@ -21,6 +21,7 @@
     CumulusPalletXcmCall: CumulusPalletXcmCall;
     CumulusPalletXcmError: CumulusPalletXcmError;
     CumulusPalletXcmEvent: CumulusPalletXcmEvent;
+    CumulusPalletXcmOrigin: CumulusPalletXcmOrigin;
     CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall;
     CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError;
     CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent;
@@ -56,7 +57,10 @@
     FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32;
     FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight;
     FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
+    FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin;
     FrameSupportPalletId: FrameSupportPalletId;
+    FrameSupportScheduleLookupError: FrameSupportScheduleLookupError;
+    FrameSupportScheduleMaybeHashed: FrameSupportScheduleMaybeHashed;
     FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
     FrameSystemAccountInfo: FrameSystemAccountInfo;
     FrameSystemCall: FrameSystemCall;
@@ -73,7 +77,9 @@
     FrameSystemLimitsBlockWeights: FrameSystemLimitsBlockWeights;
     FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass;
     FrameSystemPhase: FrameSystemPhase;
+    OpalRuntimeOriginCaller: OpalRuntimeOriginCaller;
     OpalRuntimeRuntime: OpalRuntimeRuntime;
+    OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
     OrmlTokensAccountData: OrmlTokensAccountData;
     OrmlTokensBalanceLock: OrmlTokensBalanceLock;
     OrmlTokensModuleCall: OrmlTokensModuleCall;
@@ -105,6 +111,7 @@
     PalletEthereumError: PalletEthereumError;
     PalletEthereumEvent: PalletEthereumEvent;
     PalletEthereumFakeTransactionFinalizer: PalletEthereumFakeTransactionFinalizer;
+    PalletEthereumRawOrigin: PalletEthereumRawOrigin;
     PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr;
     PalletEvmCall: PalletEvmCall;
     PalletEvmCoderSubstrateError: PalletEvmCoderSubstrateError;
@@ -123,6 +130,9 @@
     PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency;
     PalletFungibleError: PalletFungibleError;
     PalletInflationCall: PalletInflationCall;
+    PalletMaintenanceCall: PalletMaintenanceCall;
+    PalletMaintenanceError: PalletMaintenanceError;
+    PalletMaintenanceEvent: PalletMaintenanceEvent;
     PalletNonfungibleError: PalletNonfungibleError;
     PalletNonfungibleItemData: PalletNonfungibleItemData;
     PalletRefungibleError: PalletRefungibleError;
@@ -141,6 +151,9 @@
     PalletSudoEvent: PalletSudoEvent;
     PalletTemplateTransactionPaymentCall: PalletTemplateTransactionPaymentCall;
     PalletTemplateTransactionPaymentChargeTransactionPayment: PalletTemplateTransactionPaymentChargeTransactionPayment;
+    PalletTestUtilsCall: PalletTestUtilsCall;
+    PalletTestUtilsError: PalletTestUtilsError;
+    PalletTestUtilsEvent: PalletTestUtilsEvent;
     PalletTimestampCall: PalletTimestampCall;
     PalletTransactionPaymentEvent: PalletTransactionPaymentEvent;
     PalletTransactionPaymentReleases: PalletTransactionPaymentReleases;
@@ -151,9 +164,14 @@
     PalletUniqueCall: PalletUniqueCall;
     PalletUniqueError: PalletUniqueError;
     PalletUniqueRawEvent: PalletUniqueRawEvent;
+    PalletUniqueSchedulerCall: PalletUniqueSchedulerCall;
+    PalletUniqueSchedulerError: PalletUniqueSchedulerError;
+    PalletUniqueSchedulerEvent: PalletUniqueSchedulerEvent;
+    PalletUniqueSchedulerScheduledV3: PalletUniqueSchedulerScheduledV3;
     PalletXcmCall: PalletXcmCall;
     PalletXcmError: PalletXcmError;
     PalletXcmEvent: PalletXcmEvent;
+    PalletXcmOrigin: PalletXcmOrigin;
     PhantomTypeUpDataStructs: PhantomTypeUpDataStructs;
     PolkadotCorePrimitivesInboundDownwardMessage: PolkadotCorePrimitivesInboundDownwardMessage;
     PolkadotCorePrimitivesInboundHrmpMessage: PolkadotCorePrimitivesInboundHrmpMessage;
@@ -184,6 +202,7 @@
     SpCoreEcdsaSignature: SpCoreEcdsaSignature;
     SpCoreEd25519Signature: SpCoreEd25519Signature;
     SpCoreSr25519Signature: SpCoreSr25519Signature;
+    SpCoreVoid: SpCoreVoid;
     SpRuntimeArithmeticError: SpRuntimeArithmeticError;
     SpRuntimeDigest: SpRuntimeDigest;
     SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1132,7 +1132,47 @@
     readonly type: 'Substrate' | 'Ethereum';
   }
 
-  /** @name PalletCommonEvent (93) */
+  /** @name PalletUniqueSchedulerEvent (93) */
+  interface PalletUniqueSchedulerEvent extends Enum {
+    readonly isScheduled: boolean;
+    readonly asScheduled: {
+      readonly when: u32;
+      readonly index: u32;
+    } & Struct;
+    readonly isCanceled: boolean;
+    readonly asCanceled: {
+      readonly when: u32;
+      readonly index: u32;
+    } & Struct;
+    readonly isPriorityChanged: boolean;
+    readonly asPriorityChanged: {
+      readonly when: u32;
+      readonly index: u32;
+      readonly priority: u8;
+    } & Struct;
+    readonly isDispatched: boolean;
+    readonly asDispatched: {
+      readonly task: ITuple<[u32, u32]>;
+      readonly id: Option<U8aFixed>;
+      readonly result: Result<Null, SpRuntimeDispatchError>;
+    } & Struct;
+    readonly isCallLookupFailed: boolean;
+    readonly asCallLookupFailed: {
+      readonly task: ITuple<[u32, u32]>;
+      readonly id: Option<U8aFixed>;
+      readonly error: FrameSupportScheduleLookupError;
+    } & Struct;
+    readonly type: 'Scheduled' | 'Canceled' | 'PriorityChanged' | 'Dispatched' | 'CallLookupFailed';
+  }
+
+  /** @name FrameSupportScheduleLookupError (96) */
+  interface FrameSupportScheduleLookupError extends Enum {
+    readonly isUnknown: boolean;
+    readonly isBadFormat: boolean;
+    readonly type: 'Unknown' | 'BadFormat';
+  }
+
+  /** @name PalletCommonEvent (97) */
   interface PalletCommonEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
@@ -1159,14 +1199,14 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
   }
 
-  /** @name PalletStructureEvent (96) */
+  /** @name PalletStructureEvent (100) */
   interface PalletStructureEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
     readonly type: 'Executed';
   }
 
-  /** @name PalletRmrkCoreEvent (97) */
+  /** @name PalletRmrkCoreEvent (101) */
   interface PalletRmrkCoreEvent extends Enum {
     readonly isCollectionCreated: boolean;
     readonly asCollectionCreated: {
@@ -1256,7 +1296,7 @@
     readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
   }
 
-  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */
+  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (102) */
   interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
     readonly isAccountId: boolean;
     readonly asAccountId: AccountId32;
@@ -1265,7 +1305,7 @@
     readonly type: 'AccountId' | 'CollectionAndNftTuple';
   }
 
-  /** @name PalletRmrkEquipEvent (103) */
+  /** @name PalletRmrkEquipEvent (107) */
   interface PalletRmrkEquipEvent extends Enum {
     readonly isBaseCreated: boolean;
     readonly asBaseCreated: {
@@ -1280,7 +1320,7 @@
     readonly type: 'BaseCreated' | 'EquippablesUpdated';
   }
 
-  /** @name PalletAppPromotionEvent (104) */
+  /** @name PalletAppPromotionEvent (108) */
   interface PalletAppPromotionEvent extends Enum {
     readonly isStakingRecalculation: boolean;
     readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
@@ -1293,7 +1333,7 @@
     readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
   }
 
-  /** @name PalletForeignAssetsModuleEvent (105) */
+  /** @name PalletForeignAssetsModuleEvent (109) */
   interface PalletForeignAssetsModuleEvent extends Enum {
     readonly isForeignAssetRegistered: boolean;
     readonly asForeignAssetRegistered: {
@@ -1320,7 +1360,7 @@
     readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
   }
 
-  /** @name PalletForeignAssetsModuleAssetMetadata (106) */
+  /** @name PalletForeignAssetsModuleAssetMetadata (110) */
   interface PalletForeignAssetsModuleAssetMetadata extends Struct {
     readonly name: Bytes;
     readonly symbol: Bytes;
@@ -1328,7 +1368,7 @@
     readonly minimalBalance: u128;
   }
 
-  /** @name PalletEvmEvent (107) */
+  /** @name PalletEvmEvent (111) */
   interface PalletEvmEvent extends Enum {
     readonly isLog: boolean;
     readonly asLog: EthereumLog;
@@ -1347,21 +1387,21 @@
     readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
   }
 
-  /** @name EthereumLog (108) */
+  /** @name EthereumLog (112) */
   interface EthereumLog extends Struct {
     readonly address: H160;
     readonly topics: Vec<H256>;
     readonly data: Bytes;
   }
 
-  /** @name PalletEthereumEvent (112) */
+  /** @name PalletEthereumEvent (116) */
   interface PalletEthereumEvent extends Enum {
     readonly isExecuted: boolean;
     readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
     readonly type: 'Executed';
   }
 
-  /** @name EvmCoreErrorExitReason (113) */
+  /** @name EvmCoreErrorExitReason (117) */
   interface EvmCoreErrorExitReason extends Enum {
     readonly isSucceed: boolean;
     readonly asSucceed: EvmCoreErrorExitSucceed;
@@ -1374,7 +1414,7 @@
     readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
   }
 
-  /** @name EvmCoreErrorExitSucceed (114) */
+  /** @name EvmCoreErrorExitSucceed (118) */
   interface EvmCoreErrorExitSucceed extends Enum {
     readonly isStopped: boolean;
     readonly isReturned: boolean;
@@ -1382,7 +1422,7 @@
     readonly type: 'Stopped' | 'Returned' | 'Suicided';
   }
 
-  /** @name EvmCoreErrorExitError (115) */
+  /** @name EvmCoreErrorExitError (119) */
   interface EvmCoreErrorExitError extends Enum {
     readonly isStackUnderflow: boolean;
     readonly isStackOverflow: boolean;
@@ -1403,13 +1443,13 @@
     readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
   }
 
-  /** @name EvmCoreErrorExitRevert (118) */
+  /** @name EvmCoreErrorExitRevert (122) */
   interface EvmCoreErrorExitRevert extends Enum {
     readonly isReverted: boolean;
     readonly type: 'Reverted';
   }
 
-  /** @name EvmCoreErrorExitFatal (119) */
+  /** @name EvmCoreErrorExitFatal (123) */
   interface EvmCoreErrorExitFatal extends Enum {
     readonly isNotSupported: boolean;
     readonly isUnhandledInterrupt: boolean;
@@ -1420,7 +1460,7 @@
     readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
   }
 
-  /** @name PalletEvmContractHelpersEvent (120) */
+  /** @name PalletEvmContractHelpersEvent (124) */
   interface PalletEvmContractHelpersEvent extends Enum {
     readonly isContractSponsorSet: boolean;
     readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
@@ -1431,7 +1471,21 @@
     readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
   }
 
-  /** @name FrameSystemPhase (121) */
+  /** @name PalletMaintenanceEvent (125) */
+  interface PalletMaintenanceEvent extends Enum {
+    readonly isMaintenanceEnabled: boolean;
+    readonly isMaintenanceDisabled: boolean;
+    readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
+  }
+
+  /** @name PalletTestUtilsEvent (126) */
+  interface PalletTestUtilsEvent extends Enum {
+    readonly isValueIsSet: boolean;
+    readonly isShouldRollback: boolean;
+    readonly type: 'ValueIsSet' | 'ShouldRollback';
+  }
+
+  /** @name FrameSystemPhase (127) */
   interface FrameSystemPhase extends Enum {
     readonly isApplyExtrinsic: boolean;
     readonly asApplyExtrinsic: u32;
@@ -1440,13 +1494,13 @@
     readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
   }
 
-  /** @name FrameSystemLastRuntimeUpgradeInfo (124) */
+  /** @name FrameSystemLastRuntimeUpgradeInfo (129) */
   interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
     readonly specVersion: Compact<u32>;
     readonly specName: Text;
   }
 
-  /** @name FrameSystemCall (125) */
+  /** @name FrameSystemCall (130) */
   interface FrameSystemCall extends Enum {
     readonly isFillBlock: boolean;
     readonly asFillBlock: {
@@ -1488,21 +1542,21 @@
     readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
   }
 
-  /** @name FrameSystemLimitsBlockWeights (130) */
+  /** @name FrameSystemLimitsBlockWeights (135) */
   interface FrameSystemLimitsBlockWeights extends Struct {
     readonly baseBlock: Weight;
     readonly maxBlock: Weight;
     readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */
+  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (136) */
   interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
     readonly normal: FrameSystemLimitsWeightsPerClass;
     readonly operational: FrameSystemLimitsWeightsPerClass;
     readonly mandatory: FrameSystemLimitsWeightsPerClass;
   }
 
-  /** @name FrameSystemLimitsWeightsPerClass (132) */
+  /** @name FrameSystemLimitsWeightsPerClass (137) */
   interface FrameSystemLimitsWeightsPerClass extends Struct {
     readonly baseExtrinsic: Weight;
     readonly maxExtrinsic: Option<Weight>;
@@ -1510,25 +1564,25 @@
     readonly reserved: Option<Weight>;
   }
 
-  /** @name FrameSystemLimitsBlockLength (134) */
+  /** @name FrameSystemLimitsBlockLength (139) */
   interface FrameSystemLimitsBlockLength extends Struct {
     readonly max: FrameSupportDispatchPerDispatchClassU32;
   }
 
-  /** @name FrameSupportDispatchPerDispatchClassU32 (135) */
+  /** @name FrameSupportDispatchPerDispatchClassU32 (140) */
   interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
     readonly normal: u32;
     readonly operational: u32;
     readonly mandatory: u32;
   }
 
-  /** @name SpWeightsRuntimeDbWeight (136) */
+  /** @name SpWeightsRuntimeDbWeight (141) */
   interface SpWeightsRuntimeDbWeight extends Struct {
     readonly read: u64;
     readonly write: u64;
   }
 
-  /** @name SpVersionRuntimeVersion (137) */
+  /** @name SpVersionRuntimeVersion (142) */
   interface SpVersionRuntimeVersion extends Struct {
     readonly specName: Text;
     readonly implName: Text;
@@ -1540,7 +1594,7 @@
     readonly stateVersion: u8;
   }
 
-  /** @name FrameSystemError (142) */
+  /** @name FrameSystemError (147) */
   interface FrameSystemError extends Enum {
     readonly isInvalidSpecName: boolean;
     readonly isSpecVersionNeedsToIncrease: boolean;
@@ -1551,7 +1605,7 @@
     readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
   }
 
-  /** @name PolkadotPrimitivesV2PersistedValidationData (143) */
+  /** @name PolkadotPrimitivesV2PersistedValidationData (148) */
   interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
     readonly parentHead: Bytes;
     readonly relayParentNumber: u32;
@@ -1559,18 +1613,18 @@
     readonly maxPovSize: u32;
   }
 
-  /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */
+  /** @name PolkadotPrimitivesV2UpgradeRestriction (151) */
   interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
     readonly isPresent: boolean;
     readonly type: 'Present';
   }
 
-  /** @name SpTrieStorageProof (147) */
+  /** @name SpTrieStorageProof (152) */
   interface SpTrieStorageProof extends Struct {
     readonly trieNodes: BTreeSet<Bytes>;
   }
 
-  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */
+  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (154) */
   interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
     readonly dmqMqcHead: H256;
     readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
@@ -1578,7 +1632,7 @@
     readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */
+  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (157) */
   interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
     readonly maxCapacity: u32;
     readonly maxTotalSize: u32;
@@ -1588,7 +1642,7 @@
     readonly mqcHead: Option<H256>;
   }
 
-  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */
+  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (158) */
   interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
     readonly maxCodeSize: u32;
     readonly maxHeadDataSize: u32;
@@ -1601,13 +1655,13 @@
     readonly validationUpgradeDelay: u32;
   }
 
-  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */
+  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (164) */
   interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
     readonly recipient: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemCall (160) */
+  /** @name CumulusPalletParachainSystemCall (165) */
   interface CumulusPalletParachainSystemCall extends Enum {
     readonly isSetValidationData: boolean;
     readonly asSetValidationData: {
@@ -1628,7 +1682,7 @@
     readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
   }
 
-  /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */
+  /** @name CumulusPrimitivesParachainInherentParachainInherentData (166) */
   interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
     readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
     readonly relayChainState: SpTrieStorageProof;
@@ -1636,19 +1690,19 @@
     readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
   }
 
-  /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */
+  /** @name PolkadotCorePrimitivesInboundDownwardMessage (168) */
   interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
     readonly sentAt: u32;
     readonly msg: Bytes;
   }
 
-  /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */
+  /** @name PolkadotCorePrimitivesInboundHrmpMessage (171) */
   interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
     readonly sentAt: u32;
     readonly data: Bytes;
   }
 
-  /** @name CumulusPalletParachainSystemError (169) */
+  /** @name CumulusPalletParachainSystemError (174) */
   interface CumulusPalletParachainSystemError extends Enum {
     readonly isOverlappingUpgrades: boolean;
     readonly isProhibitedByPolkadot: boolean;
@@ -1661,14 +1715,14 @@
     readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
   }
 
-  /** @name PalletBalancesBalanceLock (171) */
+  /** @name PalletBalancesBalanceLock (176) */
   interface PalletBalancesBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
     readonly reasons: PalletBalancesReasons;
   }
 
-  /** @name PalletBalancesReasons (172) */
+  /** @name PalletBalancesReasons (177) */
   interface PalletBalancesReasons extends Enum {
     readonly isFee: boolean;
     readonly isMisc: boolean;
@@ -1676,20 +1730,20 @@
     readonly type: 'Fee' | 'Misc' | 'All';
   }
 
-  /** @name PalletBalancesReserveData (175) */
+  /** @name PalletBalancesReserveData (180) */
   interface PalletBalancesReserveData extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name PalletBalancesReleases (177) */
+  /** @name PalletBalancesReleases (182) */
   interface PalletBalancesReleases extends Enum {
     readonly isV100: boolean;
     readonly isV200: boolean;
     readonly type: 'V100' | 'V200';
   }
 
-  /** @name PalletBalancesCall (178) */
+  /** @name PalletBalancesCall (183) */
   interface PalletBalancesCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1726,7 +1780,7 @@
     readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
   }
 
-  /** @name PalletBalancesError (181) */
+  /** @name PalletBalancesError (186) */
   interface PalletBalancesError extends Enum {
     readonly isVestingBalance: boolean;
     readonly isLiquidityRestrictions: boolean;
@@ -1739,7 +1793,7 @@
     readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name PalletTimestampCall (183) */
+  /** @name PalletTimestampCall (188) */
   interface PalletTimestampCall extends Enum {
     readonly isSet: boolean;
     readonly asSet: {
@@ -1748,14 +1802,14 @@
     readonly type: 'Set';
   }
 
-  /** @name PalletTransactionPaymentReleases (185) */
+  /** @name PalletTransactionPaymentReleases (190) */
   interface PalletTransactionPaymentReleases extends Enum {
     readonly isV1Ancient: boolean;
     readonly isV2: boolean;
     readonly type: 'V1Ancient' | 'V2';
   }
 
-  /** @name PalletTreasuryProposal (186) */
+  /** @name PalletTreasuryProposal (191) */
   interface PalletTreasuryProposal extends Struct {
     readonly proposer: AccountId32;
     readonly value: u128;
@@ -1763,7 +1817,7 @@
     readonly bond: u128;
   }
 
-  /** @name PalletTreasuryCall (189) */
+  /** @name PalletTreasuryCall (194) */
   interface PalletTreasuryCall extends Enum {
     readonly isProposeSpend: boolean;
     readonly asProposeSpend: {
@@ -1790,10 +1844,10 @@
     readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
   }
 
-  /** @name FrameSupportPalletId (192) */
+  /** @name FrameSupportPalletId (197) */
   interface FrameSupportPalletId extends U8aFixed {}
 
-  /** @name PalletTreasuryError (193) */
+  /** @name PalletTreasuryError (198) */
   interface PalletTreasuryError extends Enum {
     readonly isInsufficientProposersBalance: boolean;
     readonly isInvalidIndex: boolean;
@@ -1803,7 +1857,7 @@
     readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
   }
 
-  /** @name PalletSudoCall (194) */
+  /** @name PalletSudoCall (199) */
   interface PalletSudoCall extends Enum {
     readonly isSudo: boolean;
     readonly asSudo: {
@@ -1826,7 +1880,7 @@
     readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
   }
 
-  /** @name OrmlVestingModuleCall (196) */
+  /** @name OrmlVestingModuleCall (201) */
   interface OrmlVestingModuleCall extends Enum {
     readonly isClaim: boolean;
     readonly isVestedTransfer: boolean;
@@ -1846,7 +1900,7 @@
     readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
   }
 
-  /** @name OrmlXtokensModuleCall (198) */
+  /** @name OrmlXtokensModuleCall (203) */
   interface OrmlXtokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1893,7 +1947,7 @@
     readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
   }
 
-  /** @name XcmVersionedMultiAsset (199) */
+  /** @name XcmVersionedMultiAsset (204) */
   interface XcmVersionedMultiAsset extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0MultiAsset;
@@ -1902,7 +1956,7 @@
     readonly type: 'V0' | 'V1';
   }
 
-  /** @name OrmlTokensModuleCall (202) */
+  /** @name OrmlTokensModuleCall (207) */
   interface OrmlTokensModuleCall extends Enum {
     readonly isTransfer: boolean;
     readonly asTransfer: {
@@ -1939,7 +1993,7 @@
     readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
   }
 
-  /** @name CumulusPalletXcmpQueueCall (203) */
+  /** @name CumulusPalletXcmpQueueCall (208) */
   interface CumulusPalletXcmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -1975,7 +2029,7 @@
     readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
   }
 
-  /** @name PalletXcmCall (204) */
+  /** @name PalletXcmCall (209) */
   interface PalletXcmCall extends Enum {
     readonly isSend: boolean;
     readonly asSend: {
@@ -2037,7 +2091,7 @@
     readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
   }
 
-  /** @name XcmVersionedXcm (205) */
+  /** @name XcmVersionedXcm (210) */
   interface XcmVersionedXcm extends Enum {
     readonly isV0: boolean;
     readonly asV0: XcmV0Xcm;
@@ -2048,7 +2102,7 @@
     readonly type: 'V0' | 'V1' | 'V2';
   }
 
-  /** @name XcmV0Xcm (206) */
+  /** @name XcmV0Xcm (211) */
   interface XcmV0Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2111,7 +2165,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
   }
 
-  /** @name XcmV0Order (208) */
+  /** @name XcmV0Order (213) */
   interface XcmV0Order extends Enum {
     readonly isNull: boolean;
     readonly isDepositAsset: boolean;
@@ -2159,14 +2213,14 @@
     readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV0Response (210) */
+  /** @name XcmV0Response (215) */
   interface XcmV0Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: Vec<XcmV0MultiAsset>;
     readonly type: 'Assets';
   }
 
-  /** @name XcmV1Xcm (211) */
+  /** @name XcmV1Xcm (216) */
   interface XcmV1Xcm extends Enum {
     readonly isWithdrawAsset: boolean;
     readonly asWithdrawAsset: {
@@ -2235,7 +2289,7 @@
     readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
   }
 
-  /** @name XcmV1Order (213) */
+  /** @name XcmV1Order (218) */
   interface XcmV1Order extends Enum {
     readonly isNoop: boolean;
     readonly isDepositAsset: boolean;
@@ -2285,7 +2339,7 @@
     readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
   }
 
-  /** @name XcmV1Response (215) */
+  /** @name XcmV1Response (220) */
   interface XcmV1Response extends Enum {
     readonly isAssets: boolean;
     readonly asAssets: XcmV1MultiassetMultiAssets;
@@ -2294,10 +2348,10 @@
     readonly type: 'Assets' | 'Version';
   }
 
-  /** @name CumulusPalletXcmCall (229) */
+  /** @name CumulusPalletXcmCall (234) */
   type CumulusPalletXcmCall = Null;
 
-  /** @name CumulusPalletDmpQueueCall (230) */
+  /** @name CumulusPalletDmpQueueCall (235) */
   interface CumulusPalletDmpQueueCall extends Enum {
     readonly isServiceOverweight: boolean;
     readonly asServiceOverweight: {
@@ -2307,7 +2361,7 @@
     readonly type: 'ServiceOverweight';
   }
 
-  /** @name PalletInflationCall (231) */
+  /** @name PalletInflationCall (236) */
   interface PalletInflationCall extends Enum {
     readonly isStartInflation: boolean;
     readonly asStartInflation: {
@@ -2316,7 +2370,7 @@
     readonly type: 'StartInflation';
   }
 
-  /** @name PalletUniqueCall (232) */
+  /** @name PalletUniqueCall (237) */
   interface PalletUniqueCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2474,7 +2528,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' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';
   }
 
-  /** @name UpDataStructsCollectionMode (237) */
+  /** @name UpDataStructsCollectionMode (242) */
   interface UpDataStructsCollectionMode extends Enum {
     readonly isNft: boolean;
     readonly isFungible: boolean;
@@ -2483,7 +2537,7 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateCollectionData (238) */
+  /** @name UpDataStructsCreateCollectionData (243) */
   interface UpDataStructsCreateCollectionData extends Struct {
     readonly mode: UpDataStructsCollectionMode;
     readonly access: Option<UpDataStructsAccessMode>;
@@ -2497,14 +2551,14 @@
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsAccessMode (240) */
+  /** @name UpDataStructsAccessMode (245) */
   interface UpDataStructsAccessMode extends Enum {
     readonly isNormal: boolean;
     readonly isAllowList: boolean;
     readonly type: 'Normal' | 'AllowList';
   }
 
-  /** @name UpDataStructsCollectionLimits (242) */
+  /** @name UpDataStructsCollectionLimits (247) */
   interface UpDataStructsCollectionLimits extends Struct {
     readonly accountTokenOwnershipLimit: Option<u32>;
     readonly sponsoredDataSize: Option<u32>;
@@ -2517,7 +2571,7 @@
     readonly transfersEnabled: Option<bool>;
   }
 
-  /** @name UpDataStructsSponsoringRateLimit (244) */
+  /** @name UpDataStructsSponsoringRateLimit (249) */
   interface UpDataStructsSponsoringRateLimit extends Enum {
     readonly isSponsoringDisabled: boolean;
     readonly isBlocks: boolean;
@@ -2525,43 +2579,43 @@
     readonly type: 'SponsoringDisabled' | 'Blocks';
   }
 
-  /** @name UpDataStructsCollectionPermissions (247) */
+  /** @name UpDataStructsCollectionPermissions (252) */
   interface UpDataStructsCollectionPermissions extends Struct {
     readonly access: Option<UpDataStructsAccessMode>;
     readonly mintMode: Option<bool>;
     readonly nesting: Option<UpDataStructsNestingPermissions>;
   }
 
-  /** @name UpDataStructsNestingPermissions (249) */
+  /** @name UpDataStructsNestingPermissions (254) */
   interface UpDataStructsNestingPermissions extends Struct {
     readonly tokenOwner: bool;
     readonly collectionAdmin: bool;
     readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
   }
 
-  /** @name UpDataStructsOwnerRestrictedSet (251) */
+  /** @name UpDataStructsOwnerRestrictedSet (256) */
   interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
 
-  /** @name UpDataStructsPropertyKeyPermission (256) */
+  /** @name UpDataStructsPropertyKeyPermission (261) */
   interface UpDataStructsPropertyKeyPermission extends Struct {
     readonly key: Bytes;
     readonly permission: UpDataStructsPropertyPermission;
   }
 
-  /** @name UpDataStructsPropertyPermission (257) */
+  /** @name UpDataStructsPropertyPermission (262) */
   interface UpDataStructsPropertyPermission extends Struct {
     readonly mutable: bool;
     readonly collectionAdmin: bool;
     readonly tokenOwner: bool;
   }
 
-  /** @name UpDataStructsProperty (260) */
+  /** @name UpDataStructsProperty (265) */
   interface UpDataStructsProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name UpDataStructsCreateItemData (263) */
+  /** @name UpDataStructsCreateItemData (268) */
   interface UpDataStructsCreateItemData extends Enum {
     readonly isNft: boolean;
     readonly asNft: UpDataStructsCreateNftData;
@@ -2572,23 +2626,23 @@
     readonly type: 'Nft' | 'Fungible' | 'ReFungible';
   }
 
-  /** @name UpDataStructsCreateNftData (264) */
+  /** @name UpDataStructsCreateNftData (269) */
   interface UpDataStructsCreateNftData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateFungibleData (265) */
+  /** @name UpDataStructsCreateFungibleData (270) */
   interface UpDataStructsCreateFungibleData extends Struct {
     readonly value: u128;
   }
 
-  /** @name UpDataStructsCreateReFungibleData (266) */
+  /** @name UpDataStructsCreateReFungibleData (271) */
   interface UpDataStructsCreateReFungibleData extends Struct {
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateItemExData (269) */
+  /** @name UpDataStructsCreateItemExData (274) */
   interface UpDataStructsCreateItemExData extends Enum {
     readonly isNft: boolean;
     readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -2601,26 +2655,65 @@
     readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
   }
 
-  /** @name UpDataStructsCreateNftExData (271) */
+  /** @name UpDataStructsCreateNftExData (276) */
   interface UpDataStructsCreateNftExData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */
+  /** @name UpDataStructsCreateRefungibleExSingleOwner (283) */
   interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
     readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
     readonly pieces: u128;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */
+  /** @name UpDataStructsCreateRefungibleExMultipleOwners (285) */
   interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
     readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
     readonly properties: Vec<UpDataStructsProperty>;
   }
 
-  /** @name PalletConfigurationCall (281) */
+  /** @name PalletUniqueSchedulerCall (286) */
+  interface PalletUniqueSchedulerCall extends Enum {
+    readonly isScheduleNamed: boolean;
+    readonly asScheduleNamed: {
+      readonly id: U8aFixed;
+      readonly when: u32;
+      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+      readonly priority: Option<u8>;
+      readonly call: FrameSupportScheduleMaybeHashed;
+    } & Struct;
+    readonly isCancelNamed: boolean;
+    readonly asCancelNamed: {
+      readonly id: U8aFixed;
+    } & Struct;
+    readonly isScheduleNamedAfter: boolean;
+    readonly asScheduleNamedAfter: {
+      readonly id: U8aFixed;
+      readonly after: u32;
+      readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+      readonly priority: Option<u8>;
+      readonly call: FrameSupportScheduleMaybeHashed;
+    } & Struct;
+    readonly isChangeNamedPriority: boolean;
+    readonly asChangeNamedPriority: {
+      readonly id: U8aFixed;
+      readonly priority: u8;
+    } & Struct;
+    readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter' | 'ChangeNamedPriority';
+  }
+
+  /** @name FrameSupportScheduleMaybeHashed (289) */
+  interface FrameSupportScheduleMaybeHashed extends Enum {
+    readonly isValue: boolean;
+    readonly asValue: Call;
+    readonly isHash: boolean;
+    readonly asHash: H256;
+    readonly type: 'Value' | 'Hash';
+  }
+
+  /** @name PalletConfigurationCall (290) */
   interface PalletConfigurationCall extends Enum {
     readonly isSetWeightToFeeCoefficientOverride: boolean;
     readonly asSetWeightToFeeCoefficientOverride: {
@@ -2633,13 +2726,13 @@
     readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';
   }
 
-  /** @name PalletTemplateTransactionPaymentCall (283) */
+  /** @name PalletTemplateTransactionPaymentCall (292) */
   type PalletTemplateTransactionPaymentCall = Null;
 
-  /** @name PalletStructureCall (284) */
+  /** @name PalletStructureCall (293) */
   type PalletStructureCall = Null;
 
-  /** @name PalletRmrkCoreCall (285) */
+  /** @name PalletRmrkCoreCall (294) */
   interface PalletRmrkCoreCall extends Enum {
     readonly isCreateCollection: boolean;
     readonly asCreateCollection: {
@@ -2745,7 +2838,7 @@
     readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
   }
 
-  /** @name RmrkTraitsResourceResourceTypes (291) */
+  /** @name RmrkTraitsResourceResourceTypes (300) */
   interface RmrkTraitsResourceResourceTypes extends Enum {
     readonly isBasic: boolean;
     readonly asBasic: RmrkTraitsResourceBasicResource;
@@ -2756,7 +2849,7 @@
     readonly type: 'Basic' | 'Composable' | 'Slot';
   }
 
-  /** @name RmrkTraitsResourceBasicResource (293) */
+  /** @name RmrkTraitsResourceBasicResource (302) */
   interface RmrkTraitsResourceBasicResource extends Struct {
     readonly src: Option<Bytes>;
     readonly metadata: Option<Bytes>;
@@ -2764,7 +2857,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceComposableResource (295) */
+  /** @name RmrkTraitsResourceComposableResource (304) */
   interface RmrkTraitsResourceComposableResource extends Struct {
     readonly parts: Vec<u32>;
     readonly base: u32;
@@ -2774,7 +2867,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name RmrkTraitsResourceSlotResource (296) */
+  /** @name RmrkTraitsResourceSlotResource (305) */
   interface RmrkTraitsResourceSlotResource extends Struct {
     readonly base: u32;
     readonly src: Option<Bytes>;
@@ -2784,7 +2877,7 @@
     readonly thumb: Option<Bytes>;
   }
 
-  /** @name PalletRmrkEquipCall (299) */
+  /** @name PalletRmrkEquipCall (308) */
   interface PalletRmrkEquipCall extends Enum {
     readonly isCreateBase: boolean;
     readonly asCreateBase: {
@@ -2806,7 +2899,7 @@
     readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
   }
 
-  /** @name RmrkTraitsPartPartType (302) */
+  /** @name RmrkTraitsPartPartType (311) */
   interface RmrkTraitsPartPartType extends Enum {
     readonly isFixedPart: boolean;
     readonly asFixedPart: RmrkTraitsPartFixedPart;
@@ -2815,14 +2908,14 @@
     readonly type: 'FixedPart' | 'SlotPart';
   }
 
-  /** @name RmrkTraitsPartFixedPart (304) */
+  /** @name RmrkTraitsPartFixedPart (313) */
   interface RmrkTraitsPartFixedPart extends Struct {
     readonly id: u32;
     readonly z: u32;
     readonly src: Bytes;
   }
 
-  /** @name RmrkTraitsPartSlotPart (305) */
+  /** @name RmrkTraitsPartSlotPart (314) */
   interface RmrkTraitsPartSlotPart extends Struct {
     readonly id: u32;
     readonly equippable: RmrkTraitsPartEquippableList;
@@ -2830,7 +2923,7 @@
     readonly z: u32;
   }
 
-  /** @name RmrkTraitsPartEquippableList (306) */
+  /** @name RmrkTraitsPartEquippableList (315) */
   interface RmrkTraitsPartEquippableList extends Enum {
     readonly isAll: boolean;
     readonly isEmpty: boolean;
@@ -2839,20 +2932,20 @@
     readonly type: 'All' | 'Empty' | 'Custom';
   }
 
-  /** @name RmrkTraitsTheme (308) */
+  /** @name RmrkTraitsTheme (317) */
   interface RmrkTraitsTheme extends Struct {
     readonly name: Bytes;
     readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
     readonly inherit: bool;
   }
 
-  /** @name RmrkTraitsThemeThemeProperty (310) */
+  /** @name RmrkTraitsThemeThemeProperty (319) */
   interface RmrkTraitsThemeThemeProperty extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name PalletAppPromotionCall (312) */
+  /** @name PalletAppPromotionCall (321) */
   interface PalletAppPromotionCall extends Enum {
     readonly isSetAdminAddress: boolean;
     readonly asSetAdminAddress: {
@@ -2886,7 +2979,7 @@
     readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
   }
 
-  /** @name PalletForeignAssetsModuleCall (314) */
+  /** @name PalletForeignAssetsModuleCall (322) */
   interface PalletForeignAssetsModuleCall extends Enum {
     readonly isRegisterForeignAsset: boolean;
     readonly asRegisterForeignAsset: {
@@ -2903,7 +2996,7 @@
     readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
   }
 
-  /** @name PalletEvmCall (315) */
+  /** @name PalletEvmCall (323) */
   interface PalletEvmCall extends Enum {
     readonly isWithdraw: boolean;
     readonly asWithdraw: {
@@ -2948,7 +3041,7 @@
     readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
   }
 
-  /** @name PalletEthereumCall (319) */
+  /** @name PalletEthereumCall (327) */
   interface PalletEthereumCall extends Enum {
     readonly isTransact: boolean;
     readonly asTransact: {
@@ -2957,7 +3050,7 @@
     readonly type: 'Transact';
   }
 
-  /** @name EthereumTransactionTransactionV2 (320) */
+  /** @name EthereumTransactionTransactionV2 (328) */
   interface EthereumTransactionTransactionV2 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -2968,7 +3061,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumTransactionLegacyTransaction (321) */
+  /** @name EthereumTransactionLegacyTransaction (329) */
   interface EthereumTransactionLegacyTransaction extends Struct {
     readonly nonce: U256;
     readonly gasPrice: U256;
@@ -2979,7 +3072,7 @@
     readonly signature: EthereumTransactionTransactionSignature;
   }
 
-  /** @name EthereumTransactionTransactionAction (322) */
+  /** @name EthereumTransactionTransactionAction (330) */
   interface EthereumTransactionTransactionAction extends Enum {
     readonly isCall: boolean;
     readonly asCall: H160;
@@ -2987,14 +3080,14 @@
     readonly type: 'Call' | 'Create';
   }
 
-  /** @name EthereumTransactionTransactionSignature (323) */
+  /** @name EthereumTransactionTransactionSignature (331) */
   interface EthereumTransactionTransactionSignature extends Struct {
     readonly v: u64;
     readonly r: H256;
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionEip2930Transaction (325) */
+  /** @name EthereumTransactionEip2930Transaction (333) */
   interface EthereumTransactionEip2930Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3009,13 +3102,13 @@
     readonly s: H256;
   }
 
-  /** @name EthereumTransactionAccessListItem (327) */
+  /** @name EthereumTransactionAccessListItem (335) */
   interface EthereumTransactionAccessListItem extends Struct {
     readonly address: H160;
     readonly storageKeys: Vec<H256>;
   }
 
-  /** @name EthereumTransactionEip1559Transaction (328) */
+  /** @name EthereumTransactionEip1559Transaction (336) */
   interface EthereumTransactionEip1559Transaction extends Struct {
     readonly chainId: u64;
     readonly nonce: U256;
@@ -3031,7 +3124,7 @@
     readonly s: H256;
   }
 
-  /** @name PalletEvmMigrationCall (329) */
+  /** @name PalletEvmMigrationCall (337) */
   interface PalletEvmMigrationCall extends Enum {
     readonly isBegin: boolean;
     readonly asBegin: {
@@ -3050,13 +3143,41 @@
     readonly type: 'Begin' | 'SetData' | 'Finish';
   }
 
-  /** @name PalletSudoError (332) */
+  /** @name PalletMaintenanceCall (340) */
+  interface PalletMaintenanceCall extends Enum {
+    readonly isEnable: boolean;
+    readonly isDisable: boolean;
+    readonly type: 'Enable' | 'Disable';
+  }
+
+  /** @name PalletTestUtilsCall (341) */
+  interface PalletTestUtilsCall extends Enum {
+    readonly isEnable: boolean;
+    readonly isSetTestValue: boolean;
+    readonly asSetTestValue: {
+      readonly value: u32;
+    } & Struct;
+    readonly isSetTestValueAndRollback: boolean;
+    readonly asSetTestValueAndRollback: {
+      readonly value: u32;
+    } & Struct;
+    readonly isIncTestValue: boolean;
+    readonly isSelfCancelingInc: boolean;
+    readonly asSelfCancelingInc: {
+      readonly id: U8aFixed;
+      readonly maxTestValue: u32;
+    } & Struct;
+    readonly isJustTakeFee: boolean;
+    readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'SelfCancelingInc' | 'JustTakeFee';
+  }
+
+  /** @name PalletSudoError (342) */
   interface PalletSudoError extends Enum {
     readonly isRequireSudo: boolean;
     readonly type: 'RequireSudo';
   }
 
-  /** @name OrmlVestingModuleError (334) */
+  /** @name OrmlVestingModuleError (344) */
   interface OrmlVestingModuleError extends Enum {
     readonly isZeroVestingPeriod: boolean;
     readonly isZeroVestingPeriodCount: boolean;
@@ -3067,7 +3188,7 @@
     readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
   }
 
-  /** @name OrmlXtokensModuleError (335) */
+  /** @name OrmlXtokensModuleError (345) */
   interface OrmlXtokensModuleError extends Enum {
     readonly isAssetHasNoReserve: boolean;
     readonly isNotCrossChainTransfer: boolean;
@@ -3091,26 +3212,26 @@
     readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
   }
 
-  /** @name OrmlTokensBalanceLock (338) */
+  /** @name OrmlTokensBalanceLock (348) */
   interface OrmlTokensBalanceLock extends Struct {
     readonly id: U8aFixed;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensAccountData (340) */
+  /** @name OrmlTokensAccountData (350) */
   interface OrmlTokensAccountData extends Struct {
     readonly free: u128;
     readonly reserved: u128;
     readonly frozen: u128;
   }
 
-  /** @name OrmlTokensReserveData (342) */
+  /** @name OrmlTokensReserveData (352) */
   interface OrmlTokensReserveData extends Struct {
     readonly id: Null;
     readonly amount: u128;
   }
 
-  /** @name OrmlTokensModuleError (344) */
+  /** @name OrmlTokensModuleError (354) */
   interface OrmlTokensModuleError extends Enum {
     readonly isBalanceTooLow: boolean;
     readonly isAmountIntoBalanceFailed: boolean;
@@ -3123,21 +3244,21 @@
     readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
   }
 
-  /** @name CumulusPalletXcmpQueueInboundChannelDetails (346) */
+  /** @name CumulusPalletXcmpQueueInboundChannelDetails (356) */
   interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
     readonly sender: u32;
     readonly state: CumulusPalletXcmpQueueInboundState;
     readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
   }
 
-  /** @name CumulusPalletXcmpQueueInboundState (347) */
+  /** @name CumulusPalletXcmpQueueInboundState (357) */
   interface CumulusPalletXcmpQueueInboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (350) */
+  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (360) */
   interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
     readonly isConcatenatedVersionedXcm: boolean;
     readonly isConcatenatedEncodedBlob: boolean;
@@ -3145,7 +3266,7 @@
     readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (353) */
+  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (363) */
   interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
     readonly recipient: u32;
     readonly state: CumulusPalletXcmpQueueOutboundState;
@@ -3154,14 +3275,14 @@
     readonly lastIndex: u16;
   }
 
-  /** @name CumulusPalletXcmpQueueOutboundState (354) */
+  /** @name CumulusPalletXcmpQueueOutboundState (364) */
   interface CumulusPalletXcmpQueueOutboundState extends Enum {
     readonly isOk: boolean;
     readonly isSuspended: boolean;
     readonly type: 'Ok' | 'Suspended';
   }
 
-  /** @name CumulusPalletXcmpQueueQueueConfigData (356) */
+  /** @name CumulusPalletXcmpQueueQueueConfigData (366) */
   interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
     readonly suspendThreshold: u32;
     readonly dropThreshold: u32;
@@ -3171,7 +3292,7 @@
     readonly xcmpMaxIndividualWeight: Weight;
   }
 
-  /** @name CumulusPalletXcmpQueueError (358) */
+  /** @name CumulusPalletXcmpQueueError (368) */
   interface CumulusPalletXcmpQueueError extends Enum {
     readonly isFailedToSend: boolean;
     readonly isBadXcmOrigin: boolean;
@@ -3181,7 +3302,7 @@
     readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
   }
 
-  /** @name PalletXcmError (359) */
+  /** @name PalletXcmError (369) */
   interface PalletXcmError extends Enum {
     readonly isUnreachable: boolean;
     readonly isSendFailure: boolean;
@@ -3199,29 +3320,29 @@
     readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
   }
 
-  /** @name CumulusPalletXcmError (360) */
+  /** @name CumulusPalletXcmError (370) */
   type CumulusPalletXcmError = Null;
 
-  /** @name CumulusPalletDmpQueueConfigData (361) */
+  /** @name CumulusPalletDmpQueueConfigData (371) */
   interface CumulusPalletDmpQueueConfigData extends Struct {
     readonly maxIndividual: Weight;
   }
 
-  /** @name CumulusPalletDmpQueuePageIndexData (362) */
+  /** @name CumulusPalletDmpQueuePageIndexData (372) */
   interface CumulusPalletDmpQueuePageIndexData extends Struct {
     readonly beginUsed: u32;
     readonly endUsed: u32;
     readonly overweightCount: u64;
   }
 
-  /** @name CumulusPalletDmpQueueError (365) */
+  /** @name CumulusPalletDmpQueueError (375) */
   interface CumulusPalletDmpQueueError extends Enum {
     readonly isUnknown: boolean;
     readonly isOverLimit: boolean;
     readonly type: 'Unknown' | 'OverLimit';
   }
 
-  /** @name PalletUniqueError (369) */
+  /** @name PalletUniqueError (379) */
   interface PalletUniqueError extends Enum {
     readonly isCollectionDecimalPointLimitExceeded: boolean;
     readonly isConfirmUnsetSponsorFail: boolean;
@@ -3230,7 +3351,75 @@
     readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
   }
 
-  /** @name UpDataStructsCollection (370) */
+  /** @name PalletUniqueSchedulerScheduledV3 (382) */
+  interface PalletUniqueSchedulerScheduledV3 extends Struct {
+    readonly maybeId: Option<U8aFixed>;
+    readonly priority: u8;
+    readonly call: FrameSupportScheduleMaybeHashed;
+    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+    readonly origin: OpalRuntimeOriginCaller;
+  }
+
+  /** @name OpalRuntimeOriginCaller (383) */
+  interface OpalRuntimeOriginCaller extends Enum {
+    readonly isSystem: boolean;
+    readonly asSystem: FrameSupportDispatchRawOrigin;
+    readonly isVoid: boolean;
+    readonly isPolkadotXcm: boolean;
+    readonly asPolkadotXcm: PalletXcmOrigin;
+    readonly isCumulusXcm: boolean;
+    readonly asCumulusXcm: CumulusPalletXcmOrigin;
+    readonly isEthereum: boolean;
+    readonly asEthereum: PalletEthereumRawOrigin;
+    readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';
+  }
+
+  /** @name FrameSupportDispatchRawOrigin (384) */
+  interface FrameSupportDispatchRawOrigin extends Enum {
+    readonly isRoot: boolean;
+    readonly isSigned: boolean;
+    readonly asSigned: AccountId32;
+    readonly isNone: boolean;
+    readonly type: 'Root' | 'Signed' | 'None';
+  }
+
+  /** @name PalletXcmOrigin (385) */
+  interface PalletXcmOrigin extends Enum {
+    readonly isXcm: boolean;
+    readonly asXcm: XcmV1MultiLocation;
+    readonly isResponse: boolean;
+    readonly asResponse: XcmV1MultiLocation;
+    readonly type: 'Xcm' | 'Response';
+  }
+
+  /** @name CumulusPalletXcmOrigin (386) */
+  interface CumulusPalletXcmOrigin extends Enum {
+    readonly isRelay: boolean;
+    readonly isSiblingParachain: boolean;
+    readonly asSiblingParachain: u32;
+    readonly type: 'Relay' | 'SiblingParachain';
+  }
+
+  /** @name PalletEthereumRawOrigin (387) */
+  interface PalletEthereumRawOrigin extends Enum {
+    readonly isEthereumTransaction: boolean;
+    readonly asEthereumTransaction: H160;
+    readonly type: 'EthereumTransaction';
+  }
+
+  /** @name SpCoreVoid (388) */
+  type SpCoreVoid = Null;
+
+  /** @name PalletUniqueSchedulerError (389) */
+  interface PalletUniqueSchedulerError extends Enum {
+    readonly isFailedToSchedule: boolean;
+    readonly isNotFound: boolean;
+    readonly isTargetBlockNumberInPast: boolean;
+    readonly isRescheduleNoChange: boolean;
+    readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';
+  }
+
+  /** @name UpDataStructsCollection (390) */
   interface UpDataStructsCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3243,7 +3432,7 @@
     readonly flags: U8aFixed;
   }
 
-  /** @name UpDataStructsSponsorshipStateAccountId32 (371) */
+  /** @name UpDataStructsSponsorshipStateAccountId32 (391) */
   interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3253,43 +3442,43 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name UpDataStructsProperties (373) */
+  /** @name UpDataStructsProperties (393) */
   interface UpDataStructsProperties extends Struct {
     readonly map: UpDataStructsPropertiesMapBoundedVec;
     readonly consumedSpace: u32;
     readonly spaceLimit: u32;
   }
 
-  /** @name UpDataStructsPropertiesMapBoundedVec (374) */
+  /** @name UpDataStructsPropertiesMapBoundedVec (394) */
   interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
 
-  /** @name UpDataStructsPropertiesMapPropertyPermission (379) */
+  /** @name UpDataStructsPropertiesMapPropertyPermission (399) */
   interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
 
-  /** @name UpDataStructsCollectionStats (386) */
+  /** @name UpDataStructsCollectionStats (406) */
   interface UpDataStructsCollectionStats extends Struct {
     readonly created: u32;
     readonly destroyed: u32;
     readonly alive: u32;
   }
 
-  /** @name UpDataStructsTokenChild (387) */
+  /** @name UpDataStructsTokenChild (407) */
   interface UpDataStructsTokenChild extends Struct {
     readonly token: u32;
     readonly collection: u32;
   }
 
-  /** @name PhantomTypeUpDataStructs (388) */
+  /** @name PhantomTypeUpDataStructs (408) */
   interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
 
-  /** @name UpDataStructsTokenData (390) */
+  /** @name UpDataStructsTokenData (410) */
   interface UpDataStructsTokenData extends Struct {
     readonly properties: Vec<UpDataStructsProperty>;
     readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
     readonly pieces: u128;
   }
 
-  /** @name UpDataStructsRpcCollection (392) */
+  /** @name UpDataStructsRpcCollection (412) */
   interface UpDataStructsRpcCollection extends Struct {
     readonly owner: AccountId32;
     readonly mode: UpDataStructsCollectionMode;
@@ -3305,13 +3494,13 @@
     readonly flags: UpDataStructsRpcCollectionFlags;
   }
 
-  /** @name UpDataStructsRpcCollectionFlags (393) */
+  /** @name UpDataStructsRpcCollectionFlags (413) */
   interface UpDataStructsRpcCollectionFlags extends Struct {
     readonly foreign: bool;
     readonly erc721metadata: bool;
   }
 
-  /** @name RmrkTraitsCollectionCollectionInfo (394) */
+  /** @name RmrkTraitsCollectionCollectionInfo (414) */
   interface RmrkTraitsCollectionCollectionInfo extends Struct {
     readonly issuer: AccountId32;
     readonly metadata: Bytes;
@@ -3320,7 +3509,7 @@
     readonly nftsCount: u32;
   }
 
-  /** @name RmrkTraitsNftNftInfo (395) */
+  /** @name RmrkTraitsNftNftInfo (415) */
   interface RmrkTraitsNftNftInfo extends Struct {
     readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
     readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
@@ -3329,13 +3518,13 @@
     readonly pending: bool;
   }
 
-  /** @name RmrkTraitsNftRoyaltyInfo (397) */
+  /** @name RmrkTraitsNftRoyaltyInfo (417) */
   interface RmrkTraitsNftRoyaltyInfo extends Struct {
     readonly recipient: AccountId32;
     readonly amount: Permill;
   }
 
-  /** @name RmrkTraitsResourceResourceInfo (398) */
+  /** @name RmrkTraitsResourceResourceInfo (418) */
   interface RmrkTraitsResourceResourceInfo extends Struct {
     readonly id: u32;
     readonly resource: RmrkTraitsResourceResourceTypes;
@@ -3343,26 +3532,26 @@
     readonly pendingRemoval: bool;
   }
 
-  /** @name RmrkTraitsPropertyPropertyInfo (399) */
+  /** @name RmrkTraitsPropertyPropertyInfo (419) */
   interface RmrkTraitsPropertyPropertyInfo extends Struct {
     readonly key: Bytes;
     readonly value: Bytes;
   }
 
-  /** @name RmrkTraitsBaseBaseInfo (400) */
+  /** @name RmrkTraitsBaseBaseInfo (420) */
   interface RmrkTraitsBaseBaseInfo extends Struct {
     readonly issuer: AccountId32;
     readonly baseType: Bytes;
     readonly symbol: Bytes;
   }
 
-  /** @name RmrkTraitsNftNftChild (401) */
+  /** @name RmrkTraitsNftNftChild (421) */
   interface RmrkTraitsNftNftChild extends Struct {
     readonly collectionId: u32;
     readonly nftId: u32;
   }
 
-  /** @name PalletCommonError (403) */
+  /** @name PalletCommonError (423) */
   interface PalletCommonError extends Enum {
     readonly isCollectionNotFound: boolean;
     readonly isMustBeTokenOwner: boolean;
@@ -3401,7 +3590,7 @@
     readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal';
   }
 
-  /** @name PalletFungibleError (405) */
+  /** @name PalletFungibleError (425) */
   interface PalletFungibleError extends Enum {
     readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isFungibleItemsHaveNoId: boolean;
@@ -3411,12 +3600,12 @@
     readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletRefungibleItemData (406) */
+  /** @name PalletRefungibleItemData (426) */
   interface PalletRefungibleItemData extends Struct {
     readonly constData: Bytes;
   }
 
-  /** @name PalletRefungibleError (411) */
+  /** @name PalletRefungibleError (431) */
   interface PalletRefungibleError extends Enum {
     readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isWrongRefungiblePieces: boolean;
@@ -3426,19 +3615,19 @@
     readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
   }
 
-  /** @name PalletNonfungibleItemData (412) */
+  /** @name PalletNonfungibleItemData (432) */
   interface PalletNonfungibleItemData extends Struct {
     readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
   }
 
-  /** @name UpDataStructsPropertyScope (414) */
+  /** @name UpDataStructsPropertyScope (434) */
   interface UpDataStructsPropertyScope extends Enum {
     readonly isNone: boolean;
     readonly isRmrk: boolean;
     readonly type: 'None' | 'Rmrk';
   }
 
-  /** @name PalletNonfungibleError (416) */
+  /** @name PalletNonfungibleError (436) */
   interface PalletNonfungibleError extends Enum {
     readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
     readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3446,7 +3635,7 @@
     readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
   }
 
-  /** @name PalletStructureError (417) */
+  /** @name PalletStructureError (437) */
   interface PalletStructureError extends Enum {
     readonly isOuroborosDetected: boolean;
     readonly isDepthLimit: boolean;
@@ -3455,7 +3644,7 @@
     readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
   }
 
-  /** @name PalletRmrkCoreError (418) */
+  /** @name PalletRmrkCoreError (438) */
   interface PalletRmrkCoreError extends Enum {
     readonly isCorruptedCollectionType: boolean;
     readonly isRmrkPropertyKeyIsTooLong: boolean;
@@ -3479,7 +3668,7 @@
     readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
   }
 
-  /** @name PalletRmrkEquipError (420) */
+  /** @name PalletRmrkEquipError (440) */
   interface PalletRmrkEquipError extends Enum {
     readonly isPermissionError: boolean;
     readonly isNoAvailableBaseId: boolean;
@@ -3491,7 +3680,7 @@
     readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
   }
 
-  /** @name PalletAppPromotionError (426) */
+  /** @name PalletAppPromotionError (446) */
   interface PalletAppPromotionError extends Enum {
     readonly isAdminNotSet: boolean;
     readonly isNoPermission: boolean;
@@ -3502,7 +3691,7 @@
     readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
   }
 
-  /** @name PalletForeignAssetsModuleError (427) */
+  /** @name PalletForeignAssetsModuleError (447) */
   interface PalletForeignAssetsModuleError extends Enum {
     readonly isBadLocation: boolean;
     readonly isMultiLocationExisted: boolean;
@@ -3511,7 +3700,7 @@
     readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
   }
 
-  /** @name PalletEvmError (430) */
+  /** @name PalletEvmError (450) */
   interface PalletEvmError extends Enum {
     readonly isBalanceLow: boolean;
     readonly isFeeOverflow: boolean;
@@ -3522,7 +3711,7 @@
     readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
   }
 
-  /** @name FpRpcTransactionStatus (433) */
+  /** @name FpRpcTransactionStatus (453) */
   interface FpRpcTransactionStatus extends Struct {
     readonly transactionHash: H256;
     readonly transactionIndex: u32;
@@ -3533,10 +3722,10 @@
     readonly logsBloom: EthbloomBloom;
   }
 
-  /** @name EthbloomBloom (435) */
+  /** @name EthbloomBloom (455) */
   interface EthbloomBloom extends U8aFixed {}
 
-  /** @name EthereumReceiptReceiptV3 (437) */
+  /** @name EthereumReceiptReceiptV3 (457) */
   interface EthereumReceiptReceiptV3 extends Enum {
     readonly isLegacy: boolean;
     readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3547,7 +3736,7 @@
     readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
   }
 
-  /** @name EthereumReceiptEip658ReceiptData (438) */
+  /** @name EthereumReceiptEip658ReceiptData (458) */
   interface EthereumReceiptEip658ReceiptData extends Struct {
     readonly statusCode: u8;
     readonly usedGas: U256;
@@ -3555,14 +3744,14 @@
     readonly logs: Vec<EthereumLog>;
   }
 
-  /** @name EthereumBlock (439) */
+  /** @name EthereumBlock (459) */
   interface EthereumBlock extends Struct {
     readonly header: EthereumHeader;
     readonly transactions: Vec<EthereumTransactionTransactionV2>;
     readonly ommers: Vec<EthereumHeader>;
   }
 
-  /** @name EthereumHeader (440) */
+  /** @name EthereumHeader (460) */
   interface EthereumHeader extends Struct {
     readonly parentHash: H256;
     readonly ommersHash: H256;
@@ -3581,24 +3770,24 @@
     readonly nonce: EthereumTypesHashH64;
   }
 
-  /** @name EthereumTypesHashH64 (441) */
+  /** @name EthereumTypesHashH64 (461) */
   interface EthereumTypesHashH64 extends U8aFixed {}
 
-  /** @name PalletEthereumError (446) */
+  /** @name PalletEthereumError (466) */
   interface PalletEthereumError extends Enum {
     readonly isInvalidSignature: boolean;
     readonly isPreLogExists: boolean;
     readonly type: 'InvalidSignature' | 'PreLogExists';
   }
 
-  /** @name PalletEvmCoderSubstrateError (447) */
+  /** @name PalletEvmCoderSubstrateError (467) */
   interface PalletEvmCoderSubstrateError extends Enum {
     readonly isOutOfGas: boolean;
     readonly isOutOfFund: boolean;
     readonly type: 'OutOfGas' | 'OutOfFund';
   }
 
-  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (448) */
+  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (468) */
   interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
     readonly isDisabled: boolean;
     readonly isUnconfirmed: boolean;
@@ -3608,7 +3797,7 @@
     readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
   }
 
-  /** @name PalletEvmContractHelpersSponsoringModeT (449) */
+  /** @name PalletEvmContractHelpersSponsoringModeT (469) */
   interface PalletEvmContractHelpersSponsoringModeT extends Enum {
     readonly isDisabled: boolean;
     readonly isAllowlisted: boolean;
@@ -3616,7 +3805,7 @@
     readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
   }
 
-  /** @name PalletEvmContractHelpersError (455) */
+  /** @name PalletEvmContractHelpersError (475) */
   interface PalletEvmContractHelpersError extends Enum {
     readonly isNoPermission: boolean;
     readonly isNoPendingSponsor: boolean;
@@ -3624,14 +3813,24 @@
     readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
   }
 
-  /** @name PalletEvmMigrationError (456) */
+  /** @name PalletEvmMigrationError (476) */
   interface PalletEvmMigrationError extends Enum {
     readonly isAccountNotEmpty: boolean;
     readonly isAccountIsNotMigrating: boolean;
     readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
   }
 
-  /** @name SpRuntimeMultiSignature (458) */
+  /** @name PalletMaintenanceError (477) */
+  type PalletMaintenanceError = Null;
+
+  /** @name PalletTestUtilsError (478) */
+  interface PalletTestUtilsError extends Enum {
+    readonly isTestPalletDisabled: boolean;
+    readonly isTriggerRollback: boolean;
+    readonly type: 'TestPalletDisabled' | 'TriggerRollback';
+  }
+
+  /** @name SpRuntimeMultiSignature (480) */
   interface SpRuntimeMultiSignature extends Enum {
     readonly isEd25519: boolean;
     readonly asEd25519: SpCoreEd25519Signature;
@@ -3642,37 +3841,40 @@
     readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
   }
 
-  /** @name SpCoreEd25519Signature (459) */
+  /** @name SpCoreEd25519Signature (481) */
   interface SpCoreEd25519Signature extends U8aFixed {}
 
-  /** @name SpCoreSr25519Signature (461) */
+  /** @name SpCoreSr25519Signature (483) */
   interface SpCoreSr25519Signature extends U8aFixed {}
 
-  /** @name SpCoreEcdsaSignature (462) */
+  /** @name SpCoreEcdsaSignature (484) */
   interface SpCoreEcdsaSignature extends U8aFixed {}
 
-  /** @name FrameSystemExtensionsCheckSpecVersion (465) */
+  /** @name FrameSystemExtensionsCheckSpecVersion (487) */
   type FrameSystemExtensionsCheckSpecVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckTxVersion (466) */
+  /** @name FrameSystemExtensionsCheckTxVersion (488) */
   type FrameSystemExtensionsCheckTxVersion = Null;
 
-  /** @name FrameSystemExtensionsCheckGenesis (467) */
+  /** @name FrameSystemExtensionsCheckGenesis (489) */
   type FrameSystemExtensionsCheckGenesis = Null;
 
-  /** @name FrameSystemExtensionsCheckNonce (470) */
+  /** @name FrameSystemExtensionsCheckNonce (492) */
   interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
 
-  /** @name FrameSystemExtensionsCheckWeight (471) */
+  /** @name FrameSystemExtensionsCheckWeight (493) */
   type FrameSystemExtensionsCheckWeight = Null;
 
-  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (472) */
+  /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (494) */
+  type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
+
+  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (495) */
   interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
 
-  /** @name OpalRuntimeRuntime (473) */
+  /** @name OpalRuntimeRuntime (496) */
   type OpalRuntimeRuntime = Null;
 
-  /** @name PalletEthereumFakeTransactionFinalizer (474) */
+  /** @name PalletEthereumFakeTransactionFinalizer (497) */
   type PalletEthereumFakeTransactionFinalizer = Null;
 
 } // declare module
addedtests/src/maintenanceMode.seqtest.tsdiffbeforeafterboth
--- /dev/null
+++ b/tests/src/maintenanceMode.seqtest.ts
@@ -0,0 +1,266 @@
+// 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, 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;
+  });
+
+  itSub.ifWithPallets('MM blocks scheduled calls and the scheduler itself', [Pallets.Scheduler], async ({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 = '0x' + '0'.repeat(31) + '0';
+    const scheduledIdDuringMM = '0x' + '0'.repeat(31) + '1';
+    const scheduledIdBunkerThroughMM = '0x' + '0'.repeat(31) + '2';
+    const scheduledIdAttemptDuringMM = '0x' + '0'.repeat(31) + '3';
+    const scheduledIdAfterMM = '0x' + '0'.repeat(31) + '4';
+
+    const blocksToWait = 6;
+
+    // Scheduling works before the maintenance
+    await nftBeforeMM.scheduleAfter(scheduledIdBeforeMM, blocksToWait)
+      .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(scheduledIdDuringMM, blocksToWait)
+      .transfer(bob, {Substrate: superuser.address});
+    
+    // Schedule a transaction that should occur *after* the maintenance
+    await nftDuringMM.scheduleAfter(scheduledIdBunkerThroughMM, blocksToWait * 2)
+      .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(scheduledIdAttemptDuringMM, blocksToWait)
+      .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(scheduledIdAfterMM, blocksToWait)
+      .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 = 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(/submit transaction to pool failed: Pool\(InvalidTransaction\(InvalidTransaction::Call\)\)/);
+
+    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
@@ -47,6 +47,7 @@
   'configuration',
   'tokens',
   'xtokens',
+  'maintenance',
 ];
 
 // Pallets that depend on consensus and governance configuration
modifiedtests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth
--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -86,6 +86,10 @@
           extrinsic: {},
           payload: {},
         },
+        CheckMaintenance: {
+          extrinsic: {},
+          payload: {},
+        },
         FakeTransactionFinalizer: {
           extrinsic: {},
           payload: {},