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
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1004,8 +1004,44 @@
     }
   },
   /**
-   * Lookup93: pallet_common::pallet::Event<T>
+   * Lookup93: pallet_unique_scheduler::pallet::Event<T>
    **/
+  PalletUniqueSchedulerEvent: {
+    _enum: {
+      Scheduled: {
+        when: 'u32',
+        index: 'u32',
+      },
+      Canceled: {
+        when: 'u32',
+        index: 'u32',
+      },
+      PriorityChanged: {
+        when: 'u32',
+        index: 'u32',
+        priority: 'u8',
+      },
+      Dispatched: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;16]>',
+        result: 'Result<Null, SpRuntimeDispatchError>',
+      },
+      CallLookupFailed: {
+        task: '(u32,u32)',
+        id: 'Option<[u8;16]>',
+        error: 'FrameSupportScheduleLookupError'
+      }
+    }
+  },
+  /**
+   * Lookup96: frame_support::traits::schedule::LookupError
+   **/
+  FrameSupportScheduleLookupError: {
+    _enum: ['Unknown', 'BadFormat']
+  },
+  /**
+   * Lookup97: pallet_common::pallet::Event<T>
+   **/
   PalletCommonEvent: {
     _enum: {
       CollectionCreated: '(u32,u8,AccountId32)',
@@ -1022,7 +1058,7 @@
     }
   },
   /**
-   * Lookup96: pallet_structure::pallet::Event<T>
+   * Lookup100: pallet_structure::pallet::Event<T>
    **/
   PalletStructureEvent: {
     _enum: {
@@ -1030,7 +1066,7 @@
     }
   },
   /**
-   * Lookup97: pallet_rmrk_core::pallet::Event<T>
+   * Lookup101: pallet_rmrk_core::pallet::Event<T>
    **/
   PalletRmrkCoreEvent: {
     _enum: {
@@ -1107,7 +1143,7 @@
     }
   },
   /**
-   * Lookup98: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
+   * Lookup102: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>
    **/
   RmrkTraitsNftAccountIdOrCollectionNftTuple: {
     _enum: {
@@ -1116,7 +1152,7 @@
     }
   },
   /**
-   * Lookup103: pallet_rmrk_equip::pallet::Event<T>
+   * Lookup107: pallet_rmrk_equip::pallet::Event<T>
    **/
   PalletRmrkEquipEvent: {
     _enum: {
@@ -1131,7 +1167,7 @@
     }
   },
   /**
-   * Lookup104: pallet_app_promotion::pallet::Event<T>
+   * Lookup108: pallet_app_promotion::pallet::Event<T>
    **/
   PalletAppPromotionEvent: {
     _enum: {
@@ -1142,7 +1178,7 @@
     }
   },
   /**
-   * Lookup105: pallet_foreign_assets::module::Event<T>
+   * Lookup109: pallet_foreign_assets::module::Event<T>
    **/
   PalletForeignAssetsModuleEvent: {
     _enum: {
@@ -1167,7 +1203,7 @@
     }
   },
   /**
-   * Lookup106: pallet_foreign_assets::module::AssetMetadata<Balance>
+   * Lookup110: pallet_foreign_assets::module::AssetMetadata<Balance>
    **/
   PalletForeignAssetsModuleAssetMetadata: {
     name: 'Bytes',
@@ -1176,7 +1212,7 @@
     minimalBalance: 'u128'
   },
   /**
-   * Lookup107: pallet_evm::pallet::Event<T>
+   * Lookup111: pallet_evm::pallet::Event<T>
    **/
   PalletEvmEvent: {
     _enum: {
@@ -1190,7 +1226,7 @@
     }
   },
   /**
-   * Lookup108: ethereum::log::Log
+   * Lookup112: ethereum::log::Log
    **/
   EthereumLog: {
     address: 'H160',
@@ -1198,7 +1234,7 @@
     data: 'Bytes'
   },
   /**
-   * Lookup112: pallet_ethereum::pallet::Event
+   * Lookup116: pallet_ethereum::pallet::Event
    **/
   PalletEthereumEvent: {
     _enum: {
@@ -1206,7 +1242,7 @@
     }
   },
   /**
-   * Lookup113: evm_core::error::ExitReason
+   * Lookup117: evm_core::error::ExitReason
    **/
   EvmCoreErrorExitReason: {
     _enum: {
@@ -1217,13 +1253,13 @@
     }
   },
   /**
-   * Lookup114: evm_core::error::ExitSucceed
+   * Lookup118: evm_core::error::ExitSucceed
    **/
   EvmCoreErrorExitSucceed: {
     _enum: ['Stopped', 'Returned', 'Suicided']
   },
   /**
-   * Lookup115: evm_core::error::ExitError
+   * Lookup119: evm_core::error::ExitError
    **/
   EvmCoreErrorExitError: {
     _enum: {
@@ -1245,13 +1281,13 @@
     }
   },
   /**
-   * Lookup118: evm_core::error::ExitRevert
+   * Lookup122: evm_core::error::ExitRevert
    **/
   EvmCoreErrorExitRevert: {
     _enum: ['Reverted']
   },
   /**
-   * Lookup119: evm_core::error::ExitFatal
+   * Lookup123: evm_core::error::ExitFatal
    **/
   EvmCoreErrorExitFatal: {
     _enum: {
@@ -1262,7 +1298,7 @@
     }
   },
   /**
-   * Lookup120: pallet_evm_contract_helpers::pallet::Event<T>
+   * Lookup124: pallet_evm_contract_helpers::pallet::Event<T>
    **/
   PalletEvmContractHelpersEvent: {
     _enum: {
@@ -1272,8 +1308,20 @@
     }
   },
   /**
-   * Lookup121: frame_system::Phase
+   * Lookup125: pallet_maintenance::pallet::Event<T>
    **/
+  PalletMaintenanceEvent: {
+    _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']
+  },
+  /**
+   * Lookup126: pallet_test_utils::pallet::Event<T>
+   **/
+  PalletTestUtilsEvent: {
+    _enum: ['ValueIsSet', 'ShouldRollback']
+  },
+  /**
+   * Lookup127: frame_system::Phase
+   **/
   FrameSystemPhase: {
     _enum: {
       ApplyExtrinsic: 'u32',
@@ -1282,14 +1330,14 @@
     }
   },
   /**
-   * Lookup124: frame_system::LastRuntimeUpgradeInfo
+   * Lookup129: frame_system::LastRuntimeUpgradeInfo
    **/
   FrameSystemLastRuntimeUpgradeInfo: {
     specVersion: 'Compact<u32>',
     specName: 'Text'
   },
   /**
-   * Lookup125: frame_system::pallet::Call<T>
+   * Lookup130: frame_system::pallet::Call<T>
    **/
   FrameSystemCall: {
     _enum: {
@@ -1327,7 +1375,7 @@
     }
   },
   /**
-   * Lookup130: frame_system::limits::BlockWeights
+   * Lookup135: frame_system::limits::BlockWeights
    **/
   FrameSystemLimitsBlockWeights: {
     baseBlock: 'Weight',
@@ -1335,7 +1383,7 @@
     perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'
   },
   /**
-   * Lookup131: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
+   * Lookup136: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>
    **/
   FrameSupportDispatchPerDispatchClassWeightsPerClass: {
     normal: 'FrameSystemLimitsWeightsPerClass',
@@ -1343,7 +1391,7 @@
     mandatory: 'FrameSystemLimitsWeightsPerClass'
   },
   /**
-   * Lookup132: frame_system::limits::WeightsPerClass
+   * Lookup137: frame_system::limits::WeightsPerClass
    **/
   FrameSystemLimitsWeightsPerClass: {
     baseExtrinsic: 'Weight',
@@ -1352,13 +1400,13 @@
     reserved: 'Option<Weight>'
   },
   /**
-   * Lookup134: frame_system::limits::BlockLength
+   * Lookup139: frame_system::limits::BlockLength
    **/
   FrameSystemLimitsBlockLength: {
     max: 'FrameSupportDispatchPerDispatchClassU32'
   },
   /**
-   * Lookup135: frame_support::dispatch::PerDispatchClass<T>
+   * Lookup140: frame_support::dispatch::PerDispatchClass<T>
    **/
   FrameSupportDispatchPerDispatchClassU32: {
     normal: 'u32',
@@ -1366,14 +1414,14 @@
     mandatory: 'u32'
   },
   /**
-   * Lookup136: sp_weights::RuntimeDbWeight
+   * Lookup141: sp_weights::RuntimeDbWeight
    **/
   SpWeightsRuntimeDbWeight: {
     read: 'u64',
     write: 'u64'
   },
   /**
-   * Lookup137: sp_version::RuntimeVersion
+   * Lookup142: sp_version::RuntimeVersion
    **/
   SpVersionRuntimeVersion: {
     specName: 'Text',
@@ -1386,13 +1434,13 @@
     stateVersion: 'u8'
   },
   /**
-   * Lookup142: frame_system::pallet::Error<T>
+   * Lookup147: frame_system::pallet::Error<T>
    **/
   FrameSystemError: {
     _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']
   },
   /**
-   * Lookup143: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
+   * Lookup148: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>
    **/
   PolkadotPrimitivesV2PersistedValidationData: {
     parentHead: 'Bytes',
@@ -1401,19 +1449,19 @@
     maxPovSize: 'u32'
   },
   /**
-   * Lookup146: polkadot_primitives::v2::UpgradeRestriction
+   * Lookup151: polkadot_primitives::v2::UpgradeRestriction
    **/
   PolkadotPrimitivesV2UpgradeRestriction: {
     _enum: ['Present']
   },
   /**
-   * Lookup147: sp_trie::storage_proof::StorageProof
+   * Lookup152: sp_trie::storage_proof::StorageProof
    **/
   SpTrieStorageProof: {
     trieNodes: 'BTreeSet<Bytes>'
   },
   /**
-   * Lookup149: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
+   * Lookup154: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot
    **/
   CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {
     dmqMqcHead: 'H256',
@@ -1422,7 +1470,7 @@
     egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'
   },
   /**
-   * Lookup152: polkadot_primitives::v2::AbridgedHrmpChannel
+   * Lookup157: polkadot_primitives::v2::AbridgedHrmpChannel
    **/
   PolkadotPrimitivesV2AbridgedHrmpChannel: {
     maxCapacity: 'u32',
@@ -1433,7 +1481,7 @@
     mqcHead: 'Option<H256>'
   },
   /**
-   * Lookup153: polkadot_primitives::v2::AbridgedHostConfiguration
+   * Lookup158: polkadot_primitives::v2::AbridgedHostConfiguration
    **/
   PolkadotPrimitivesV2AbridgedHostConfiguration: {
     maxCodeSize: 'u32',
@@ -1447,14 +1495,14 @@
     validationUpgradeDelay: 'u32'
   },
   /**
-   * Lookup159: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
+   * Lookup164: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>
    **/
   PolkadotCorePrimitivesOutboundHrmpMessage: {
     recipient: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup160: cumulus_pallet_parachain_system::pallet::Call<T>
+   * Lookup165: cumulus_pallet_parachain_system::pallet::Call<T>
    **/
   CumulusPalletParachainSystemCall: {
     _enum: {
@@ -1473,7 +1521,7 @@
     }
   },
   /**
-   * Lookup161: cumulus_primitives_parachain_inherent::ParachainInherentData
+   * Lookup166: cumulus_primitives_parachain_inherent::ParachainInherentData
    **/
   CumulusPrimitivesParachainInherentParachainInherentData: {
     validationData: 'PolkadotPrimitivesV2PersistedValidationData',
@@ -1482,27 +1530,27 @@
     horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'
   },
   /**
-   * Lookup163: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
+   * Lookup168: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundDownwardMessage: {
     sentAt: 'u32',
     msg: 'Bytes'
   },
   /**
-   * Lookup166: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
+   * Lookup171: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>
    **/
   PolkadotCorePrimitivesInboundHrmpMessage: {
     sentAt: 'u32',
     data: 'Bytes'
   },
   /**
-   * Lookup169: cumulus_pallet_parachain_system::pallet::Error<T>
+   * Lookup174: cumulus_pallet_parachain_system::pallet::Error<T>
    **/
   CumulusPalletParachainSystemError: {
     _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']
   },
   /**
-   * Lookup171: pallet_balances::BalanceLock<Balance>
+   * Lookup176: pallet_balances::BalanceLock<Balance>
    **/
   PalletBalancesBalanceLock: {
     id: '[u8;8]',
@@ -1510,26 +1558,26 @@
     reasons: 'PalletBalancesReasons'
   },
   /**
-   * Lookup172: pallet_balances::Reasons
+   * Lookup177: pallet_balances::Reasons
    **/
   PalletBalancesReasons: {
     _enum: ['Fee', 'Misc', 'All']
   },
   /**
-   * Lookup175: pallet_balances::ReserveData<ReserveIdentifier, Balance>
+   * Lookup180: pallet_balances::ReserveData<ReserveIdentifier, Balance>
    **/
   PalletBalancesReserveData: {
     id: '[u8;16]',
     amount: 'u128'
   },
   /**
-   * Lookup177: pallet_balances::Releases
+   * Lookup182: pallet_balances::Releases
    **/
   PalletBalancesReleases: {
     _enum: ['V1_0_0', 'V2_0_0']
   },
   /**
-   * Lookup178: pallet_balances::pallet::Call<T, I>
+   * Lookup183: pallet_balances::pallet::Call<T, I>
    **/
   PalletBalancesCall: {
     _enum: {
@@ -1562,13 +1610,13 @@
     }
   },
   /**
-   * Lookup181: pallet_balances::pallet::Error<T, I>
+   * Lookup186: pallet_balances::pallet::Error<T, I>
    **/
   PalletBalancesError: {
     _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup183: pallet_timestamp::pallet::Call<T>
+   * Lookup188: pallet_timestamp::pallet::Call<T>
    **/
   PalletTimestampCall: {
     _enum: {
@@ -1578,13 +1626,13 @@
     }
   },
   /**
-   * Lookup185: pallet_transaction_payment::Releases
+   * Lookup190: pallet_transaction_payment::Releases
    **/
   PalletTransactionPaymentReleases: {
     _enum: ['V1Ancient', 'V2']
   },
   /**
-   * Lookup186: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
+   * Lookup191: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>
    **/
   PalletTreasuryProposal: {
     proposer: 'AccountId32',
@@ -1593,7 +1641,7 @@
     bond: 'u128'
   },
   /**
-   * Lookup189: pallet_treasury::pallet::Call<T, I>
+   * Lookup194: pallet_treasury::pallet::Call<T, I>
    **/
   PalletTreasuryCall: {
     _enum: {
@@ -1617,17 +1665,17 @@
     }
   },
   /**
-   * Lookup192: frame_support::PalletId
+   * Lookup197: frame_support::PalletId
    **/
   FrameSupportPalletId: '[u8;8]',
   /**
-   * Lookup193: pallet_treasury::pallet::Error<T, I>
+   * Lookup198: pallet_treasury::pallet::Error<T, I>
    **/
   PalletTreasuryError: {
     _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']
   },
   /**
-   * Lookup194: pallet_sudo::pallet::Call<T>
+   * Lookup199: pallet_sudo::pallet::Call<T>
    **/
   PalletSudoCall: {
     _enum: {
@@ -1651,7 +1699,7 @@
     }
   },
   /**
-   * Lookup196: orml_vesting::module::Call<T>
+   * Lookup201: orml_vesting::module::Call<T>
    **/
   OrmlVestingModuleCall: {
     _enum: {
@@ -1670,7 +1718,7 @@
     }
   },
   /**
-   * Lookup198: orml_xtokens::module::Call<T>
+   * Lookup203: orml_xtokens::module::Call<T>
    **/
   OrmlXtokensModuleCall: {
     _enum: {
@@ -1713,7 +1761,7 @@
     }
   },
   /**
-   * Lookup199: xcm::VersionedMultiAsset
+   * Lookup204: xcm::VersionedMultiAsset
    **/
   XcmVersionedMultiAsset: {
     _enum: {
@@ -1722,7 +1770,7 @@
     }
   },
   /**
-   * Lookup202: orml_tokens::module::Call<T>
+   * Lookup207: orml_tokens::module::Call<T>
    **/
   OrmlTokensModuleCall: {
     _enum: {
@@ -1756,7 +1804,7 @@
     }
   },
   /**
-   * Lookup203: cumulus_pallet_xcmp_queue::pallet::Call<T>
+   * Lookup208: cumulus_pallet_xcmp_queue::pallet::Call<T>
    **/
   CumulusPalletXcmpQueueCall: {
     _enum: {
@@ -1805,7 +1853,7 @@
     }
   },
   /**
-   * Lookup204: pallet_xcm::pallet::Call<T>
+   * Lookup209: pallet_xcm::pallet::Call<T>
    **/
   PalletXcmCall: {
     _enum: {
@@ -1859,7 +1907,7 @@
     }
   },
   /**
-   * Lookup205: xcm::VersionedXcm<RuntimeCall>
+   * Lookup210: xcm::VersionedXcm<RuntimeCall>
    **/
   XcmVersionedXcm: {
     _enum: {
@@ -1869,7 +1917,7 @@
     }
   },
   /**
-   * Lookup206: xcm::v0::Xcm<RuntimeCall>
+   * Lookup211: xcm::v0::Xcm<RuntimeCall>
    **/
   XcmV0Xcm: {
     _enum: {
@@ -1923,7 +1971,7 @@
     }
   },
   /**
-   * Lookup208: xcm::v0::order::Order<RuntimeCall>
+   * Lookup213: xcm::v0::order::Order<RuntimeCall>
    **/
   XcmV0Order: {
     _enum: {
@@ -1966,7 +2014,7 @@
     }
   },
   /**
-   * Lookup210: xcm::v0::Response
+   * Lookup215: xcm::v0::Response
    **/
   XcmV0Response: {
     _enum: {
@@ -1974,7 +2022,7 @@
     }
   },
   /**
-   * Lookup211: xcm::v1::Xcm<RuntimeCall>
+   * Lookup216: xcm::v1::Xcm<RuntimeCall>
    **/
   XcmV1Xcm: {
     _enum: {
@@ -2033,7 +2081,7 @@
     }
   },
   /**
-   * Lookup213: xcm::v1::order::Order<RuntimeCall>
+   * Lookup218: xcm::v1::order::Order<RuntimeCall>
    **/
   XcmV1Order: {
     _enum: {
@@ -2078,7 +2126,7 @@
     }
   },
   /**
-   * Lookup215: xcm::v1::Response
+   * Lookup220: xcm::v1::Response
    **/
   XcmV1Response: {
     _enum: {
@@ -2087,11 +2135,11 @@
     }
   },
   /**
-   * Lookup229: cumulus_pallet_xcm::pallet::Call<T>
+   * Lookup234: cumulus_pallet_xcm::pallet::Call<T>
    **/
   CumulusPalletXcmCall: 'Null',
   /**
-   * Lookup230: cumulus_pallet_dmp_queue::pallet::Call<T>
+   * Lookup235: cumulus_pallet_dmp_queue::pallet::Call<T>
    **/
   CumulusPalletDmpQueueCall: {
     _enum: {
@@ -2102,7 +2150,7 @@
     }
   },
   /**
-   * Lookup231: pallet_inflation::pallet::Call<T>
+   * Lookup236: pallet_inflation::pallet::Call<T>
    **/
   PalletInflationCall: {
     _enum: {
@@ -2112,7 +2160,7 @@
     }
   },
   /**
-   * Lookup232: pallet_unique::Call<T>
+   * Lookup237: pallet_unique::Call<T>
    **/
   PalletUniqueCall: {
     _enum: {
@@ -2244,7 +2292,7 @@
     }
   },
   /**
-   * Lookup237: up_data_structs::CollectionMode
+   * Lookup242: up_data_structs::CollectionMode
    **/
   UpDataStructsCollectionMode: {
     _enum: {
@@ -2254,7 +2302,7 @@
     }
   },
   /**
-   * Lookup238: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
+   * Lookup243: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>
    **/
   UpDataStructsCreateCollectionData: {
     mode: 'UpDataStructsCollectionMode',
@@ -2269,13 +2317,13 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup240: up_data_structs::AccessMode
+   * Lookup245: up_data_structs::AccessMode
    **/
   UpDataStructsAccessMode: {
     _enum: ['Normal', 'AllowList']
   },
   /**
-   * Lookup242: up_data_structs::CollectionLimits
+   * Lookup247: up_data_structs::CollectionLimits
    **/
   UpDataStructsCollectionLimits: {
     accountTokenOwnershipLimit: 'Option<u32>',
@@ -2289,7 +2337,7 @@
     transfersEnabled: 'Option<bool>'
   },
   /**
-   * Lookup244: up_data_structs::SponsoringRateLimit
+   * Lookup249: up_data_structs::SponsoringRateLimit
    **/
   UpDataStructsSponsoringRateLimit: {
     _enum: {
@@ -2298,7 +2346,7 @@
     }
   },
   /**
-   * Lookup247: up_data_structs::CollectionPermissions
+   * Lookup252: up_data_structs::CollectionPermissions
    **/
   UpDataStructsCollectionPermissions: {
     access: 'Option<UpDataStructsAccessMode>',
@@ -2306,7 +2354,7 @@
     nesting: 'Option<UpDataStructsNestingPermissions>'
   },
   /**
-   * Lookup249: up_data_structs::NestingPermissions
+   * Lookup254: up_data_structs::NestingPermissions
    **/
   UpDataStructsNestingPermissions: {
     tokenOwner: 'bool',
@@ -2314,18 +2362,18 @@
     restricted: 'Option<UpDataStructsOwnerRestrictedSet>'
   },
   /**
-   * Lookup251: up_data_structs::OwnerRestrictedSet
+   * Lookup256: up_data_structs::OwnerRestrictedSet
    **/
   UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',
   /**
-   * Lookup256: up_data_structs::PropertyKeyPermission
+   * Lookup261: up_data_structs::PropertyKeyPermission
    **/
   UpDataStructsPropertyKeyPermission: {
     key: 'Bytes',
     permission: 'UpDataStructsPropertyPermission'
   },
   /**
-   * Lookup257: up_data_structs::PropertyPermission
+   * Lookup262: up_data_structs::PropertyPermission
    **/
   UpDataStructsPropertyPermission: {
     mutable: 'bool',
@@ -2333,14 +2381,14 @@
     tokenOwner: 'bool'
   },
   /**
-   * Lookup260: up_data_structs::Property
+   * Lookup265: up_data_structs::Property
    **/
   UpDataStructsProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup263: up_data_structs::CreateItemData
+   * Lookup268: up_data_structs::CreateItemData
    **/
   UpDataStructsCreateItemData: {
     _enum: {
@@ -2350,26 +2398,26 @@
     }
   },
   /**
-   * Lookup264: up_data_structs::CreateNftData
+   * Lookup269: up_data_structs::CreateNftData
    **/
   UpDataStructsCreateNftData: {
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup265: up_data_structs::CreateFungibleData
+   * Lookup270: up_data_structs::CreateFungibleData
    **/
   UpDataStructsCreateFungibleData: {
     value: 'u128'
   },
   /**
-   * Lookup266: up_data_structs::CreateReFungibleData
+   * Lookup271: up_data_structs::CreateReFungibleData
    **/
   UpDataStructsCreateReFungibleData: {
     pieces: 'u128',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup269: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup274: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateItemExData: {
     _enum: {
@@ -2380,14 +2428,14 @@
     }
   },
   /**
-   * Lookup271: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup276: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateNftExData: {
     properties: 'Vec<UpDataStructsProperty>',
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup278: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup283: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExSingleOwner: {
     user: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -2395,15 +2443,52 @@
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup280: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup285: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsCreateRefungibleExMultipleOwners: {
     users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',
     properties: 'Vec<UpDataStructsProperty>'
   },
   /**
-   * Lookup281: pallet_configuration::pallet::Call<T>
+   * Lookup286: pallet_unique_scheduler::pallet::Call<T>
+   **/
+  PalletUniqueSchedulerCall: {
+    _enum: {
+      schedule_named: {
+        id: '[u8;16]',
+        when: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'Option<u8>',
+        call: 'FrameSupportScheduleMaybeHashed',
+      },
+      cancel_named: {
+        id: '[u8;16]',
+      },
+      schedule_named_after: {
+        id: '[u8;16]',
+        after: 'u32',
+        maybePeriodic: 'Option<(u32,u32)>',
+        priority: 'Option<u8>',
+        call: 'FrameSupportScheduleMaybeHashed',
+      },
+      change_named_priority: {
+        id: '[u8;16]',
+        priority: 'u8'
+      }
+    }
+  },
+  /**
+   * Lookup289: frame_support::traits::schedule::MaybeHashed<opal_runtime::RuntimeCall, primitive_types::H256>
    **/
+  FrameSupportScheduleMaybeHashed: {
+    _enum: {
+      Value: 'Call',
+      Hash: 'H256'
+    }
+  },
+  /**
+   * Lookup290: pallet_configuration::pallet::Call<T>
+   **/
   PalletConfigurationCall: {
     _enum: {
       set_weight_to_fee_coefficient_override: {
@@ -2415,15 +2500,15 @@
     }
   },
   /**
-   * Lookup283: pallet_template_transaction_payment::Call<T>
+   * Lookup292: pallet_template_transaction_payment::Call<T>
    **/
   PalletTemplateTransactionPaymentCall: 'Null',
   /**
-   * Lookup284: pallet_structure::pallet::Call<T>
+   * Lookup293: pallet_structure::pallet::Call<T>
    **/
   PalletStructureCall: 'Null',
   /**
-   * Lookup285: pallet_rmrk_core::pallet::Call<T>
+   * Lookup294: pallet_rmrk_core::pallet::Call<T>
    **/
   PalletRmrkCoreCall: {
     _enum: {
@@ -2514,7 +2599,7 @@
     }
   },
   /**
-   * Lookup291: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup300: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceTypes: {
     _enum: {
@@ -2524,7 +2609,7 @@
     }
   },
   /**
-   * Lookup293: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup302: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceBasicResource: {
     src: 'Option<Bytes>',
@@ -2533,7 +2618,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup295: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup304: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceComposableResource: {
     parts: 'Vec<u32>',
@@ -2544,7 +2629,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup296: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup305: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceSlotResource: {
     base: 'u32',
@@ -2555,7 +2640,7 @@
     thumb: 'Option<Bytes>'
   },
   /**
-   * Lookup299: pallet_rmrk_equip::pallet::Call<T>
+   * Lookup308: pallet_rmrk_equip::pallet::Call<T>
    **/
   PalletRmrkEquipCall: {
     _enum: {
@@ -2576,7 +2661,7 @@
     }
   },
   /**
-   * Lookup302: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup311: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartPartType: {
     _enum: {
@@ -2585,7 +2670,7 @@
     }
   },
   /**
-   * Lookup304: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup313: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartFixedPart: {
     id: 'u32',
@@ -2593,7 +2678,7 @@
     src: 'Bytes'
   },
   /**
-   * Lookup305: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup314: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartSlotPart: {
     id: 'u32',
@@ -2602,7 +2687,7 @@
     z: 'u32'
   },
   /**
-   * Lookup306: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup315: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPartEquippableList: {
     _enum: {
@@ -2612,7 +2697,7 @@
     }
   },
   /**
-   * 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>>
+   * 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>>
    **/
   RmrkTraitsTheme: {
     name: 'Bytes',
@@ -2620,14 +2705,14 @@
     inherit: 'bool'
   },
   /**
-   * Lookup310: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup319: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsThemeThemeProperty: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup312: pallet_app_promotion::pallet::Call<T>
+   * Lookup321: pallet_app_promotion::pallet::Call<T>
    **/
   PalletAppPromotionCall: {
     _enum: {
@@ -2656,7 +2741,7 @@
     }
   },
   /**
-   * Lookup314: pallet_foreign_assets::module::Call<T>
+   * Lookup322: pallet_foreign_assets::module::Call<T>
    **/
   PalletForeignAssetsModuleCall: {
     _enum: {
@@ -2673,7 +2758,7 @@
     }
   },
   /**
-   * Lookup315: pallet_evm::pallet::Call<T>
+   * Lookup323: pallet_evm::pallet::Call<T>
    **/
   PalletEvmCall: {
     _enum: {
@@ -2716,7 +2801,7 @@
     }
   },
   /**
-   * Lookup319: pallet_ethereum::pallet::Call<T>
+   * Lookup327: pallet_ethereum::pallet::Call<T>
    **/
   PalletEthereumCall: {
     _enum: {
@@ -2726,7 +2811,7 @@
     }
   },
   /**
-   * Lookup320: ethereum::transaction::TransactionV2
+   * Lookup328: ethereum::transaction::TransactionV2
    **/
   EthereumTransactionTransactionV2: {
     _enum: {
@@ -2736,7 +2821,7 @@
     }
   },
   /**
-   * Lookup321: ethereum::transaction::LegacyTransaction
+   * Lookup329: ethereum::transaction::LegacyTransaction
    **/
   EthereumTransactionLegacyTransaction: {
     nonce: 'U256',
@@ -2748,7 +2833,7 @@
     signature: 'EthereumTransactionTransactionSignature'
   },
   /**
-   * Lookup322: ethereum::transaction::TransactionAction
+   * Lookup330: ethereum::transaction::TransactionAction
    **/
   EthereumTransactionTransactionAction: {
     _enum: {
@@ -2757,7 +2842,7 @@
     }
   },
   /**
-   * Lookup323: ethereum::transaction::TransactionSignature
+   * Lookup331: ethereum::transaction::TransactionSignature
    **/
   EthereumTransactionTransactionSignature: {
     v: 'u64',
@@ -2765,7 +2850,7 @@
     s: 'H256'
   },
   /**
-   * Lookup325: ethereum::transaction::EIP2930Transaction
+   * Lookup333: ethereum::transaction::EIP2930Transaction
    **/
   EthereumTransactionEip2930Transaction: {
     chainId: 'u64',
@@ -2781,14 +2866,14 @@
     s: 'H256'
   },
   /**
-   * Lookup327: ethereum::transaction::AccessListItem
+   * Lookup335: ethereum::transaction::AccessListItem
    **/
   EthereumTransactionAccessListItem: {
     address: 'H160',
     storageKeys: 'Vec<H256>'
   },
   /**
-   * Lookup328: ethereum::transaction::EIP1559Transaction
+   * Lookup336: ethereum::transaction::EIP1559Transaction
    **/
   EthereumTransactionEip1559Transaction: {
     chainId: 'u64',
@@ -2805,7 +2890,7 @@
     s: 'H256'
   },
   /**
-   * Lookup329: pallet_evm_migration::pallet::Call<T>
+   * Lookup337: pallet_evm_migration::pallet::Call<T>
    **/
   PalletEvmMigrationCall: {
     _enum: {
@@ -2823,32 +2908,58 @@
     }
   },
   /**
-   * Lookup332: pallet_sudo::pallet::Error<T>
+   * Lookup340: pallet_maintenance::pallet::Call<T>
+   **/
+  PalletMaintenanceCall: {
+    _enum: ['enable', 'disable']
+  },
+  /**
+   * Lookup341: pallet_test_utils::pallet::Call<T>
+   **/
+  PalletTestUtilsCall: {
+    _enum: {
+      enable: 'Null',
+      set_test_value: {
+        value: 'u32',
+      },
+      set_test_value_and_rollback: {
+        value: 'u32',
+      },
+      inc_test_value: 'Null',
+      self_canceling_inc: {
+        id: '[u8;16]',
+        maxTestValue: 'u32',
+      },
+      just_take_fee: 'Null'
+    }
+  },
+  /**
+   * Lookup342: pallet_sudo::pallet::Error<T>
    **/
   PalletSudoError: {
     _enum: ['RequireSudo']
   },
   /**
-   * Lookup334: orml_vesting::module::Error<T>
+   * Lookup344: orml_vesting::module::Error<T>
    **/
   OrmlVestingModuleError: {
     _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']
   },
   /**
-   * Lookup335: orml_xtokens::module::Error<T>
+   * Lookup345: orml_xtokens::module::Error<T>
    **/
   OrmlXtokensModuleError: {
     _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']
   },
   /**
-   * Lookup338: orml_tokens::BalanceLock<Balance>
+   * Lookup348: orml_tokens::BalanceLock<Balance>
    **/
   OrmlTokensBalanceLock: {
     id: '[u8;8]',
     amount: 'u128'
   },
   /**
-   * Lookup340: orml_tokens::AccountData<Balance>
+   * Lookup350: orml_tokens::AccountData<Balance>
    **/
   OrmlTokensAccountData: {
     free: 'u128',
@@ -2856,20 +2967,20 @@
     frozen: 'u128'
   },
   /**
-   * Lookup342: orml_tokens::ReserveData<ReserveIdentifier, Balance>
+   * Lookup352: orml_tokens::ReserveData<ReserveIdentifier, Balance>
    **/
   OrmlTokensReserveData: {
     id: 'Null',
     amount: 'u128'
   },
   /**
-   * Lookup344: orml_tokens::module::Error<T>
+   * Lookup354: orml_tokens::module::Error<T>
    **/
   OrmlTokensModuleError: {
     _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']
   },
   /**
-   * Lookup346: cumulus_pallet_xcmp_queue::InboundChannelDetails
+   * Lookup356: cumulus_pallet_xcmp_queue::InboundChannelDetails
    **/
   CumulusPalletXcmpQueueInboundChannelDetails: {
     sender: 'u32',
@@ -2877,19 +2988,19 @@
     messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'
   },
   /**
-   * Lookup347: cumulus_pallet_xcmp_queue::InboundState
+   * Lookup357: cumulus_pallet_xcmp_queue::InboundState
    **/
   CumulusPalletXcmpQueueInboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup350: polkadot_parachain::primitives::XcmpMessageFormat
+   * Lookup360: polkadot_parachain::primitives::XcmpMessageFormat
    **/
   PolkadotParachainPrimitivesXcmpMessageFormat: {
     _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']
   },
   /**
-   * Lookup353: cumulus_pallet_xcmp_queue::OutboundChannelDetails
+   * Lookup363: cumulus_pallet_xcmp_queue::OutboundChannelDetails
    **/
   CumulusPalletXcmpQueueOutboundChannelDetails: {
     recipient: 'u32',
@@ -2899,13 +3010,13 @@
     lastIndex: 'u16'
   },
   /**
-   * Lookup354: cumulus_pallet_xcmp_queue::OutboundState
+   * Lookup364: cumulus_pallet_xcmp_queue::OutboundState
    **/
   CumulusPalletXcmpQueueOutboundState: {
     _enum: ['Ok', 'Suspended']
   },
   /**
-   * Lookup356: cumulus_pallet_xcmp_queue::QueueConfigData
+   * Lookup366: cumulus_pallet_xcmp_queue::QueueConfigData
    **/
   CumulusPalletXcmpQueueQueueConfigData: {
     suspendThreshold: 'u32',
@@ -2916,29 +3027,29 @@
     xcmpMaxIndividualWeight: 'Weight'
   },
   /**
-   * Lookup358: cumulus_pallet_xcmp_queue::pallet::Error<T>
+   * Lookup368: cumulus_pallet_xcmp_queue::pallet::Error<T>
    **/
   CumulusPalletXcmpQueueError: {
     _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']
   },
   /**
-   * Lookup359: pallet_xcm::pallet::Error<T>
+   * Lookup369: pallet_xcm::pallet::Error<T>
    **/
   PalletXcmError: {
     _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']
   },
   /**
-   * Lookup360: cumulus_pallet_xcm::pallet::Error<T>
+   * Lookup370: cumulus_pallet_xcm::pallet::Error<T>
    **/
   CumulusPalletXcmError: 'Null',
   /**
-   * Lookup361: cumulus_pallet_dmp_queue::ConfigData
+   * Lookup371: cumulus_pallet_dmp_queue::ConfigData
    **/
   CumulusPalletDmpQueueConfigData: {
     maxIndividual: 'Weight'
   },
   /**
-   * Lookup362: cumulus_pallet_dmp_queue::PageIndexData
+   * Lookup372: cumulus_pallet_dmp_queue::PageIndexData
    **/
   CumulusPalletDmpQueuePageIndexData: {
     beginUsed: 'u32',
@@ -2946,20 +3057,185 @@
     overweightCount: 'u64'
   },
   /**
-   * Lookup365: cumulus_pallet_dmp_queue::pallet::Error<T>
+   * Lookup375: cumulus_pallet_dmp_queue::pallet::Error<T>
    **/
   CumulusPalletDmpQueueError: {
     _enum: ['Unknown', 'OverLimit']
   },
   /**
-   * Lookup369: pallet_unique::Error<T>
+   * Lookup379: pallet_unique::Error<T>
    **/
   PalletUniqueError: {
     _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']
   },
   /**
-   * Lookup370: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   * Lookup382: pallet_unique_scheduler::ScheduledV3<frame_support::traits::schedule::MaybeHashed<opal_runtime::RuntimeCall, primitive_types::H256>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>
    **/
+  PalletUniqueSchedulerScheduledV3: {
+    maybeId: 'Option<[u8;16]>',
+    priority: 'u8',
+    call: 'FrameSupportScheduleMaybeHashed',
+    maybePeriodic: 'Option<(u32,u32)>',
+    origin: 'OpalRuntimeOriginCaller'
+  },
+  /**
+   * Lookup383: opal_runtime::OriginCaller
+   **/
+  OpalRuntimeOriginCaller: {
+    _enum: {
+      system: 'FrameSupportDispatchRawOrigin',
+      __Unused1: 'Null',
+      __Unused2: 'Null',
+      __Unused3: 'Null',
+      Void: 'SpCoreVoid',
+      __Unused5: 'Null',
+      __Unused6: 'Null',
+      __Unused7: 'Null',
+      __Unused8: 'Null',
+      __Unused9: 'Null',
+      __Unused10: 'Null',
+      __Unused11: 'Null',
+      __Unused12: 'Null',
+      __Unused13: 'Null',
+      __Unused14: 'Null',
+      __Unused15: 'Null',
+      __Unused16: 'Null',
+      __Unused17: 'Null',
+      __Unused18: 'Null',
+      __Unused19: 'Null',
+      __Unused20: 'Null',
+      __Unused21: 'Null',
+      __Unused22: 'Null',
+      __Unused23: 'Null',
+      __Unused24: 'Null',
+      __Unused25: 'Null',
+      __Unused26: 'Null',
+      __Unused27: 'Null',
+      __Unused28: 'Null',
+      __Unused29: 'Null',
+      __Unused30: 'Null',
+      __Unused31: 'Null',
+      __Unused32: 'Null',
+      __Unused33: 'Null',
+      __Unused34: 'Null',
+      __Unused35: 'Null',
+      __Unused36: 'Null',
+      __Unused37: 'Null',
+      __Unused38: 'Null',
+      __Unused39: 'Null',
+      __Unused40: 'Null',
+      __Unused41: 'Null',
+      __Unused42: 'Null',
+      __Unused43: 'Null',
+      __Unused44: 'Null',
+      __Unused45: 'Null',
+      __Unused46: 'Null',
+      __Unused47: 'Null',
+      __Unused48: 'Null',
+      __Unused49: 'Null',
+      __Unused50: 'Null',
+      PolkadotXcm: 'PalletXcmOrigin',
+      CumulusXcm: 'CumulusPalletXcmOrigin',
+      __Unused53: 'Null',
+      __Unused54: 'Null',
+      __Unused55: 'Null',
+      __Unused56: 'Null',
+      __Unused57: 'Null',
+      __Unused58: 'Null',
+      __Unused59: 'Null',
+      __Unused60: 'Null',
+      __Unused61: 'Null',
+      __Unused62: 'Null',
+      __Unused63: 'Null',
+      __Unused64: 'Null',
+      __Unused65: 'Null',
+      __Unused66: 'Null',
+      __Unused67: 'Null',
+      __Unused68: 'Null',
+      __Unused69: 'Null',
+      __Unused70: 'Null',
+      __Unused71: 'Null',
+      __Unused72: 'Null',
+      __Unused73: 'Null',
+      __Unused74: 'Null',
+      __Unused75: 'Null',
+      __Unused76: 'Null',
+      __Unused77: 'Null',
+      __Unused78: 'Null',
+      __Unused79: 'Null',
+      __Unused80: 'Null',
+      __Unused81: 'Null',
+      __Unused82: 'Null',
+      __Unused83: 'Null',
+      __Unused84: 'Null',
+      __Unused85: 'Null',
+      __Unused86: 'Null',
+      __Unused87: 'Null',
+      __Unused88: 'Null',
+      __Unused89: 'Null',
+      __Unused90: 'Null',
+      __Unused91: 'Null',
+      __Unused92: 'Null',
+      __Unused93: 'Null',
+      __Unused94: 'Null',
+      __Unused95: 'Null',
+      __Unused96: 'Null',
+      __Unused97: 'Null',
+      __Unused98: 'Null',
+      __Unused99: 'Null',
+      __Unused100: 'Null',
+      Ethereum: 'PalletEthereumRawOrigin'
+    }
+  },
+  /**
+   * Lookup384: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>
+   **/
+  FrameSupportDispatchRawOrigin: {
+    _enum: {
+      Root: 'Null',
+      Signed: 'AccountId32',
+      None: 'Null'
+    }
+  },
+  /**
+   * Lookup385: pallet_xcm::pallet::Origin
+   **/
+  PalletXcmOrigin: {
+    _enum: {
+      Xcm: 'XcmV1MultiLocation',
+      Response: 'XcmV1MultiLocation'
+    }
+  },
+  /**
+   * Lookup386: cumulus_pallet_xcm::pallet::Origin
+   **/
+  CumulusPalletXcmOrigin: {
+    _enum: {
+      Relay: 'Null',
+      SiblingParachain: 'u32'
+    }
+  },
+  /**
+   * Lookup387: pallet_ethereum::RawOrigin
+   **/
+  PalletEthereumRawOrigin: {
+    _enum: {
+      EthereumTransaction: 'H160'
+    }
+  },
+  /**
+   * Lookup388: sp_core::Void
+   **/
+  SpCoreVoid: 'Null',
+  /**
+   * Lookup389: pallet_unique_scheduler::pallet::Error<T>
+   **/
+  PalletUniqueSchedulerError: {
+    _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange']
+  },
+  /**
+   * Lookup390: up_data_structs::Collection<sp_core::crypto::AccountId32>
+   **/
   UpDataStructsCollection: {
     owner: 'AccountId32',
     mode: 'UpDataStructsCollectionMode',
@@ -2972,7 +3248,7 @@
     flags: '[u8;1]'
   },
   /**
-   * Lookup371: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
+   * Lookup391: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>
    **/
   UpDataStructsSponsorshipStateAccountId32: {
     _enum: {
@@ -2982,7 +3258,7 @@
     }
   },
   /**
-   * Lookup373: up_data_structs::Properties
+   * Lookup393: up_data_structs::Properties
    **/
   UpDataStructsProperties: {
     map: 'UpDataStructsPropertiesMapBoundedVec',
@@ -2990,15 +3266,15 @@
     spaceLimit: 'u32'
   },
   /**
-   * Lookup374: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup394: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',
   /**
-   * Lookup379: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
+   * Lookup399: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>
    **/
   UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',
   /**
-   * Lookup386: up_data_structs::CollectionStats
+   * Lookup406: up_data_structs::CollectionStats
    **/
   UpDataStructsCollectionStats: {
     created: 'u32',
@@ -3006,18 +3282,18 @@
     alive: 'u32'
   },
   /**
-   * Lookup387: up_data_structs::TokenChild
+   * Lookup407: up_data_structs::TokenChild
    **/
   UpDataStructsTokenChild: {
     token: 'u32',
     collection: 'u32'
   },
   /**
-   * Lookup388: PhantomType::up_data_structs<T>
+   * Lookup408: PhantomType::up_data_structs<T>
    **/
   PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',
   /**
-   * Lookup390: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup410: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsTokenData: {
     properties: 'Vec<UpDataStructsProperty>',
@@ -3025,7 +3301,7 @@
     pieces: 'u128'
   },
   /**
-   * Lookup392: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
+   * Lookup412: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>
    **/
   UpDataStructsRpcCollection: {
     owner: 'AccountId32',
@@ -3042,14 +3318,14 @@
     flags: 'UpDataStructsRpcCollectionFlags'
   },
   /**
-   * Lookup393: up_data_structs::RpcCollectionFlags
+   * Lookup413: up_data_structs::RpcCollectionFlags
    **/
   UpDataStructsRpcCollectionFlags: {
     foreign: 'bool',
     erc721metadata: 'bool'
   },
   /**
-   * 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>
+   * 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>
    **/
   RmrkTraitsCollectionCollectionInfo: {
     issuer: 'AccountId32',
@@ -3059,7 +3335,7 @@
     nftsCount: 'u32'
   },
   /**
-   * Lookup395: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup415: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsNftNftInfo: {
     owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',
@@ -3069,14 +3345,14 @@
     pending: 'bool'
   },
   /**
-   * Lookup397: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
+   * Lookup417: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>
    **/
   RmrkTraitsNftRoyaltyInfo: {
     recipient: 'AccountId32',
     amount: 'Permill'
   },
   /**
-   * Lookup398: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup418: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsResourceResourceInfo: {
     id: 'u32',
@@ -3085,14 +3361,14 @@
     pendingRemoval: 'bool'
   },
   /**
-   * Lookup399: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup419: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsPropertyPropertyInfo: {
     key: 'Bytes',
     value: 'Bytes'
   },
   /**
-   * Lookup400: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
+   * Lookup420: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>
    **/
   RmrkTraitsBaseBaseInfo: {
     issuer: 'AccountId32',
@@ -3100,92 +3376,92 @@
     symbol: 'Bytes'
   },
   /**
-   * Lookup401: rmrk_traits::nft::NftChild
+   * Lookup421: rmrk_traits::nft::NftChild
    **/
   RmrkTraitsNftNftChild: {
     collectionId: 'u32',
     nftId: 'u32'
   },
   /**
-   * Lookup403: pallet_common::pallet::Error<T>
+   * Lookup423: pallet_common::pallet::Error<T>
    **/
   PalletCommonError: {
     _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']
   },
   /**
-   * Lookup405: pallet_fungible::pallet::Error<T>
+   * Lookup425: pallet_fungible::pallet::Error<T>
    **/
   PalletFungibleError: {
     _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup406: pallet_refungible::ItemData
+   * Lookup426: pallet_refungible::ItemData
    **/
   PalletRefungibleItemData: {
     constData: 'Bytes'
   },
   /**
-   * Lookup411: pallet_refungible::pallet::Error<T>
+   * Lookup431: pallet_refungible::pallet::Error<T>
    **/
   PalletRefungibleError: {
     _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
   },
   /**
-   * Lookup412: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup432: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   PalletNonfungibleItemData: {
     owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
   },
   /**
-   * Lookup414: up_data_structs::PropertyScope
+   * Lookup434: up_data_structs::PropertyScope
    **/
   UpDataStructsPropertyScope: {
     _enum: ['None', 'Rmrk']
   },
   /**
-   * Lookup416: pallet_nonfungible::pallet::Error<T>
+   * Lookup436: pallet_nonfungible::pallet::Error<T>
    **/
   PalletNonfungibleError: {
     _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
   },
   /**
-   * Lookup417: pallet_structure::pallet::Error<T>
+   * Lookup437: pallet_structure::pallet::Error<T>
    **/
   PalletStructureError: {
     _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
   },
   /**
-   * Lookup418: pallet_rmrk_core::pallet::Error<T>
+   * Lookup438: pallet_rmrk_core::pallet::Error<T>
    **/
   PalletRmrkCoreError: {
     _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']
   },
   /**
-   * Lookup420: pallet_rmrk_equip::pallet::Error<T>
+   * Lookup440: pallet_rmrk_equip::pallet::Error<T>
    **/
   PalletRmrkEquipError: {
     _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']
   },
   /**
-   * Lookup426: pallet_app_promotion::pallet::Error<T>
+   * Lookup446: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
     _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
   },
   /**
-   * Lookup427: pallet_foreign_assets::module::Error<T>
+   * Lookup447: pallet_foreign_assets::module::Error<T>
    **/
   PalletForeignAssetsModuleError: {
     _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
   },
   /**
-   * Lookup430: pallet_evm::pallet::Error<T>
+   * Lookup450: pallet_evm::pallet::Error<T>
    **/
   PalletEvmError: {
     _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce']
   },
   /**
-   * Lookup433: fp_rpc::TransactionStatus
+   * Lookup453: fp_rpc::TransactionStatus
    **/
   FpRpcTransactionStatus: {
     transactionHash: 'H256',
@@ -3197,11 +3473,11 @@
     logsBloom: 'EthbloomBloom'
   },
   /**
-   * Lookup435: ethbloom::Bloom
+   * Lookup455: ethbloom::Bloom
    **/
   EthbloomBloom: '[u8;256]',
   /**
-   * Lookup437: ethereum::receipt::ReceiptV3
+   * Lookup457: ethereum::receipt::ReceiptV3
    **/
   EthereumReceiptReceiptV3: {
     _enum: {
@@ -3211,7 +3487,7 @@
     }
   },
   /**
-   * Lookup438: ethereum::receipt::EIP658ReceiptData
+   * Lookup458: ethereum::receipt::EIP658ReceiptData
    **/
   EthereumReceiptEip658ReceiptData: {
     statusCode: 'u8',
@@ -3220,7 +3496,7 @@
     logs: 'Vec<EthereumLog>'
   },
   /**
-   * Lookup439: ethereum::block::Block<ethereum::transaction::TransactionV2>
+   * Lookup459: ethereum::block::Block<ethereum::transaction::TransactionV2>
    **/
   EthereumBlock: {
     header: 'EthereumHeader',
@@ -3228,7 +3504,7 @@
     ommers: 'Vec<EthereumHeader>'
   },
   /**
-   * Lookup440: ethereum::header::Header
+   * Lookup460: ethereum::header::Header
    **/
   EthereumHeader: {
     parentHash: 'H256',
@@ -3248,23 +3524,23 @@
     nonce: 'EthereumTypesHashH64'
   },
   /**
-   * Lookup441: ethereum_types::hash::H64
+   * Lookup461: ethereum_types::hash::H64
    **/
   EthereumTypesHashH64: '[u8;8]',
   /**
-   * Lookup446: pallet_ethereum::pallet::Error<T>
+   * Lookup466: pallet_ethereum::pallet::Error<T>
    **/
   PalletEthereumError: {
     _enum: ['InvalidSignature', 'PreLogExists']
   },
   /**
-   * Lookup447: pallet_evm_coder_substrate::pallet::Error<T>
+   * Lookup467: pallet_evm_coder_substrate::pallet::Error<T>
    **/
   PalletEvmCoderSubstrateError: {
     _enum: ['OutOfGas', 'OutOfFund']
   },
   /**
-   * Lookup448: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+   * Lookup468: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
    **/
   UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
     _enum: {
@@ -3274,26 +3550,36 @@
     }
   },
   /**
-   * Lookup449: pallet_evm_contract_helpers::SponsoringModeT
+   * Lookup469: pallet_evm_contract_helpers::SponsoringModeT
    **/
   PalletEvmContractHelpersSponsoringModeT: {
     _enum: ['Disabled', 'Allowlisted', 'Generous']
   },
   /**
-   * Lookup455: pallet_evm_contract_helpers::pallet::Error<T>
+   * Lookup475: pallet_evm_contract_helpers::pallet::Error<T>
    **/
   PalletEvmContractHelpersError: {
     _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
   },
   /**
-   * Lookup456: pallet_evm_migration::pallet::Error<T>
+   * Lookup476: pallet_evm_migration::pallet::Error<T>
    **/
   PalletEvmMigrationError: {
     _enum: ['AccountNotEmpty', 'AccountIsNotMigrating']
   },
   /**
-   * Lookup458: sp_runtime::MultiSignature
+   * Lookup477: pallet_maintenance::pallet::Error<T>
    **/
+  PalletMaintenanceError: 'Null',
+  /**
+   * Lookup478: pallet_test_utils::pallet::Error<T>
+   **/
+  PalletTestUtilsError: {
+    _enum: ['TestPalletDisabled', 'TriggerRollback']
+  },
+  /**
+   * Lookup480: sp_runtime::MultiSignature
+   **/
   SpRuntimeMultiSignature: {
     _enum: {
       Ed25519: 'SpCoreEd25519Signature',
@@ -3302,47 +3588,51 @@
     }
   },
   /**
-   * Lookup459: sp_core::ed25519::Signature
+   * Lookup481: sp_core::ed25519::Signature
    **/
   SpCoreEd25519Signature: '[u8;64]',
   /**
-   * Lookup461: sp_core::sr25519::Signature
+   * Lookup483: sp_core::sr25519::Signature
    **/
   SpCoreSr25519Signature: '[u8;64]',
   /**
-   * Lookup462: sp_core::ecdsa::Signature
+   * Lookup484: sp_core::ecdsa::Signature
    **/
   SpCoreEcdsaSignature: '[u8;65]',
   /**
-   * Lookup465: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+   * Lookup487: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
    **/
   FrameSystemExtensionsCheckSpecVersion: 'Null',
   /**
-   * Lookup466: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+   * Lookup488: frame_system::extensions::check_tx_version::CheckTxVersion<T>
    **/
   FrameSystemExtensionsCheckTxVersion: 'Null',
   /**
-   * Lookup467: frame_system::extensions::check_genesis::CheckGenesis<T>
+   * Lookup489: frame_system::extensions::check_genesis::CheckGenesis<T>
    **/
   FrameSystemExtensionsCheckGenesis: 'Null',
   /**
-   * Lookup470: frame_system::extensions::check_nonce::CheckNonce<T>
+   * Lookup492: frame_system::extensions::check_nonce::CheckNonce<T>
    **/
   FrameSystemExtensionsCheckNonce: 'Compact<u32>',
   /**
-   * Lookup471: frame_system::extensions::check_weight::CheckWeight<T>
+   * Lookup493: frame_system::extensions::check_weight::CheckWeight<T>
    **/
   FrameSystemExtensionsCheckWeight: 'Null',
   /**
-   * Lookup472: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+   * Lookup494: opal_runtime::runtime_common::maintenance::CheckMaintenance
+   **/
+  OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
+  /**
+   * Lookup495: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
    **/
   PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
   /**
-   * Lookup473: opal_runtime::Runtime
+   * Lookup496: opal_runtime::Runtime
    **/
   OpalRuntimeRuntime: 'Null',
   /**
-   * Lookup474: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+   * Lookup497: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
    **/
   PalletEthereumFakeTransactionFinalizer: 'Null'
 };
modifiedtests/src/interfaces/registry.tsdiffbeforeafterboth
--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
 // this is required to allow for ambient/previous definitions
 import '@polkadot/types/types/registry';
 
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, 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
before · tests/src/interfaces/types-lookup.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';9import type { ITuple } from '@polkadot/types-codec/types';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill, Weight } from '@polkadot/types/interfaces/runtime';11import type { Event } from '@polkadot/types/interfaces/system';1213declare module '@polkadot/types/lookup' {14  /** @name FrameSystemAccountInfo (3) */15  interface FrameSystemAccountInfo extends Struct {16    readonly nonce: u32;17    readonly consumers: u32;18    readonly providers: u32;19    readonly sufficients: u32;20    readonly data: PalletBalancesAccountData;21  }2223  /** @name PalletBalancesAccountData (5) */24  interface PalletBalancesAccountData extends Struct {25    readonly free: u128;26    readonly reserved: u128;27    readonly miscFrozen: u128;28    readonly feeFrozen: u128;29  }3031  /** @name FrameSupportDispatchPerDispatchClassWeight (7) */32  interface FrameSupportDispatchPerDispatchClassWeight extends Struct {33    readonly normal: Weight;34    readonly operational: Weight;35    readonly mandatory: Weight;36  }3738  /** @name SpRuntimeDigest (12) */39  interface SpRuntimeDigest extends Struct {40    readonly logs: Vec<SpRuntimeDigestDigestItem>;41  }4243  /** @name SpRuntimeDigestDigestItem (14) */44  interface SpRuntimeDigestDigestItem extends Enum {45    readonly isOther: boolean;46    readonly asOther: Bytes;47    readonly isConsensus: boolean;48    readonly asConsensus: ITuple<[U8aFixed, Bytes]>;49    readonly isSeal: boolean;50    readonly asSeal: ITuple<[U8aFixed, Bytes]>;51    readonly isPreRuntime: boolean;52    readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;53    readonly isRuntimeEnvironmentUpdated: boolean;54    readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';55  }5657  /** @name FrameSystemEventRecord (17) */58  interface FrameSystemEventRecord extends Struct {59    readonly phase: FrameSystemPhase;60    readonly event: Event;61    readonly topics: Vec<H256>;62  }6364  /** @name FrameSystemEvent (19) */65  interface FrameSystemEvent extends Enum {66    readonly isExtrinsicSuccess: boolean;67    readonly asExtrinsicSuccess: {68      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;69    } & Struct;70    readonly isExtrinsicFailed: boolean;71    readonly asExtrinsicFailed: {72      readonly dispatchError: SpRuntimeDispatchError;73      readonly dispatchInfo: FrameSupportDispatchDispatchInfo;74    } & Struct;75    readonly isCodeUpdated: boolean;76    readonly isNewAccount: boolean;77    readonly asNewAccount: {78      readonly account: AccountId32;79    } & Struct;80    readonly isKilledAccount: boolean;81    readonly asKilledAccount: {82      readonly account: AccountId32;83    } & Struct;84    readonly isRemarked: boolean;85    readonly asRemarked: {86      readonly sender: AccountId32;87      readonly hash_: H256;88    } & Struct;89    readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';90  }9192  /** @name FrameSupportDispatchDispatchInfo (20) */93  interface FrameSupportDispatchDispatchInfo extends Struct {94    readonly weight: Weight;95    readonly class: FrameSupportDispatchDispatchClass;96    readonly paysFee: FrameSupportDispatchPays;97  }9899  /** @name FrameSupportDispatchDispatchClass (21) */100  interface FrameSupportDispatchDispatchClass extends Enum {101    readonly isNormal: boolean;102    readonly isOperational: boolean;103    readonly isMandatory: boolean;104    readonly type: 'Normal' | 'Operational' | 'Mandatory';105  }106107  /** @name FrameSupportDispatchPays (22) */108  interface FrameSupportDispatchPays extends Enum {109    readonly isYes: boolean;110    readonly isNo: boolean;111    readonly type: 'Yes' | 'No';112  }113114  /** @name SpRuntimeDispatchError (23) */115  interface SpRuntimeDispatchError extends Enum {116    readonly isOther: boolean;117    readonly isCannotLookup: boolean;118    readonly isBadOrigin: boolean;119    readonly isModule: boolean;120    readonly asModule: SpRuntimeModuleError;121    readonly isConsumerRemaining: boolean;122    readonly isNoProviders: boolean;123    readonly isTooManyConsumers: boolean;124    readonly isToken: boolean;125    readonly asToken: SpRuntimeTokenError;126    readonly isArithmetic: boolean;127    readonly asArithmetic: SpRuntimeArithmeticError;128    readonly isTransactional: boolean;129    readonly asTransactional: SpRuntimeTransactionalError;130    readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';131  }132133  /** @name SpRuntimeModuleError (24) */134  interface SpRuntimeModuleError extends Struct {135    readonly index: u8;136    readonly error: U8aFixed;137  }138139  /** @name SpRuntimeTokenError (25) */140  interface SpRuntimeTokenError extends Enum {141    readonly isNoFunds: boolean;142    readonly isWouldDie: boolean;143    readonly isBelowMinimum: boolean;144    readonly isCannotCreate: boolean;145    readonly isUnknownAsset: boolean;146    readonly isFrozen: boolean;147    readonly isUnsupported: boolean;148    readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';149  }150151  /** @name SpRuntimeArithmeticError (26) */152  interface SpRuntimeArithmeticError extends Enum {153    readonly isUnderflow: boolean;154    readonly isOverflow: boolean;155    readonly isDivisionByZero: boolean;156    readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';157  }158159  /** @name SpRuntimeTransactionalError (27) */160  interface SpRuntimeTransactionalError extends Enum {161    readonly isLimitReached: boolean;162    readonly isNoLayer: boolean;163    readonly type: 'LimitReached' | 'NoLayer';164  }165166  /** @name CumulusPalletParachainSystemEvent (28) */167  interface CumulusPalletParachainSystemEvent extends Enum {168    readonly isValidationFunctionStored: boolean;169    readonly isValidationFunctionApplied: boolean;170    readonly asValidationFunctionApplied: {171      readonly relayChainBlockNum: u32;172    } & Struct;173    readonly isValidationFunctionDiscarded: boolean;174    readonly isUpgradeAuthorized: boolean;175    readonly asUpgradeAuthorized: {176      readonly codeHash: H256;177    } & Struct;178    readonly isDownwardMessagesReceived: boolean;179    readonly asDownwardMessagesReceived: {180      readonly count: u32;181    } & Struct;182    readonly isDownwardMessagesProcessed: boolean;183    readonly asDownwardMessagesProcessed: {184      readonly weightUsed: Weight;185      readonly dmqHead: H256;186    } & Struct;187    readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';188  }189190  /** @name PalletBalancesEvent (29) */191  interface PalletBalancesEvent extends Enum {192    readonly isEndowed: boolean;193    readonly asEndowed: {194      readonly account: AccountId32;195      readonly freeBalance: u128;196    } & Struct;197    readonly isDustLost: boolean;198    readonly asDustLost: {199      readonly account: AccountId32;200      readonly amount: u128;201    } & Struct;202    readonly isTransfer: boolean;203    readonly asTransfer: {204      readonly from: AccountId32;205      readonly to: AccountId32;206      readonly amount: u128;207    } & Struct;208    readonly isBalanceSet: boolean;209    readonly asBalanceSet: {210      readonly who: AccountId32;211      readonly free: u128;212      readonly reserved: u128;213    } & Struct;214    readonly isReserved: boolean;215    readonly asReserved: {216      readonly who: AccountId32;217      readonly amount: u128;218    } & Struct;219    readonly isUnreserved: boolean;220    readonly asUnreserved: {221      readonly who: AccountId32;222      readonly amount: u128;223    } & Struct;224    readonly isReserveRepatriated: boolean;225    readonly asReserveRepatriated: {226      readonly from: AccountId32;227      readonly to: AccountId32;228      readonly amount: u128;229      readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;230    } & Struct;231    readonly isDeposit: boolean;232    readonly asDeposit: {233      readonly who: AccountId32;234      readonly amount: u128;235    } & Struct;236    readonly isWithdraw: boolean;237    readonly asWithdraw: {238      readonly who: AccountId32;239      readonly amount: u128;240    } & Struct;241    readonly isSlashed: boolean;242    readonly asSlashed: {243      readonly who: AccountId32;244      readonly amount: u128;245    } & Struct;246    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';247  }248249  /** @name FrameSupportTokensMiscBalanceStatus (30) */250  interface FrameSupportTokensMiscBalanceStatus extends Enum {251    readonly isFree: boolean;252    readonly isReserved: boolean;253    readonly type: 'Free' | 'Reserved';254  }255256  /** @name PalletTransactionPaymentEvent (31) */257  interface PalletTransactionPaymentEvent extends Enum {258    readonly isTransactionFeePaid: boolean;259    readonly asTransactionFeePaid: {260      readonly who: AccountId32;261      readonly actualFee: u128;262      readonly tip: u128;263    } & Struct;264    readonly type: 'TransactionFeePaid';265  }266267  /** @name PalletTreasuryEvent (32) */268  interface PalletTreasuryEvent extends Enum {269    readonly isProposed: boolean;270    readonly asProposed: {271      readonly proposalIndex: u32;272    } & Struct;273    readonly isSpending: boolean;274    readonly asSpending: {275      readonly budgetRemaining: u128;276    } & Struct;277    readonly isAwarded: boolean;278    readonly asAwarded: {279      readonly proposalIndex: u32;280      readonly award: u128;281      readonly account: AccountId32;282    } & Struct;283    readonly isRejected: boolean;284    readonly asRejected: {285      readonly proposalIndex: u32;286      readonly slashed: u128;287    } & Struct;288    readonly isBurnt: boolean;289    readonly asBurnt: {290      readonly burntFunds: u128;291    } & Struct;292    readonly isRollover: boolean;293    readonly asRollover: {294      readonly rolloverBalance: u128;295    } & Struct;296    readonly isDeposit: boolean;297    readonly asDeposit: {298      readonly value: u128;299    } & Struct;300    readonly isSpendApproved: boolean;301    readonly asSpendApproved: {302      readonly proposalIndex: u32;303      readonly amount: u128;304      readonly beneficiary: AccountId32;305    } & Struct;306    readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';307  }308309  /** @name PalletSudoEvent (33) */310  interface PalletSudoEvent extends Enum {311    readonly isSudid: boolean;312    readonly asSudid: {313      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;314    } & Struct;315    readonly isKeyChanged: boolean;316    readonly asKeyChanged: {317      readonly oldSudoer: Option<AccountId32>;318    } & Struct;319    readonly isSudoAsDone: boolean;320    readonly asSudoAsDone: {321      readonly sudoResult: Result<Null, SpRuntimeDispatchError>;322    } & Struct;323    readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';324  }325326  /** @name OrmlVestingModuleEvent (37) */327  interface OrmlVestingModuleEvent extends Enum {328    readonly isVestingScheduleAdded: boolean;329    readonly asVestingScheduleAdded: {330      readonly from: AccountId32;331      readonly to: AccountId32;332      readonly vestingSchedule: OrmlVestingVestingSchedule;333    } & Struct;334    readonly isClaimed: boolean;335    readonly asClaimed: {336      readonly who: AccountId32;337      readonly amount: u128;338    } & Struct;339    readonly isVestingSchedulesUpdated: boolean;340    readonly asVestingSchedulesUpdated: {341      readonly who: AccountId32;342    } & Struct;343    readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';344  }345346  /** @name OrmlVestingVestingSchedule (38) */347  interface OrmlVestingVestingSchedule extends Struct {348    readonly start: u32;349    readonly period: u32;350    readonly periodCount: u32;351    readonly perPeriod: Compact<u128>;352  }353354  /** @name OrmlXtokensModuleEvent (40) */355  interface OrmlXtokensModuleEvent extends Enum {356    readonly isTransferredMultiAssets: boolean;357    readonly asTransferredMultiAssets: {358      readonly sender: AccountId32;359      readonly assets: XcmV1MultiassetMultiAssets;360      readonly fee: XcmV1MultiAsset;361      readonly dest: XcmV1MultiLocation;362    } & Struct;363    readonly type: 'TransferredMultiAssets';364  }365366  /** @name XcmV1MultiassetMultiAssets (41) */367  interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}368369  /** @name XcmV1MultiAsset (43) */370  interface XcmV1MultiAsset extends Struct {371    readonly id: XcmV1MultiassetAssetId;372    readonly fun: XcmV1MultiassetFungibility;373  }374375  /** @name XcmV1MultiassetAssetId (44) */376  interface XcmV1MultiassetAssetId extends Enum {377    readonly isConcrete: boolean;378    readonly asConcrete: XcmV1MultiLocation;379    readonly isAbstract: boolean;380    readonly asAbstract: Bytes;381    readonly type: 'Concrete' | 'Abstract';382  }383384  /** @name XcmV1MultiLocation (45) */385  interface XcmV1MultiLocation extends Struct {386    readonly parents: u8;387    readonly interior: XcmV1MultilocationJunctions;388  }389390  /** @name XcmV1MultilocationJunctions (46) */391  interface XcmV1MultilocationJunctions extends Enum {392    readonly isHere: boolean;393    readonly isX1: boolean;394    readonly asX1: XcmV1Junction;395    readonly isX2: boolean;396    readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;397    readonly isX3: boolean;398    readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;399    readonly isX4: boolean;400    readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;401    readonly isX5: boolean;402    readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;403    readonly isX6: boolean;404    readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;405    readonly isX7: boolean;406    readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;407    readonly isX8: boolean;408    readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;409    readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';410  }411412  /** @name XcmV1Junction (47) */413  interface XcmV1Junction extends Enum {414    readonly isParachain: boolean;415    readonly asParachain: Compact<u32>;416    readonly isAccountId32: boolean;417    readonly asAccountId32: {418      readonly network: XcmV0JunctionNetworkId;419      readonly id: U8aFixed;420    } & Struct;421    readonly isAccountIndex64: boolean;422    readonly asAccountIndex64: {423      readonly network: XcmV0JunctionNetworkId;424      readonly index: Compact<u64>;425    } & Struct;426    readonly isAccountKey20: boolean;427    readonly asAccountKey20: {428      readonly network: XcmV0JunctionNetworkId;429      readonly key: U8aFixed;430    } & Struct;431    readonly isPalletInstance: boolean;432    readonly asPalletInstance: u8;433    readonly isGeneralIndex: boolean;434    readonly asGeneralIndex: Compact<u128>;435    readonly isGeneralKey: boolean;436    readonly asGeneralKey: Bytes;437    readonly isOnlyChild: boolean;438    readonly isPlurality: boolean;439    readonly asPlurality: {440      readonly id: XcmV0JunctionBodyId;441      readonly part: XcmV0JunctionBodyPart;442    } & Struct;443    readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';444  }445446  /** @name XcmV0JunctionNetworkId (49) */447  interface XcmV0JunctionNetworkId extends Enum {448    readonly isAny: boolean;449    readonly isNamed: boolean;450    readonly asNamed: Bytes;451    readonly isPolkadot: boolean;452    readonly isKusama: boolean;453    readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';454  }455456  /** @name XcmV0JunctionBodyId (53) */457  interface XcmV0JunctionBodyId extends Enum {458    readonly isUnit: boolean;459    readonly isNamed: boolean;460    readonly asNamed: Bytes;461    readonly isIndex: boolean;462    readonly asIndex: Compact<u32>;463    readonly isExecutive: boolean;464    readonly isTechnical: boolean;465    readonly isLegislative: boolean;466    readonly isJudicial: boolean;467    readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';468  }469470  /** @name XcmV0JunctionBodyPart (54) */471  interface XcmV0JunctionBodyPart extends Enum {472    readonly isVoice: boolean;473    readonly isMembers: boolean;474    readonly asMembers: {475      readonly count: Compact<u32>;476    } & Struct;477    readonly isFraction: boolean;478    readonly asFraction: {479      readonly nom: Compact<u32>;480      readonly denom: Compact<u32>;481    } & Struct;482    readonly isAtLeastProportion: boolean;483    readonly asAtLeastProportion: {484      readonly nom: Compact<u32>;485      readonly denom: Compact<u32>;486    } & Struct;487    readonly isMoreThanProportion: boolean;488    readonly asMoreThanProportion: {489      readonly nom: Compact<u32>;490      readonly denom: Compact<u32>;491    } & Struct;492    readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';493  }494495  /** @name XcmV1MultiassetFungibility (55) */496  interface XcmV1MultiassetFungibility extends Enum {497    readonly isFungible: boolean;498    readonly asFungible: Compact<u128>;499    readonly isNonFungible: boolean;500    readonly asNonFungible: XcmV1MultiassetAssetInstance;501    readonly type: 'Fungible' | 'NonFungible';502  }503504  /** @name XcmV1MultiassetAssetInstance (56) */505  interface XcmV1MultiassetAssetInstance extends Enum {506    readonly isUndefined: boolean;507    readonly isIndex: boolean;508    readonly asIndex: Compact<u128>;509    readonly isArray4: boolean;510    readonly asArray4: U8aFixed;511    readonly isArray8: boolean;512    readonly asArray8: U8aFixed;513    readonly isArray16: boolean;514    readonly asArray16: U8aFixed;515    readonly isArray32: boolean;516    readonly asArray32: U8aFixed;517    readonly isBlob: boolean;518    readonly asBlob: Bytes;519    readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';520  }521522  /** @name OrmlTokensModuleEvent (59) */523  interface OrmlTokensModuleEvent extends Enum {524    readonly isEndowed: boolean;525    readonly asEndowed: {526      readonly currencyId: PalletForeignAssetsAssetIds;527      readonly who: AccountId32;528      readonly amount: u128;529    } & Struct;530    readonly isDustLost: boolean;531    readonly asDustLost: {532      readonly currencyId: PalletForeignAssetsAssetIds;533      readonly who: AccountId32;534      readonly amount: u128;535    } & Struct;536    readonly isTransfer: boolean;537    readonly asTransfer: {538      readonly currencyId: PalletForeignAssetsAssetIds;539      readonly from: AccountId32;540      readonly to: AccountId32;541      readonly amount: u128;542    } & Struct;543    readonly isReserved: boolean;544    readonly asReserved: {545      readonly currencyId: PalletForeignAssetsAssetIds;546      readonly who: AccountId32;547      readonly amount: u128;548    } & Struct;549    readonly isUnreserved: boolean;550    readonly asUnreserved: {551      readonly currencyId: PalletForeignAssetsAssetIds;552      readonly who: AccountId32;553      readonly amount: u128;554    } & Struct;555    readonly isReserveRepatriated: boolean;556    readonly asReserveRepatriated: {557      readonly currencyId: PalletForeignAssetsAssetIds;558      readonly from: AccountId32;559      readonly to: AccountId32;560      readonly amount: u128;561      readonly status: FrameSupportTokensMiscBalanceStatus;562    } & Struct;563    readonly isBalanceSet: boolean;564    readonly asBalanceSet: {565      readonly currencyId: PalletForeignAssetsAssetIds;566      readonly who: AccountId32;567      readonly free: u128;568      readonly reserved: u128;569    } & Struct;570    readonly isTotalIssuanceSet: boolean;571    readonly asTotalIssuanceSet: {572      readonly currencyId: PalletForeignAssetsAssetIds;573      readonly amount: u128;574    } & Struct;575    readonly isWithdrawn: boolean;576    readonly asWithdrawn: {577      readonly currencyId: PalletForeignAssetsAssetIds;578      readonly who: AccountId32;579      readonly amount: u128;580    } & Struct;581    readonly isSlashed: boolean;582    readonly asSlashed: {583      readonly currencyId: PalletForeignAssetsAssetIds;584      readonly who: AccountId32;585      readonly freeAmount: u128;586      readonly reservedAmount: u128;587    } & Struct;588    readonly isDeposited: boolean;589    readonly asDeposited: {590      readonly currencyId: PalletForeignAssetsAssetIds;591      readonly who: AccountId32;592      readonly amount: u128;593    } & Struct;594    readonly isLockSet: boolean;595    readonly asLockSet: {596      readonly lockId: U8aFixed;597      readonly currencyId: PalletForeignAssetsAssetIds;598      readonly who: AccountId32;599      readonly amount: u128;600    } & Struct;601    readonly isLockRemoved: boolean;602    readonly asLockRemoved: {603      readonly lockId: U8aFixed;604      readonly currencyId: PalletForeignAssetsAssetIds;605      readonly who: AccountId32;606    } & Struct;607    readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';608  }609610  /** @name PalletForeignAssetsAssetIds (60) */611  interface PalletForeignAssetsAssetIds extends Enum {612    readonly isForeignAssetId: boolean;613    readonly asForeignAssetId: u32;614    readonly isNativeAssetId: boolean;615    readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;616    readonly type: 'ForeignAssetId' | 'NativeAssetId';617  }618619  /** @name PalletForeignAssetsNativeCurrency (61) */620  interface PalletForeignAssetsNativeCurrency extends Enum {621    readonly isHere: boolean;622    readonly isParent: boolean;623    readonly type: 'Here' | 'Parent';624  }625626  /** @name CumulusPalletXcmpQueueEvent (62) */627  interface CumulusPalletXcmpQueueEvent extends Enum {628    readonly isSuccess: boolean;629    readonly asSuccess: {630      readonly messageHash: Option<H256>;631      readonly weight: Weight;632    } & Struct;633    readonly isFail: boolean;634    readonly asFail: {635      readonly messageHash: Option<H256>;636      readonly error: XcmV2TraitsError;637      readonly weight: Weight;638    } & Struct;639    readonly isBadVersion: boolean;640    readonly asBadVersion: {641      readonly messageHash: Option<H256>;642    } & Struct;643    readonly isBadFormat: boolean;644    readonly asBadFormat: {645      readonly messageHash: Option<H256>;646    } & Struct;647    readonly isUpwardMessageSent: boolean;648    readonly asUpwardMessageSent: {649      readonly messageHash: Option<H256>;650    } & Struct;651    readonly isXcmpMessageSent: boolean;652    readonly asXcmpMessageSent: {653      readonly messageHash: Option<H256>;654    } & Struct;655    readonly isOverweightEnqueued: boolean;656    readonly asOverweightEnqueued: {657      readonly sender: u32;658      readonly sentAt: u32;659      readonly index: u64;660      readonly required: Weight;661    } & Struct;662    readonly isOverweightServiced: boolean;663    readonly asOverweightServiced: {664      readonly index: u64;665      readonly used: Weight;666    } & Struct;667    readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';668  }669670  /** @name XcmV2TraitsError (64) */671  interface XcmV2TraitsError extends Enum {672    readonly isOverflow: boolean;673    readonly isUnimplemented: boolean;674    readonly isUntrustedReserveLocation: boolean;675    readonly isUntrustedTeleportLocation: boolean;676    readonly isMultiLocationFull: boolean;677    readonly isMultiLocationNotInvertible: boolean;678    readonly isBadOrigin: boolean;679    readonly isInvalidLocation: boolean;680    readonly isAssetNotFound: boolean;681    readonly isFailedToTransactAsset: boolean;682    readonly isNotWithdrawable: boolean;683    readonly isLocationCannotHold: boolean;684    readonly isExceedsMaxMessageSize: boolean;685    readonly isDestinationUnsupported: boolean;686    readonly isTransport: boolean;687    readonly isUnroutable: boolean;688    readonly isUnknownClaim: boolean;689    readonly isFailedToDecode: boolean;690    readonly isMaxWeightInvalid: boolean;691    readonly isNotHoldingFees: boolean;692    readonly isTooExpensive: boolean;693    readonly isTrap: boolean;694    readonly asTrap: u64;695    readonly isUnhandledXcmVersion: boolean;696    readonly isWeightLimitReached: boolean;697    readonly asWeightLimitReached: u64;698    readonly isBarrier: boolean;699    readonly isWeightNotComputable: boolean;700    readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';701  }702703  /** @name PalletXcmEvent (66) */704  interface PalletXcmEvent extends Enum {705    readonly isAttempted: boolean;706    readonly asAttempted: XcmV2TraitsOutcome;707    readonly isSent: boolean;708    readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;709    readonly isUnexpectedResponse: boolean;710    readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;711    readonly isResponseReady: boolean;712    readonly asResponseReady: ITuple<[u64, XcmV2Response]>;713    readonly isNotified: boolean;714    readonly asNotified: ITuple<[u64, u8, u8]>;715    readonly isNotifyOverweight: boolean;716    readonly asNotifyOverweight: ITuple<[u64, u8, u8, Weight, Weight]>;717    readonly isNotifyDispatchError: boolean;718    readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;719    readonly isNotifyDecodeFailed: boolean;720    readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;721    readonly isInvalidResponder: boolean;722    readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;723    readonly isInvalidResponderVersion: boolean;724    readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;725    readonly isResponseTaken: boolean;726    readonly asResponseTaken: u64;727    readonly isAssetsTrapped: boolean;728    readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;729    readonly isVersionChangeNotified: boolean;730    readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;731    readonly isSupportedVersionChanged: boolean;732    readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;733    readonly isNotifyTargetSendFail: boolean;734    readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;735    readonly isNotifyTargetMigrationFail: boolean;736    readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;737    readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';738  }739740  /** @name XcmV2TraitsOutcome (67) */741  interface XcmV2TraitsOutcome extends Enum {742    readonly isComplete: boolean;743    readonly asComplete: u64;744    readonly isIncomplete: boolean;745    readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;746    readonly isError: boolean;747    readonly asError: XcmV2TraitsError;748    readonly type: 'Complete' | 'Incomplete' | 'Error';749  }750751  /** @name XcmV2Xcm (68) */752  interface XcmV2Xcm extends Vec<XcmV2Instruction> {}753754  /** @name XcmV2Instruction (70) */755  interface XcmV2Instruction extends Enum {756    readonly isWithdrawAsset: boolean;757    readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;758    readonly isReserveAssetDeposited: boolean;759    readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;760    readonly isReceiveTeleportedAsset: boolean;761    readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;762    readonly isQueryResponse: boolean;763    readonly asQueryResponse: {764      readonly queryId: Compact<u64>;765      readonly response: XcmV2Response;766      readonly maxWeight: Compact<u64>;767    } & Struct;768    readonly isTransferAsset: boolean;769    readonly asTransferAsset: {770      readonly assets: XcmV1MultiassetMultiAssets;771      readonly beneficiary: XcmV1MultiLocation;772    } & Struct;773    readonly isTransferReserveAsset: boolean;774    readonly asTransferReserveAsset: {775      readonly assets: XcmV1MultiassetMultiAssets;776      readonly dest: XcmV1MultiLocation;777      readonly xcm: XcmV2Xcm;778    } & Struct;779    readonly isTransact: boolean;780    readonly asTransact: {781      readonly originType: XcmV0OriginKind;782      readonly requireWeightAtMost: Compact<u64>;783      readonly call: XcmDoubleEncoded;784    } & Struct;785    readonly isHrmpNewChannelOpenRequest: boolean;786    readonly asHrmpNewChannelOpenRequest: {787      readonly sender: Compact<u32>;788      readonly maxMessageSize: Compact<u32>;789      readonly maxCapacity: Compact<u32>;790    } & Struct;791    readonly isHrmpChannelAccepted: boolean;792    readonly asHrmpChannelAccepted: {793      readonly recipient: Compact<u32>;794    } & Struct;795    readonly isHrmpChannelClosing: boolean;796    readonly asHrmpChannelClosing: {797      readonly initiator: Compact<u32>;798      readonly sender: Compact<u32>;799      readonly recipient: Compact<u32>;800    } & Struct;801    readonly isClearOrigin: boolean;802    readonly isDescendOrigin: boolean;803    readonly asDescendOrigin: XcmV1MultilocationJunctions;804    readonly isReportError: boolean;805    readonly asReportError: {806      readonly queryId: Compact<u64>;807      readonly dest: XcmV1MultiLocation;808      readonly maxResponseWeight: Compact<u64>;809    } & Struct;810    readonly isDepositAsset: boolean;811    readonly asDepositAsset: {812      readonly assets: XcmV1MultiassetMultiAssetFilter;813      readonly maxAssets: Compact<u32>;814      readonly beneficiary: XcmV1MultiLocation;815    } & Struct;816    readonly isDepositReserveAsset: boolean;817    readonly asDepositReserveAsset: {818      readonly assets: XcmV1MultiassetMultiAssetFilter;819      readonly maxAssets: Compact<u32>;820      readonly dest: XcmV1MultiLocation;821      readonly xcm: XcmV2Xcm;822    } & Struct;823    readonly isExchangeAsset: boolean;824    readonly asExchangeAsset: {825      readonly give: XcmV1MultiassetMultiAssetFilter;826      readonly receive: XcmV1MultiassetMultiAssets;827    } & Struct;828    readonly isInitiateReserveWithdraw: boolean;829    readonly asInitiateReserveWithdraw: {830      readonly assets: XcmV1MultiassetMultiAssetFilter;831      readonly reserve: XcmV1MultiLocation;832      readonly xcm: XcmV2Xcm;833    } & Struct;834    readonly isInitiateTeleport: boolean;835    readonly asInitiateTeleport: {836      readonly assets: XcmV1MultiassetMultiAssetFilter;837      readonly dest: XcmV1MultiLocation;838      readonly xcm: XcmV2Xcm;839    } & Struct;840    readonly isQueryHolding: boolean;841    readonly asQueryHolding: {842      readonly queryId: Compact<u64>;843      readonly dest: XcmV1MultiLocation;844      readonly assets: XcmV1MultiassetMultiAssetFilter;845      readonly maxResponseWeight: Compact<u64>;846    } & Struct;847    readonly isBuyExecution: boolean;848    readonly asBuyExecution: {849      readonly fees: XcmV1MultiAsset;850      readonly weightLimit: XcmV2WeightLimit;851    } & Struct;852    readonly isRefundSurplus: boolean;853    readonly isSetErrorHandler: boolean;854    readonly asSetErrorHandler: XcmV2Xcm;855    readonly isSetAppendix: boolean;856    readonly asSetAppendix: XcmV2Xcm;857    readonly isClearError: boolean;858    readonly isClaimAsset: boolean;859    readonly asClaimAsset: {860      readonly assets: XcmV1MultiassetMultiAssets;861      readonly ticket: XcmV1MultiLocation;862    } & Struct;863    readonly isTrap: boolean;864    readonly asTrap: Compact<u64>;865    readonly isSubscribeVersion: boolean;866    readonly asSubscribeVersion: {867      readonly queryId: Compact<u64>;868      readonly maxResponseWeight: Compact<u64>;869    } & Struct;870    readonly isUnsubscribeVersion: boolean;871    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';872  }873874  /** @name XcmV2Response (71) */875  interface XcmV2Response extends Enum {876    readonly isNull: boolean;877    readonly isAssets: boolean;878    readonly asAssets: XcmV1MultiassetMultiAssets;879    readonly isExecutionResult: boolean;880    readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;881    readonly isVersion: boolean;882    readonly asVersion: u32;883    readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';884  }885886  /** @name XcmV0OriginKind (74) */887  interface XcmV0OriginKind extends Enum {888    readonly isNative: boolean;889    readonly isSovereignAccount: boolean;890    readonly isSuperuser: boolean;891    readonly isXcm: boolean;892    readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';893  }894895  /** @name XcmDoubleEncoded (75) */896  interface XcmDoubleEncoded extends Struct {897    readonly encoded: Bytes;898  }899900  /** @name XcmV1MultiassetMultiAssetFilter (76) */901  interface XcmV1MultiassetMultiAssetFilter extends Enum {902    readonly isDefinite: boolean;903    readonly asDefinite: XcmV1MultiassetMultiAssets;904    readonly isWild: boolean;905    readonly asWild: XcmV1MultiassetWildMultiAsset;906    readonly type: 'Definite' | 'Wild';907  }908909  /** @name XcmV1MultiassetWildMultiAsset (77) */910  interface XcmV1MultiassetWildMultiAsset extends Enum {911    readonly isAll: boolean;912    readonly isAllOf: boolean;913    readonly asAllOf: {914      readonly id: XcmV1MultiassetAssetId;915      readonly fun: XcmV1MultiassetWildFungibility;916    } & Struct;917    readonly type: 'All' | 'AllOf';918  }919920  /** @name XcmV1MultiassetWildFungibility (78) */921  interface XcmV1MultiassetWildFungibility extends Enum {922    readonly isFungible: boolean;923    readonly isNonFungible: boolean;924    readonly type: 'Fungible' | 'NonFungible';925  }926927  /** @name XcmV2WeightLimit (79) */928  interface XcmV2WeightLimit extends Enum {929    readonly isUnlimited: boolean;930    readonly isLimited: boolean;931    readonly asLimited: Compact<u64>;932    readonly type: 'Unlimited' | 'Limited';933  }934935  /** @name XcmVersionedMultiAssets (81) */936  interface XcmVersionedMultiAssets extends Enum {937    readonly isV0: boolean;938    readonly asV0: Vec<XcmV0MultiAsset>;939    readonly isV1: boolean;940    readonly asV1: XcmV1MultiassetMultiAssets;941    readonly type: 'V0' | 'V1';942  }943944  /** @name XcmV0MultiAsset (83) */945  interface XcmV0MultiAsset extends Enum {946    readonly isNone: boolean;947    readonly isAll: boolean;948    readonly isAllFungible: boolean;949    readonly isAllNonFungible: boolean;950    readonly isAllAbstractFungible: boolean;951    readonly asAllAbstractFungible: {952      readonly id: Bytes;953    } & Struct;954    readonly isAllAbstractNonFungible: boolean;955    readonly asAllAbstractNonFungible: {956      readonly class: Bytes;957    } & Struct;958    readonly isAllConcreteFungible: boolean;959    readonly asAllConcreteFungible: {960      readonly id: XcmV0MultiLocation;961    } & Struct;962    readonly isAllConcreteNonFungible: boolean;963    readonly asAllConcreteNonFungible: {964      readonly class: XcmV0MultiLocation;965    } & Struct;966    readonly isAbstractFungible: boolean;967    readonly asAbstractFungible: {968      readonly id: Bytes;969      readonly amount: Compact<u128>;970    } & Struct;971    readonly isAbstractNonFungible: boolean;972    readonly asAbstractNonFungible: {973      readonly class: Bytes;974      readonly instance: XcmV1MultiassetAssetInstance;975    } & Struct;976    readonly isConcreteFungible: boolean;977    readonly asConcreteFungible: {978      readonly id: XcmV0MultiLocation;979      readonly amount: Compact<u128>;980    } & Struct;981    readonly isConcreteNonFungible: boolean;982    readonly asConcreteNonFungible: {983      readonly class: XcmV0MultiLocation;984      readonly instance: XcmV1MultiassetAssetInstance;985    } & Struct;986    readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';987  }988989  /** @name XcmV0MultiLocation (84) */990  interface XcmV0MultiLocation extends Enum {991    readonly isNull: boolean;992    readonly isX1: boolean;993    readonly asX1: XcmV0Junction;994    readonly isX2: boolean;995    readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;996    readonly isX3: boolean;997    readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;998    readonly isX4: boolean;999    readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1000    readonly isX5: boolean;1001    readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1002    readonly isX6: boolean;1003    readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1004    readonly isX7: boolean;1005    readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1006    readonly isX8: boolean;1007    readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1008    readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1009  }10101011  /** @name XcmV0Junction (85) */1012  interface XcmV0Junction extends Enum {1013    readonly isParent: boolean;1014    readonly isParachain: boolean;1015    readonly asParachain: Compact<u32>;1016    readonly isAccountId32: boolean;1017    readonly asAccountId32: {1018      readonly network: XcmV0JunctionNetworkId;1019      readonly id: U8aFixed;1020    } & Struct;1021    readonly isAccountIndex64: boolean;1022    readonly asAccountIndex64: {1023      readonly network: XcmV0JunctionNetworkId;1024      readonly index: Compact<u64>;1025    } & Struct;1026    readonly isAccountKey20: boolean;1027    readonly asAccountKey20: {1028      readonly network: XcmV0JunctionNetworkId;1029      readonly key: U8aFixed;1030    } & Struct;1031    readonly isPalletInstance: boolean;1032    readonly asPalletInstance: u8;1033    readonly isGeneralIndex: boolean;1034    readonly asGeneralIndex: Compact<u128>;1035    readonly isGeneralKey: boolean;1036    readonly asGeneralKey: Bytes;1037    readonly isOnlyChild: boolean;1038    readonly isPlurality: boolean;1039    readonly asPlurality: {1040      readonly id: XcmV0JunctionBodyId;1041      readonly part: XcmV0JunctionBodyPart;1042    } & Struct;1043    readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1044  }10451046  /** @name XcmVersionedMultiLocation (86) */1047  interface XcmVersionedMultiLocation extends Enum {1048    readonly isV0: boolean;1049    readonly asV0: XcmV0MultiLocation;1050    readonly isV1: boolean;1051    readonly asV1: XcmV1MultiLocation;1052    readonly type: 'V0' | 'V1';1053  }10541055  /** @name CumulusPalletXcmEvent (87) */1056  interface CumulusPalletXcmEvent extends Enum {1057    readonly isInvalidFormat: boolean;1058    readonly asInvalidFormat: U8aFixed;1059    readonly isUnsupportedVersion: boolean;1060    readonly asUnsupportedVersion: U8aFixed;1061    readonly isExecutedDownward: boolean;1062    readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;1063    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1064  }10651066  /** @name CumulusPalletDmpQueueEvent (88) */1067  interface CumulusPalletDmpQueueEvent extends Enum {1068    readonly isInvalidFormat: boolean;1069    readonly asInvalidFormat: {1070      readonly messageId: U8aFixed;1071    } & Struct;1072    readonly isUnsupportedVersion: boolean;1073    readonly asUnsupportedVersion: {1074      readonly messageId: U8aFixed;1075    } & Struct;1076    readonly isExecutedDownward: boolean;1077    readonly asExecutedDownward: {1078      readonly messageId: U8aFixed;1079      readonly outcome: XcmV2TraitsOutcome;1080    } & Struct;1081    readonly isWeightExhausted: boolean;1082    readonly asWeightExhausted: {1083      readonly messageId: U8aFixed;1084      readonly remainingWeight: Weight;1085      readonly requiredWeight: Weight;1086    } & Struct;1087    readonly isOverweightEnqueued: boolean;1088    readonly asOverweightEnqueued: {1089      readonly messageId: U8aFixed;1090      readonly overweightIndex: u64;1091      readonly requiredWeight: Weight;1092    } & Struct;1093    readonly isOverweightServiced: boolean;1094    readonly asOverweightServiced: {1095      readonly overweightIndex: u64;1096      readonly weightUsed: Weight;1097    } & Struct;1098    readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1099  }11001101  /** @name PalletUniqueRawEvent (89) */1102  interface PalletUniqueRawEvent extends Enum {1103    readonly isCollectionSponsorRemoved: boolean;1104    readonly asCollectionSponsorRemoved: u32;1105    readonly isCollectionAdminAdded: boolean;1106    readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1107    readonly isCollectionOwnedChanged: boolean;1108    readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1109    readonly isCollectionSponsorSet: boolean;1110    readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1111    readonly isSponsorshipConfirmed: boolean;1112    readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1113    readonly isCollectionAdminRemoved: boolean;1114    readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1115    readonly isAllowListAddressRemoved: boolean;1116    readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1117    readonly isAllowListAddressAdded: boolean;1118    readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1119    readonly isCollectionLimitSet: boolean;1120    readonly asCollectionLimitSet: u32;1121    readonly isCollectionPermissionSet: boolean;1122    readonly asCollectionPermissionSet: u32;1123    readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1124  }11251126  /** @name PalletEvmAccountBasicCrossAccountIdRepr (90) */1127  interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1128    readonly isSubstrate: boolean;1129    readonly asSubstrate: AccountId32;1130    readonly isEthereum: boolean;1131    readonly asEthereum: H160;1132    readonly type: 'Substrate' | 'Ethereum';1133  }11341135  /** @name PalletCommonEvent (93) */1136  interface PalletCommonEvent extends Enum {1137    readonly isCollectionCreated: boolean;1138    readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1139    readonly isCollectionDestroyed: boolean;1140    readonly asCollectionDestroyed: u32;1141    readonly isItemCreated: boolean;1142    readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1143    readonly isItemDestroyed: boolean;1144    readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1145    readonly isTransfer: boolean;1146    readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1147    readonly isApproved: boolean;1148    readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1149    readonly isCollectionPropertySet: boolean;1150    readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1151    readonly isCollectionPropertyDeleted: boolean;1152    readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1153    readonly isTokenPropertySet: boolean;1154    readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1155    readonly isTokenPropertyDeleted: boolean;1156    readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1157    readonly isPropertyPermissionSet: boolean;1158    readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1159    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1160  }11611162  /** @name PalletStructureEvent (96) */1163  interface PalletStructureEvent extends Enum {1164    readonly isExecuted: boolean;1165    readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1166    readonly type: 'Executed';1167  }11681169  /** @name PalletRmrkCoreEvent (97) */1170  interface PalletRmrkCoreEvent extends Enum {1171    readonly isCollectionCreated: boolean;1172    readonly asCollectionCreated: {1173      readonly issuer: AccountId32;1174      readonly collectionId: u32;1175    } & Struct;1176    readonly isCollectionDestroyed: boolean;1177    readonly asCollectionDestroyed: {1178      readonly issuer: AccountId32;1179      readonly collectionId: u32;1180    } & Struct;1181    readonly isIssuerChanged: boolean;1182    readonly asIssuerChanged: {1183      readonly oldIssuer: AccountId32;1184      readonly newIssuer: AccountId32;1185      readonly collectionId: u32;1186    } & Struct;1187    readonly isCollectionLocked: boolean;1188    readonly asCollectionLocked: {1189      readonly issuer: AccountId32;1190      readonly collectionId: u32;1191    } & Struct;1192    readonly isNftMinted: boolean;1193    readonly asNftMinted: {1194      readonly owner: AccountId32;1195      readonly collectionId: u32;1196      readonly nftId: u32;1197    } & Struct;1198    readonly isNftBurned: boolean;1199    readonly asNftBurned: {1200      readonly owner: AccountId32;1201      readonly nftId: u32;1202    } & Struct;1203    readonly isNftSent: boolean;1204    readonly asNftSent: {1205      readonly sender: AccountId32;1206      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1207      readonly collectionId: u32;1208      readonly nftId: u32;1209      readonly approvalRequired: bool;1210    } & Struct;1211    readonly isNftAccepted: boolean;1212    readonly asNftAccepted: {1213      readonly sender: AccountId32;1214      readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1215      readonly collectionId: u32;1216      readonly nftId: u32;1217    } & Struct;1218    readonly isNftRejected: boolean;1219    readonly asNftRejected: {1220      readonly sender: AccountId32;1221      readonly collectionId: u32;1222      readonly nftId: u32;1223    } & Struct;1224    readonly isPropertySet: boolean;1225    readonly asPropertySet: {1226      readonly collectionId: u32;1227      readonly maybeNftId: Option<u32>;1228      readonly key: Bytes;1229      readonly value: Bytes;1230    } & Struct;1231    readonly isResourceAdded: boolean;1232    readonly asResourceAdded: {1233      readonly nftId: u32;1234      readonly resourceId: u32;1235    } & Struct;1236    readonly isResourceRemoval: boolean;1237    readonly asResourceRemoval: {1238      readonly nftId: u32;1239      readonly resourceId: u32;1240    } & Struct;1241    readonly isResourceAccepted: boolean;1242    readonly asResourceAccepted: {1243      readonly nftId: u32;1244      readonly resourceId: u32;1245    } & Struct;1246    readonly isResourceRemovalAccepted: boolean;1247    readonly asResourceRemovalAccepted: {1248      readonly nftId: u32;1249      readonly resourceId: u32;1250    } & Struct;1251    readonly isPrioritySet: boolean;1252    readonly asPrioritySet: {1253      readonly collectionId: u32;1254      readonly nftId: u32;1255    } & Struct;1256    readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1257  }12581259  /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */1260  interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1261    readonly isAccountId: boolean;1262    readonly asAccountId: AccountId32;1263    readonly isCollectionAndNftTuple: boolean;1264    readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1265    readonly type: 'AccountId' | 'CollectionAndNftTuple';1266  }12671268  /** @name PalletRmrkEquipEvent (103) */1269  interface PalletRmrkEquipEvent extends Enum {1270    readonly isBaseCreated: boolean;1271    readonly asBaseCreated: {1272      readonly issuer: AccountId32;1273      readonly baseId: u32;1274    } & Struct;1275    readonly isEquippablesUpdated: boolean;1276    readonly asEquippablesUpdated: {1277      readonly baseId: u32;1278      readonly slotId: u32;1279    } & Struct;1280    readonly type: 'BaseCreated' | 'EquippablesUpdated';1281  }12821283  /** @name PalletAppPromotionEvent (104) */1284  interface PalletAppPromotionEvent extends Enum {1285    readonly isStakingRecalculation: boolean;1286    readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1287    readonly isStake: boolean;1288    readonly asStake: ITuple<[AccountId32, u128]>;1289    readonly isUnstake: boolean;1290    readonly asUnstake: ITuple<[AccountId32, u128]>;1291    readonly isSetAdmin: boolean;1292    readonly asSetAdmin: AccountId32;1293    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1294  }12951296  /** @name PalletForeignAssetsModuleEvent (105) */1297  interface PalletForeignAssetsModuleEvent extends Enum {1298    readonly isForeignAssetRegistered: boolean;1299    readonly asForeignAssetRegistered: {1300      readonly assetId: u32;1301      readonly assetAddress: XcmV1MultiLocation;1302      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1303    } & Struct;1304    readonly isForeignAssetUpdated: boolean;1305    readonly asForeignAssetUpdated: {1306      readonly assetId: u32;1307      readonly assetAddress: XcmV1MultiLocation;1308      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1309    } & Struct;1310    readonly isAssetRegistered: boolean;1311    readonly asAssetRegistered: {1312      readonly assetId: PalletForeignAssetsAssetIds;1313      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1314    } & Struct;1315    readonly isAssetUpdated: boolean;1316    readonly asAssetUpdated: {1317      readonly assetId: PalletForeignAssetsAssetIds;1318      readonly metadata: PalletForeignAssetsModuleAssetMetadata;1319    } & Struct;1320    readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1321  }13221323  /** @name PalletForeignAssetsModuleAssetMetadata (106) */1324  interface PalletForeignAssetsModuleAssetMetadata extends Struct {1325    readonly name: Bytes;1326    readonly symbol: Bytes;1327    readonly decimals: u8;1328    readonly minimalBalance: u128;1329  }13301331  /** @name PalletEvmEvent (107) */1332  interface PalletEvmEvent extends Enum {1333    readonly isLog: boolean;1334    readonly asLog: EthereumLog;1335    readonly isCreated: boolean;1336    readonly asCreated: H160;1337    readonly isCreatedFailed: boolean;1338    readonly asCreatedFailed: H160;1339    readonly isExecuted: boolean;1340    readonly asExecuted: H160;1341    readonly isExecutedFailed: boolean;1342    readonly asExecutedFailed: H160;1343    readonly isBalanceDeposit: boolean;1344    readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1345    readonly isBalanceWithdraw: boolean;1346    readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1347    readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1348  }13491350  /** @name EthereumLog (108) */1351  interface EthereumLog extends Struct {1352    readonly address: H160;1353    readonly topics: Vec<H256>;1354    readonly data: Bytes;1355  }13561357  /** @name PalletEthereumEvent (112) */1358  interface PalletEthereumEvent extends Enum {1359    readonly isExecuted: boolean;1360    readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1361    readonly type: 'Executed';1362  }13631364  /** @name EvmCoreErrorExitReason (113) */1365  interface EvmCoreErrorExitReason extends Enum {1366    readonly isSucceed: boolean;1367    readonly asSucceed: EvmCoreErrorExitSucceed;1368    readonly isError: boolean;1369    readonly asError: EvmCoreErrorExitError;1370    readonly isRevert: boolean;1371    readonly asRevert: EvmCoreErrorExitRevert;1372    readonly isFatal: boolean;1373    readonly asFatal: EvmCoreErrorExitFatal;1374    readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1375  }13761377  /** @name EvmCoreErrorExitSucceed (114) */1378  interface EvmCoreErrorExitSucceed extends Enum {1379    readonly isStopped: boolean;1380    readonly isReturned: boolean;1381    readonly isSuicided: boolean;1382    readonly type: 'Stopped' | 'Returned' | 'Suicided';1383  }13841385  /** @name EvmCoreErrorExitError (115) */1386  interface EvmCoreErrorExitError extends Enum {1387    readonly isStackUnderflow: boolean;1388    readonly isStackOverflow: boolean;1389    readonly isInvalidJump: boolean;1390    readonly isInvalidRange: boolean;1391    readonly isDesignatedInvalid: boolean;1392    readonly isCallTooDeep: boolean;1393    readonly isCreateCollision: boolean;1394    readonly isCreateContractLimit: boolean;1395    readonly isOutOfOffset: boolean;1396    readonly isOutOfGas: boolean;1397    readonly isOutOfFund: boolean;1398    readonly isPcUnderflow: boolean;1399    readonly isCreateEmpty: boolean;1400    readonly isOther: boolean;1401    readonly asOther: Text;1402    readonly isInvalidCode: boolean;1403    readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1404  }14051406  /** @name EvmCoreErrorExitRevert (118) */1407  interface EvmCoreErrorExitRevert extends Enum {1408    readonly isReverted: boolean;1409    readonly type: 'Reverted';1410  }14111412  /** @name EvmCoreErrorExitFatal (119) */1413  interface EvmCoreErrorExitFatal extends Enum {1414    readonly isNotSupported: boolean;1415    readonly isUnhandledInterrupt: boolean;1416    readonly isCallErrorAsFatal: boolean;1417    readonly asCallErrorAsFatal: EvmCoreErrorExitError;1418    readonly isOther: boolean;1419    readonly asOther: Text;1420    readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1421  }14221423  /** @name PalletEvmContractHelpersEvent (120) */1424  interface PalletEvmContractHelpersEvent extends Enum {1425    readonly isContractSponsorSet: boolean;1426    readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1427    readonly isContractSponsorshipConfirmed: boolean;1428    readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1429    readonly isContractSponsorRemoved: boolean;1430    readonly asContractSponsorRemoved: H160;1431    readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1432  }14331434  /** @name FrameSystemPhase (121) */1435  interface FrameSystemPhase extends Enum {1436    readonly isApplyExtrinsic: boolean;1437    readonly asApplyExtrinsic: u32;1438    readonly isFinalization: boolean;1439    readonly isInitialization: boolean;1440    readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1441  }14421443  /** @name FrameSystemLastRuntimeUpgradeInfo (124) */1444  interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1445    readonly specVersion: Compact<u32>;1446    readonly specName: Text;1447  }14481449  /** @name FrameSystemCall (125) */1450  interface FrameSystemCall extends Enum {1451    readonly isFillBlock: boolean;1452    readonly asFillBlock: {1453      readonly ratio: Perbill;1454    } & Struct;1455    readonly isRemark: boolean;1456    readonly asRemark: {1457      readonly remark: Bytes;1458    } & Struct;1459    readonly isSetHeapPages: boolean;1460    readonly asSetHeapPages: {1461      readonly pages: u64;1462    } & Struct;1463    readonly isSetCode: boolean;1464    readonly asSetCode: {1465      readonly code: Bytes;1466    } & Struct;1467    readonly isSetCodeWithoutChecks: boolean;1468    readonly asSetCodeWithoutChecks: {1469      readonly code: Bytes;1470    } & Struct;1471    readonly isSetStorage: boolean;1472    readonly asSetStorage: {1473      readonly items: Vec<ITuple<[Bytes, Bytes]>>;1474    } & Struct;1475    readonly isKillStorage: boolean;1476    readonly asKillStorage: {1477      readonly keys_: Vec<Bytes>;1478    } & Struct;1479    readonly isKillPrefix: boolean;1480    readonly asKillPrefix: {1481      readonly prefix: Bytes;1482      readonly subkeys: u32;1483    } & Struct;1484    readonly isRemarkWithEvent: boolean;1485    readonly asRemarkWithEvent: {1486      readonly remark: Bytes;1487    } & Struct;1488    readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1489  }14901491  /** @name FrameSystemLimitsBlockWeights (130) */1492  interface FrameSystemLimitsBlockWeights extends Struct {1493    readonly baseBlock: Weight;1494    readonly maxBlock: Weight;1495    readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1496  }14971498  /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */1499  interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1500    readonly normal: FrameSystemLimitsWeightsPerClass;1501    readonly operational: FrameSystemLimitsWeightsPerClass;1502    readonly mandatory: FrameSystemLimitsWeightsPerClass;1503  }15041505  /** @name FrameSystemLimitsWeightsPerClass (132) */1506  interface FrameSystemLimitsWeightsPerClass extends Struct {1507    readonly baseExtrinsic: Weight;1508    readonly maxExtrinsic: Option<Weight>;1509    readonly maxTotal: Option<Weight>;1510    readonly reserved: Option<Weight>;1511  }15121513  /** @name FrameSystemLimitsBlockLength (134) */1514  interface FrameSystemLimitsBlockLength extends Struct {1515    readonly max: FrameSupportDispatchPerDispatchClassU32;1516  }15171518  /** @name FrameSupportDispatchPerDispatchClassU32 (135) */1519  interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1520    readonly normal: u32;1521    readonly operational: u32;1522    readonly mandatory: u32;1523  }15241525  /** @name SpWeightsRuntimeDbWeight (136) */1526  interface SpWeightsRuntimeDbWeight extends Struct {1527    readonly read: u64;1528    readonly write: u64;1529  }15301531  /** @name SpVersionRuntimeVersion (137) */1532  interface SpVersionRuntimeVersion extends Struct {1533    readonly specName: Text;1534    readonly implName: Text;1535    readonly authoringVersion: u32;1536    readonly specVersion: u32;1537    readonly implVersion: u32;1538    readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1539    readonly transactionVersion: u32;1540    readonly stateVersion: u8;1541  }15421543  /** @name FrameSystemError (142) */1544  interface FrameSystemError extends Enum {1545    readonly isInvalidSpecName: boolean;1546    readonly isSpecVersionNeedsToIncrease: boolean;1547    readonly isFailedToExtractRuntimeVersion: boolean;1548    readonly isNonDefaultComposite: boolean;1549    readonly isNonZeroRefCount: boolean;1550    readonly isCallFiltered: boolean;1551    readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1552  }15531554  /** @name PolkadotPrimitivesV2PersistedValidationData (143) */1555  interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1556    readonly parentHead: Bytes;1557    readonly relayParentNumber: u32;1558    readonly relayParentStorageRoot: H256;1559    readonly maxPovSize: u32;1560  }15611562  /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */1563  interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1564    readonly isPresent: boolean;1565    readonly type: 'Present';1566  }15671568  /** @name SpTrieStorageProof (147) */1569  interface SpTrieStorageProof extends Struct {1570    readonly trieNodes: BTreeSet<Bytes>;1571  }15721573  /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */1574  interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1575    readonly dmqMqcHead: H256;1576    readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1577    readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1578    readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1579  }15801581  /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */1582  interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1583    readonly maxCapacity: u32;1584    readonly maxTotalSize: u32;1585    readonly maxMessageSize: u32;1586    readonly msgCount: u32;1587    readonly totalSize: u32;1588    readonly mqcHead: Option<H256>;1589  }15901591  /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */1592  interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1593    readonly maxCodeSize: u32;1594    readonly maxHeadDataSize: u32;1595    readonly maxUpwardQueueCount: u32;1596    readonly maxUpwardQueueSize: u32;1597    readonly maxUpwardMessageSize: u32;1598    readonly maxUpwardMessageNumPerCandidate: u32;1599    readonly hrmpMaxMessageNumPerCandidate: u32;1600    readonly validationUpgradeCooldown: u32;1601    readonly validationUpgradeDelay: u32;1602  }16031604  /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */1605  interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1606    readonly recipient: u32;1607    readonly data: Bytes;1608  }16091610  /** @name CumulusPalletParachainSystemCall (160) */1611  interface CumulusPalletParachainSystemCall extends Enum {1612    readonly isSetValidationData: boolean;1613    readonly asSetValidationData: {1614      readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1615    } & Struct;1616    readonly isSudoSendUpwardMessage: boolean;1617    readonly asSudoSendUpwardMessage: {1618      readonly message: Bytes;1619    } & Struct;1620    readonly isAuthorizeUpgrade: boolean;1621    readonly asAuthorizeUpgrade: {1622      readonly codeHash: H256;1623    } & Struct;1624    readonly isEnactAuthorizedUpgrade: boolean;1625    readonly asEnactAuthorizedUpgrade: {1626      readonly code: Bytes;1627    } & Struct;1628    readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1629  }16301631  /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */1632  interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1633    readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1634    readonly relayChainState: SpTrieStorageProof;1635    readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1636    readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1637  }16381639  /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */1640  interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1641    readonly sentAt: u32;1642    readonly msg: Bytes;1643  }16441645  /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */1646  interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1647    readonly sentAt: u32;1648    readonly data: Bytes;1649  }16501651  /** @name CumulusPalletParachainSystemError (169) */1652  interface CumulusPalletParachainSystemError extends Enum {1653    readonly isOverlappingUpgrades: boolean;1654    readonly isProhibitedByPolkadot: boolean;1655    readonly isTooBig: boolean;1656    readonly isValidationDataNotAvailable: boolean;1657    readonly isHostConfigurationNotAvailable: boolean;1658    readonly isNotScheduled: boolean;1659    readonly isNothingAuthorized: boolean;1660    readonly isUnauthorized: boolean;1661    readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1662  }16631664  /** @name PalletBalancesBalanceLock (171) */1665  interface PalletBalancesBalanceLock extends Struct {1666    readonly id: U8aFixed;1667    readonly amount: u128;1668    readonly reasons: PalletBalancesReasons;1669  }16701671  /** @name PalletBalancesReasons (172) */1672  interface PalletBalancesReasons extends Enum {1673    readonly isFee: boolean;1674    readonly isMisc: boolean;1675    readonly isAll: boolean;1676    readonly type: 'Fee' | 'Misc' | 'All';1677  }16781679  /** @name PalletBalancesReserveData (175) */1680  interface PalletBalancesReserveData extends Struct {1681    readonly id: U8aFixed;1682    readonly amount: u128;1683  }16841685  /** @name PalletBalancesReleases (177) */1686  interface PalletBalancesReleases extends Enum {1687    readonly isV100: boolean;1688    readonly isV200: boolean;1689    readonly type: 'V100' | 'V200';1690  }16911692  /** @name PalletBalancesCall (178) */1693  interface PalletBalancesCall extends Enum {1694    readonly isTransfer: boolean;1695    readonly asTransfer: {1696      readonly dest: MultiAddress;1697      readonly value: Compact<u128>;1698    } & Struct;1699    readonly isSetBalance: boolean;1700    readonly asSetBalance: {1701      readonly who: MultiAddress;1702      readonly newFree: Compact<u128>;1703      readonly newReserved: Compact<u128>;1704    } & Struct;1705    readonly isForceTransfer: boolean;1706    readonly asForceTransfer: {1707      readonly source: MultiAddress;1708      readonly dest: MultiAddress;1709      readonly value: Compact<u128>;1710    } & Struct;1711    readonly isTransferKeepAlive: boolean;1712    readonly asTransferKeepAlive: {1713      readonly dest: MultiAddress;1714      readonly value: Compact<u128>;1715    } & Struct;1716    readonly isTransferAll: boolean;1717    readonly asTransferAll: {1718      readonly dest: MultiAddress;1719      readonly keepAlive: bool;1720    } & Struct;1721    readonly isForceUnreserve: boolean;1722    readonly asForceUnreserve: {1723      readonly who: MultiAddress;1724      readonly amount: u128;1725    } & Struct;1726    readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1727  }17281729  /** @name PalletBalancesError (181) */1730  interface PalletBalancesError extends Enum {1731    readonly isVestingBalance: boolean;1732    readonly isLiquidityRestrictions: boolean;1733    readonly isInsufficientBalance: boolean;1734    readonly isExistentialDeposit: boolean;1735    readonly isKeepAlive: boolean;1736    readonly isExistingVestingSchedule: boolean;1737    readonly isDeadAccount: boolean;1738    readonly isTooManyReserves: boolean;1739    readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1740  }17411742  /** @name PalletTimestampCall (183) */1743  interface PalletTimestampCall extends Enum {1744    readonly isSet: boolean;1745    readonly asSet: {1746      readonly now: Compact<u64>;1747    } & Struct;1748    readonly type: 'Set';1749  }17501751  /** @name PalletTransactionPaymentReleases (185) */1752  interface PalletTransactionPaymentReleases extends Enum {1753    readonly isV1Ancient: boolean;1754    readonly isV2: boolean;1755    readonly type: 'V1Ancient' | 'V2';1756  }17571758  /** @name PalletTreasuryProposal (186) */1759  interface PalletTreasuryProposal extends Struct {1760    readonly proposer: AccountId32;1761    readonly value: u128;1762    readonly beneficiary: AccountId32;1763    readonly bond: u128;1764  }17651766  /** @name PalletTreasuryCall (189) */1767  interface PalletTreasuryCall extends Enum {1768    readonly isProposeSpend: boolean;1769    readonly asProposeSpend: {1770      readonly value: Compact<u128>;1771      readonly beneficiary: MultiAddress;1772    } & Struct;1773    readonly isRejectProposal: boolean;1774    readonly asRejectProposal: {1775      readonly proposalId: Compact<u32>;1776    } & Struct;1777    readonly isApproveProposal: boolean;1778    readonly asApproveProposal: {1779      readonly proposalId: Compact<u32>;1780    } & Struct;1781    readonly isSpend: boolean;1782    readonly asSpend: {1783      readonly amount: Compact<u128>;1784      readonly beneficiary: MultiAddress;1785    } & Struct;1786    readonly isRemoveApproval: boolean;1787    readonly asRemoveApproval: {1788      readonly proposalId: Compact<u32>;1789    } & Struct;1790    readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1791  }17921793  /** @name FrameSupportPalletId (192) */1794  interface FrameSupportPalletId extends U8aFixed {}17951796  /** @name PalletTreasuryError (193) */1797  interface PalletTreasuryError extends Enum {1798    readonly isInsufficientProposersBalance: boolean;1799    readonly isInvalidIndex: boolean;1800    readonly isTooManyApprovals: boolean;1801    readonly isInsufficientPermission: boolean;1802    readonly isProposalNotApproved: boolean;1803    readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1804  }18051806  /** @name PalletSudoCall (194) */1807  interface PalletSudoCall extends Enum {1808    readonly isSudo: boolean;1809    readonly asSudo: {1810      readonly call: Call;1811    } & Struct;1812    readonly isSudoUncheckedWeight: boolean;1813    readonly asSudoUncheckedWeight: {1814      readonly call: Call;1815      readonly weight: Weight;1816    } & Struct;1817    readonly isSetKey: boolean;1818    readonly asSetKey: {1819      readonly new_: MultiAddress;1820    } & Struct;1821    readonly isSudoAs: boolean;1822    readonly asSudoAs: {1823      readonly who: MultiAddress;1824      readonly call: Call;1825    } & Struct;1826    readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1827  }18281829  /** @name OrmlVestingModuleCall (196) */1830  interface OrmlVestingModuleCall extends Enum {1831    readonly isClaim: boolean;1832    readonly isVestedTransfer: boolean;1833    readonly asVestedTransfer: {1834      readonly dest: MultiAddress;1835      readonly schedule: OrmlVestingVestingSchedule;1836    } & Struct;1837    readonly isUpdateVestingSchedules: boolean;1838    readonly asUpdateVestingSchedules: {1839      readonly who: MultiAddress;1840      readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1841    } & Struct;1842    readonly isClaimFor: boolean;1843    readonly asClaimFor: {1844      readonly dest: MultiAddress;1845    } & Struct;1846    readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1847  }18481849  /** @name OrmlXtokensModuleCall (198) */1850  interface OrmlXtokensModuleCall extends Enum {1851    readonly isTransfer: boolean;1852    readonly asTransfer: {1853      readonly currencyId: PalletForeignAssetsAssetIds;1854      readonly amount: u128;1855      readonly dest: XcmVersionedMultiLocation;1856      readonly destWeight: u64;1857    } & Struct;1858    readonly isTransferMultiasset: boolean;1859    readonly asTransferMultiasset: {1860      readonly asset: XcmVersionedMultiAsset;1861      readonly dest: XcmVersionedMultiLocation;1862      readonly destWeight: u64;1863    } & Struct;1864    readonly isTransferWithFee: boolean;1865    readonly asTransferWithFee: {1866      readonly currencyId: PalletForeignAssetsAssetIds;1867      readonly amount: u128;1868      readonly fee: u128;1869      readonly dest: XcmVersionedMultiLocation;1870      readonly destWeight: u64;1871    } & Struct;1872    readonly isTransferMultiassetWithFee: boolean;1873    readonly asTransferMultiassetWithFee: {1874      readonly asset: XcmVersionedMultiAsset;1875      readonly fee: XcmVersionedMultiAsset;1876      readonly dest: XcmVersionedMultiLocation;1877      readonly destWeight: u64;1878    } & Struct;1879    readonly isTransferMulticurrencies: boolean;1880    readonly asTransferMulticurrencies: {1881      readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1882      readonly feeItem: u32;1883      readonly dest: XcmVersionedMultiLocation;1884      readonly destWeight: u64;1885    } & Struct;1886    readonly isTransferMultiassets: boolean;1887    readonly asTransferMultiassets: {1888      readonly assets: XcmVersionedMultiAssets;1889      readonly feeItem: u32;1890      readonly dest: XcmVersionedMultiLocation;1891      readonly destWeight: u64;1892    } & Struct;1893    readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1894  }18951896  /** @name XcmVersionedMultiAsset (199) */1897  interface XcmVersionedMultiAsset extends Enum {1898    readonly isV0: boolean;1899    readonly asV0: XcmV0MultiAsset;1900    readonly isV1: boolean;1901    readonly asV1: XcmV1MultiAsset;1902    readonly type: 'V0' | 'V1';1903  }19041905  /** @name OrmlTokensModuleCall (202) */1906  interface OrmlTokensModuleCall extends Enum {1907    readonly isTransfer: boolean;1908    readonly asTransfer: {1909      readonly dest: MultiAddress;1910      readonly currencyId: PalletForeignAssetsAssetIds;1911      readonly amount: Compact<u128>;1912    } & Struct;1913    readonly isTransferAll: boolean;1914    readonly asTransferAll: {1915      readonly dest: MultiAddress;1916      readonly currencyId: PalletForeignAssetsAssetIds;1917      readonly keepAlive: bool;1918    } & Struct;1919    readonly isTransferKeepAlive: boolean;1920    readonly asTransferKeepAlive: {1921      readonly dest: MultiAddress;1922      readonly currencyId: PalletForeignAssetsAssetIds;1923      readonly amount: Compact<u128>;1924    } & Struct;1925    readonly isForceTransfer: boolean;1926    readonly asForceTransfer: {1927      readonly source: MultiAddress;1928      readonly dest: MultiAddress;1929      readonly currencyId: PalletForeignAssetsAssetIds;1930      readonly amount: Compact<u128>;1931    } & Struct;1932    readonly isSetBalance: boolean;1933    readonly asSetBalance: {1934      readonly who: MultiAddress;1935      readonly currencyId: PalletForeignAssetsAssetIds;1936      readonly newFree: Compact<u128>;1937      readonly newReserved: Compact<u128>;1938    } & Struct;1939    readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1940  }19411942  /** @name CumulusPalletXcmpQueueCall (203) */1943  interface CumulusPalletXcmpQueueCall extends Enum {1944    readonly isServiceOverweight: boolean;1945    readonly asServiceOverweight: {1946      readonly index: u64;1947      readonly weightLimit: Weight;1948    } & Struct;1949    readonly isSuspendXcmExecution: boolean;1950    readonly isResumeXcmExecution: boolean;1951    readonly isUpdateSuspendThreshold: boolean;1952    readonly asUpdateSuspendThreshold: {1953      readonly new_: u32;1954    } & Struct;1955    readonly isUpdateDropThreshold: boolean;1956    readonly asUpdateDropThreshold: {1957      readonly new_: u32;1958    } & Struct;1959    readonly isUpdateResumeThreshold: boolean;1960    readonly asUpdateResumeThreshold: {1961      readonly new_: u32;1962    } & Struct;1963    readonly isUpdateThresholdWeight: boolean;1964    readonly asUpdateThresholdWeight: {1965      readonly new_: Weight;1966    } & Struct;1967    readonly isUpdateWeightRestrictDecay: boolean;1968    readonly asUpdateWeightRestrictDecay: {1969      readonly new_: Weight;1970    } & Struct;1971    readonly isUpdateXcmpMaxIndividualWeight: boolean;1972    readonly asUpdateXcmpMaxIndividualWeight: {1973      readonly new_: Weight;1974    } & Struct;1975    readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';1976  }19771978  /** @name PalletXcmCall (204) */1979  interface PalletXcmCall extends Enum {1980    readonly isSend: boolean;1981    readonly asSend: {1982      readonly dest: XcmVersionedMultiLocation;1983      readonly message: XcmVersionedXcm;1984    } & Struct;1985    readonly isTeleportAssets: boolean;1986    readonly asTeleportAssets: {1987      readonly dest: XcmVersionedMultiLocation;1988      readonly beneficiary: XcmVersionedMultiLocation;1989      readonly assets: XcmVersionedMultiAssets;1990      readonly feeAssetItem: u32;1991    } & Struct;1992    readonly isReserveTransferAssets: boolean;1993    readonly asReserveTransferAssets: {1994      readonly dest: XcmVersionedMultiLocation;1995      readonly beneficiary: XcmVersionedMultiLocation;1996      readonly assets: XcmVersionedMultiAssets;1997      readonly feeAssetItem: u32;1998    } & Struct;1999    readonly isExecute: boolean;2000    readonly asExecute: {2001      readonly message: XcmVersionedXcm;2002      readonly maxWeight: Weight;2003    } & Struct;2004    readonly isForceXcmVersion: boolean;2005    readonly asForceXcmVersion: {2006      readonly location: XcmV1MultiLocation;2007      readonly xcmVersion: u32;2008    } & Struct;2009    readonly isForceDefaultXcmVersion: boolean;2010    readonly asForceDefaultXcmVersion: {2011      readonly maybeXcmVersion: Option<u32>;2012    } & Struct;2013    readonly isForceSubscribeVersionNotify: boolean;2014    readonly asForceSubscribeVersionNotify: {2015      readonly location: XcmVersionedMultiLocation;2016    } & Struct;2017    readonly isForceUnsubscribeVersionNotify: boolean;2018    readonly asForceUnsubscribeVersionNotify: {2019      readonly location: XcmVersionedMultiLocation;2020    } & Struct;2021    readonly isLimitedReserveTransferAssets: boolean;2022    readonly asLimitedReserveTransferAssets: {2023      readonly dest: XcmVersionedMultiLocation;2024      readonly beneficiary: XcmVersionedMultiLocation;2025      readonly assets: XcmVersionedMultiAssets;2026      readonly feeAssetItem: u32;2027      readonly weightLimit: XcmV2WeightLimit;2028    } & Struct;2029    readonly isLimitedTeleportAssets: boolean;2030    readonly asLimitedTeleportAssets: {2031      readonly dest: XcmVersionedMultiLocation;2032      readonly beneficiary: XcmVersionedMultiLocation;2033      readonly assets: XcmVersionedMultiAssets;2034      readonly feeAssetItem: u32;2035      readonly weightLimit: XcmV2WeightLimit;2036    } & Struct;2037    readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2038  }20392040  /** @name XcmVersionedXcm (205) */2041  interface XcmVersionedXcm extends Enum {2042    readonly isV0: boolean;2043    readonly asV0: XcmV0Xcm;2044    readonly isV1: boolean;2045    readonly asV1: XcmV1Xcm;2046    readonly isV2: boolean;2047    readonly asV2: XcmV2Xcm;2048    readonly type: 'V0' | 'V1' | 'V2';2049  }20502051  /** @name XcmV0Xcm (206) */2052  interface XcmV0Xcm extends Enum {2053    readonly isWithdrawAsset: boolean;2054    readonly asWithdrawAsset: {2055      readonly assets: Vec<XcmV0MultiAsset>;2056      readonly effects: Vec<XcmV0Order>;2057    } & Struct;2058    readonly isReserveAssetDeposit: boolean;2059    readonly asReserveAssetDeposit: {2060      readonly assets: Vec<XcmV0MultiAsset>;2061      readonly effects: Vec<XcmV0Order>;2062    } & Struct;2063    readonly isTeleportAsset: boolean;2064    readonly asTeleportAsset: {2065      readonly assets: Vec<XcmV0MultiAsset>;2066      readonly effects: Vec<XcmV0Order>;2067    } & Struct;2068    readonly isQueryResponse: boolean;2069    readonly asQueryResponse: {2070      readonly queryId: Compact<u64>;2071      readonly response: XcmV0Response;2072    } & Struct;2073    readonly isTransferAsset: boolean;2074    readonly asTransferAsset: {2075      readonly assets: Vec<XcmV0MultiAsset>;2076      readonly dest: XcmV0MultiLocation;2077    } & Struct;2078    readonly isTransferReserveAsset: boolean;2079    readonly asTransferReserveAsset: {2080      readonly assets: Vec<XcmV0MultiAsset>;2081      readonly dest: XcmV0MultiLocation;2082      readonly effects: Vec<XcmV0Order>;2083    } & Struct;2084    readonly isTransact: boolean;2085    readonly asTransact: {2086      readonly originType: XcmV0OriginKind;2087      readonly requireWeightAtMost: u64;2088      readonly call: XcmDoubleEncoded;2089    } & Struct;2090    readonly isHrmpNewChannelOpenRequest: boolean;2091    readonly asHrmpNewChannelOpenRequest: {2092      readonly sender: Compact<u32>;2093      readonly maxMessageSize: Compact<u32>;2094      readonly maxCapacity: Compact<u32>;2095    } & Struct;2096    readonly isHrmpChannelAccepted: boolean;2097    readonly asHrmpChannelAccepted: {2098      readonly recipient: Compact<u32>;2099    } & Struct;2100    readonly isHrmpChannelClosing: boolean;2101    readonly asHrmpChannelClosing: {2102      readonly initiator: Compact<u32>;2103      readonly sender: Compact<u32>;2104      readonly recipient: Compact<u32>;2105    } & Struct;2106    readonly isRelayedFrom: boolean;2107    readonly asRelayedFrom: {2108      readonly who: XcmV0MultiLocation;2109      readonly message: XcmV0Xcm;2110    } & Struct;2111    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2112  }21132114  /** @name XcmV0Order (208) */2115  interface XcmV0Order extends Enum {2116    readonly isNull: boolean;2117    readonly isDepositAsset: boolean;2118    readonly asDepositAsset: {2119      readonly assets: Vec<XcmV0MultiAsset>;2120      readonly dest: XcmV0MultiLocation;2121    } & Struct;2122    readonly isDepositReserveAsset: boolean;2123    readonly asDepositReserveAsset: {2124      readonly assets: Vec<XcmV0MultiAsset>;2125      readonly dest: XcmV0MultiLocation;2126      readonly effects: Vec<XcmV0Order>;2127    } & Struct;2128    readonly isExchangeAsset: boolean;2129    readonly asExchangeAsset: {2130      readonly give: Vec<XcmV0MultiAsset>;2131      readonly receive: Vec<XcmV0MultiAsset>;2132    } & Struct;2133    readonly isInitiateReserveWithdraw: boolean;2134    readonly asInitiateReserveWithdraw: {2135      readonly assets: Vec<XcmV0MultiAsset>;2136      readonly reserve: XcmV0MultiLocation;2137      readonly effects: Vec<XcmV0Order>;2138    } & Struct;2139    readonly isInitiateTeleport: boolean;2140    readonly asInitiateTeleport: {2141      readonly assets: Vec<XcmV0MultiAsset>;2142      readonly dest: XcmV0MultiLocation;2143      readonly effects: Vec<XcmV0Order>;2144    } & Struct;2145    readonly isQueryHolding: boolean;2146    readonly asQueryHolding: {2147      readonly queryId: Compact<u64>;2148      readonly dest: XcmV0MultiLocation;2149      readonly assets: Vec<XcmV0MultiAsset>;2150    } & Struct;2151    readonly isBuyExecution: boolean;2152    readonly asBuyExecution: {2153      readonly fees: XcmV0MultiAsset;2154      readonly weight: u64;2155      readonly debt: u64;2156      readonly haltOnError: bool;2157      readonly xcm: Vec<XcmV0Xcm>;2158    } & Struct;2159    readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2160  }21612162  /** @name XcmV0Response (210) */2163  interface XcmV0Response extends Enum {2164    readonly isAssets: boolean;2165    readonly asAssets: Vec<XcmV0MultiAsset>;2166    readonly type: 'Assets';2167  }21682169  /** @name XcmV1Xcm (211) */2170  interface XcmV1Xcm extends Enum {2171    readonly isWithdrawAsset: boolean;2172    readonly asWithdrawAsset: {2173      readonly assets: XcmV1MultiassetMultiAssets;2174      readonly effects: Vec<XcmV1Order>;2175    } & Struct;2176    readonly isReserveAssetDeposited: boolean;2177    readonly asReserveAssetDeposited: {2178      readonly assets: XcmV1MultiassetMultiAssets;2179      readonly effects: Vec<XcmV1Order>;2180    } & Struct;2181    readonly isReceiveTeleportedAsset: boolean;2182    readonly asReceiveTeleportedAsset: {2183      readonly assets: XcmV1MultiassetMultiAssets;2184      readonly effects: Vec<XcmV1Order>;2185    } & Struct;2186    readonly isQueryResponse: boolean;2187    readonly asQueryResponse: {2188      readonly queryId: Compact<u64>;2189      readonly response: XcmV1Response;2190    } & Struct;2191    readonly isTransferAsset: boolean;2192    readonly asTransferAsset: {2193      readonly assets: XcmV1MultiassetMultiAssets;2194      readonly beneficiary: XcmV1MultiLocation;2195    } & Struct;2196    readonly isTransferReserveAsset: boolean;2197    readonly asTransferReserveAsset: {2198      readonly assets: XcmV1MultiassetMultiAssets;2199      readonly dest: XcmV1MultiLocation;2200      readonly effects: Vec<XcmV1Order>;2201    } & Struct;2202    readonly isTransact: boolean;2203    readonly asTransact: {2204      readonly originType: XcmV0OriginKind;2205      readonly requireWeightAtMost: u64;2206      readonly call: XcmDoubleEncoded;2207    } & Struct;2208    readonly isHrmpNewChannelOpenRequest: boolean;2209    readonly asHrmpNewChannelOpenRequest: {2210      readonly sender: Compact<u32>;2211      readonly maxMessageSize: Compact<u32>;2212      readonly maxCapacity: Compact<u32>;2213    } & Struct;2214    readonly isHrmpChannelAccepted: boolean;2215    readonly asHrmpChannelAccepted: {2216      readonly recipient: Compact<u32>;2217    } & Struct;2218    readonly isHrmpChannelClosing: boolean;2219    readonly asHrmpChannelClosing: {2220      readonly initiator: Compact<u32>;2221      readonly sender: Compact<u32>;2222      readonly recipient: Compact<u32>;2223    } & Struct;2224    readonly isRelayedFrom: boolean;2225    readonly asRelayedFrom: {2226      readonly who: XcmV1MultilocationJunctions;2227      readonly message: XcmV1Xcm;2228    } & Struct;2229    readonly isSubscribeVersion: boolean;2230    readonly asSubscribeVersion: {2231      readonly queryId: Compact<u64>;2232      readonly maxResponseWeight: Compact<u64>;2233    } & Struct;2234    readonly isUnsubscribeVersion: boolean;2235    readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2236  }22372238  /** @name XcmV1Order (213) */2239  interface XcmV1Order extends Enum {2240    readonly isNoop: boolean;2241    readonly isDepositAsset: boolean;2242    readonly asDepositAsset: {2243      readonly assets: XcmV1MultiassetMultiAssetFilter;2244      readonly maxAssets: u32;2245      readonly beneficiary: XcmV1MultiLocation;2246    } & Struct;2247    readonly isDepositReserveAsset: boolean;2248    readonly asDepositReserveAsset: {2249      readonly assets: XcmV1MultiassetMultiAssetFilter;2250      readonly maxAssets: u32;2251      readonly dest: XcmV1MultiLocation;2252      readonly effects: Vec<XcmV1Order>;2253    } & Struct;2254    readonly isExchangeAsset: boolean;2255    readonly asExchangeAsset: {2256      readonly give: XcmV1MultiassetMultiAssetFilter;2257      readonly receive: XcmV1MultiassetMultiAssets;2258    } & Struct;2259    readonly isInitiateReserveWithdraw: boolean;2260    readonly asInitiateReserveWithdraw: {2261      readonly assets: XcmV1MultiassetMultiAssetFilter;2262      readonly reserve: XcmV1MultiLocation;2263      readonly effects: Vec<XcmV1Order>;2264    } & Struct;2265    readonly isInitiateTeleport: boolean;2266    readonly asInitiateTeleport: {2267      readonly assets: XcmV1MultiassetMultiAssetFilter;2268      readonly dest: XcmV1MultiLocation;2269      readonly effects: Vec<XcmV1Order>;2270    } & Struct;2271    readonly isQueryHolding: boolean;2272    readonly asQueryHolding: {2273      readonly queryId: Compact<u64>;2274      readonly dest: XcmV1MultiLocation;2275      readonly assets: XcmV1MultiassetMultiAssetFilter;2276    } & Struct;2277    readonly isBuyExecution: boolean;2278    readonly asBuyExecution: {2279      readonly fees: XcmV1MultiAsset;2280      readonly weight: u64;2281      readonly debt: u64;2282      readonly haltOnError: bool;2283      readonly instructions: Vec<XcmV1Xcm>;2284    } & Struct;2285    readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2286  }22872288  /** @name XcmV1Response (215) */2289  interface XcmV1Response extends Enum {2290    readonly isAssets: boolean;2291    readonly asAssets: XcmV1MultiassetMultiAssets;2292    readonly isVersion: boolean;2293    readonly asVersion: u32;2294    readonly type: 'Assets' | 'Version';2295  }22962297  /** @name CumulusPalletXcmCall (229) */2298  type CumulusPalletXcmCall = Null;22992300  /** @name CumulusPalletDmpQueueCall (230) */2301  interface CumulusPalletDmpQueueCall extends Enum {2302    readonly isServiceOverweight: boolean;2303    readonly asServiceOverweight: {2304      readonly index: u64;2305      readonly weightLimit: Weight;2306    } & Struct;2307    readonly type: 'ServiceOverweight';2308  }23092310  /** @name PalletInflationCall (231) */2311  interface PalletInflationCall extends Enum {2312    readonly isStartInflation: boolean;2313    readonly asStartInflation: {2314      readonly inflationStartRelayBlock: u32;2315    } & Struct;2316    readonly type: 'StartInflation';2317  }23182319  /** @name PalletUniqueCall (232) */2320  interface PalletUniqueCall extends Enum {2321    readonly isCreateCollection: boolean;2322    readonly asCreateCollection: {2323      readonly collectionName: Vec<u16>;2324      readonly collectionDescription: Vec<u16>;2325      readonly tokenPrefix: Bytes;2326      readonly mode: UpDataStructsCollectionMode;2327    } & Struct;2328    readonly isCreateCollectionEx: boolean;2329    readonly asCreateCollectionEx: {2330      readonly data: UpDataStructsCreateCollectionData;2331    } & Struct;2332    readonly isDestroyCollection: boolean;2333    readonly asDestroyCollection: {2334      readonly collectionId: u32;2335    } & Struct;2336    readonly isAddToAllowList: boolean;2337    readonly asAddToAllowList: {2338      readonly collectionId: u32;2339      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2340    } & Struct;2341    readonly isRemoveFromAllowList: boolean;2342    readonly asRemoveFromAllowList: {2343      readonly collectionId: u32;2344      readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2345    } & Struct;2346    readonly isChangeCollectionOwner: boolean;2347    readonly asChangeCollectionOwner: {2348      readonly collectionId: u32;2349      readonly newOwner: AccountId32;2350    } & Struct;2351    readonly isAddCollectionAdmin: boolean;2352    readonly asAddCollectionAdmin: {2353      readonly collectionId: u32;2354      readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2355    } & Struct;2356    readonly isRemoveCollectionAdmin: boolean;2357    readonly asRemoveCollectionAdmin: {2358      readonly collectionId: u32;2359      readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2360    } & Struct;2361    readonly isSetCollectionSponsor: boolean;2362    readonly asSetCollectionSponsor: {2363      readonly collectionId: u32;2364      readonly newSponsor: AccountId32;2365    } & Struct;2366    readonly isConfirmSponsorship: boolean;2367    readonly asConfirmSponsorship: {2368      readonly collectionId: u32;2369    } & Struct;2370    readonly isRemoveCollectionSponsor: boolean;2371    readonly asRemoveCollectionSponsor: {2372      readonly collectionId: u32;2373    } & Struct;2374    readonly isCreateItem: boolean;2375    readonly asCreateItem: {2376      readonly collectionId: u32;2377      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2378      readonly data: UpDataStructsCreateItemData;2379    } & Struct;2380    readonly isCreateMultipleItems: boolean;2381    readonly asCreateMultipleItems: {2382      readonly collectionId: u32;2383      readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2384      readonly itemsData: Vec<UpDataStructsCreateItemData>;2385    } & Struct;2386    readonly isSetCollectionProperties: boolean;2387    readonly asSetCollectionProperties: {2388      readonly collectionId: u32;2389      readonly properties: Vec<UpDataStructsProperty>;2390    } & Struct;2391    readonly isDeleteCollectionProperties: boolean;2392    readonly asDeleteCollectionProperties: {2393      readonly collectionId: u32;2394      readonly propertyKeys: Vec<Bytes>;2395    } & Struct;2396    readonly isSetTokenProperties: boolean;2397    readonly asSetTokenProperties: {2398      readonly collectionId: u32;2399      readonly tokenId: u32;2400      readonly properties: Vec<UpDataStructsProperty>;2401    } & Struct;2402    readonly isDeleteTokenProperties: boolean;2403    readonly asDeleteTokenProperties: {2404      readonly collectionId: u32;2405      readonly tokenId: u32;2406      readonly propertyKeys: Vec<Bytes>;2407    } & Struct;2408    readonly isSetTokenPropertyPermissions: boolean;2409    readonly asSetTokenPropertyPermissions: {2410      readonly collectionId: u32;2411      readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2412    } & Struct;2413    readonly isCreateMultipleItemsEx: boolean;2414    readonly asCreateMultipleItemsEx: {2415      readonly collectionId: u32;2416      readonly data: UpDataStructsCreateItemExData;2417    } & Struct;2418    readonly isSetTransfersEnabledFlag: boolean;2419    readonly asSetTransfersEnabledFlag: {2420      readonly collectionId: u32;2421      readonly value: bool;2422    } & Struct;2423    readonly isBurnItem: boolean;2424    readonly asBurnItem: {2425      readonly collectionId: u32;2426      readonly itemId: u32;2427      readonly value: u128;2428    } & Struct;2429    readonly isBurnFrom: boolean;2430    readonly asBurnFrom: {2431      readonly collectionId: u32;2432      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2433      readonly itemId: u32;2434      readonly value: u128;2435    } & Struct;2436    readonly isTransfer: boolean;2437    readonly asTransfer: {2438      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2439      readonly collectionId: u32;2440      readonly itemId: u32;2441      readonly value: u128;2442    } & Struct;2443    readonly isApprove: boolean;2444    readonly asApprove: {2445      readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2446      readonly collectionId: u32;2447      readonly itemId: u32;2448      readonly amount: u128;2449    } & Struct;2450    readonly isTransferFrom: boolean;2451    readonly asTransferFrom: {2452      readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2453      readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2454      readonly collectionId: u32;2455      readonly itemId: u32;2456      readonly value: u128;2457    } & Struct;2458    readonly isSetCollectionLimits: boolean;2459    readonly asSetCollectionLimits: {2460      readonly collectionId: u32;2461      readonly newLimit: UpDataStructsCollectionLimits;2462    } & Struct;2463    readonly isSetCollectionPermissions: boolean;2464    readonly asSetCollectionPermissions: {2465      readonly collectionId: u32;2466      readonly newPermission: UpDataStructsCollectionPermissions;2467    } & Struct;2468    readonly isRepartition: boolean;2469    readonly asRepartition: {2470      readonly collectionId: u32;2471      readonly tokenId: u32;2472      readonly amount: u128;2473    } & Struct;2474    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';2475  }24762477  /** @name UpDataStructsCollectionMode (237) */2478  interface UpDataStructsCollectionMode extends Enum {2479    readonly isNft: boolean;2480    readonly isFungible: boolean;2481    readonly asFungible: u8;2482    readonly isReFungible: boolean;2483    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2484  }24852486  /** @name UpDataStructsCreateCollectionData (238) */2487  interface UpDataStructsCreateCollectionData extends Struct {2488    readonly mode: UpDataStructsCollectionMode;2489    readonly access: Option<UpDataStructsAccessMode>;2490    readonly name: Vec<u16>;2491    readonly description: Vec<u16>;2492    readonly tokenPrefix: Bytes;2493    readonly pendingSponsor: Option<AccountId32>;2494    readonly limits: Option<UpDataStructsCollectionLimits>;2495    readonly permissions: Option<UpDataStructsCollectionPermissions>;2496    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2497    readonly properties: Vec<UpDataStructsProperty>;2498  }24992500  /** @name UpDataStructsAccessMode (240) */2501  interface UpDataStructsAccessMode extends Enum {2502    readonly isNormal: boolean;2503    readonly isAllowList: boolean;2504    readonly type: 'Normal' | 'AllowList';2505  }25062507  /** @name UpDataStructsCollectionLimits (242) */2508  interface UpDataStructsCollectionLimits extends Struct {2509    readonly accountTokenOwnershipLimit: Option<u32>;2510    readonly sponsoredDataSize: Option<u32>;2511    readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2512    readonly tokenLimit: Option<u32>;2513    readonly sponsorTransferTimeout: Option<u32>;2514    readonly sponsorApproveTimeout: Option<u32>;2515    readonly ownerCanTransfer: Option<bool>;2516    readonly ownerCanDestroy: Option<bool>;2517    readonly transfersEnabled: Option<bool>;2518  }25192520  /** @name UpDataStructsSponsoringRateLimit (244) */2521  interface UpDataStructsSponsoringRateLimit extends Enum {2522    readonly isSponsoringDisabled: boolean;2523    readonly isBlocks: boolean;2524    readonly asBlocks: u32;2525    readonly type: 'SponsoringDisabled' | 'Blocks';2526  }25272528  /** @name UpDataStructsCollectionPermissions (247) */2529  interface UpDataStructsCollectionPermissions extends Struct {2530    readonly access: Option<UpDataStructsAccessMode>;2531    readonly mintMode: Option<bool>;2532    readonly nesting: Option<UpDataStructsNestingPermissions>;2533  }25342535  /** @name UpDataStructsNestingPermissions (249) */2536  interface UpDataStructsNestingPermissions extends Struct {2537    readonly tokenOwner: bool;2538    readonly collectionAdmin: bool;2539    readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2540  }25412542  /** @name UpDataStructsOwnerRestrictedSet (251) */2543  interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}25442545  /** @name UpDataStructsPropertyKeyPermission (256) */2546  interface UpDataStructsPropertyKeyPermission extends Struct {2547    readonly key: Bytes;2548    readonly permission: UpDataStructsPropertyPermission;2549  }25502551  /** @name UpDataStructsPropertyPermission (257) */2552  interface UpDataStructsPropertyPermission extends Struct {2553    readonly mutable: bool;2554    readonly collectionAdmin: bool;2555    readonly tokenOwner: bool;2556  }25572558  /** @name UpDataStructsProperty (260) */2559  interface UpDataStructsProperty extends Struct {2560    readonly key: Bytes;2561    readonly value: Bytes;2562  }25632564  /** @name UpDataStructsCreateItemData (263) */2565  interface UpDataStructsCreateItemData extends Enum {2566    readonly isNft: boolean;2567    readonly asNft: UpDataStructsCreateNftData;2568    readonly isFungible: boolean;2569    readonly asFungible: UpDataStructsCreateFungibleData;2570    readonly isReFungible: boolean;2571    readonly asReFungible: UpDataStructsCreateReFungibleData;2572    readonly type: 'Nft' | 'Fungible' | 'ReFungible';2573  }25742575  /** @name UpDataStructsCreateNftData (264) */2576  interface UpDataStructsCreateNftData extends Struct {2577    readonly properties: Vec<UpDataStructsProperty>;2578  }25792580  /** @name UpDataStructsCreateFungibleData (265) */2581  interface UpDataStructsCreateFungibleData extends Struct {2582    readonly value: u128;2583  }25842585  /** @name UpDataStructsCreateReFungibleData (266) */2586  interface UpDataStructsCreateReFungibleData extends Struct {2587    readonly pieces: u128;2588    readonly properties: Vec<UpDataStructsProperty>;2589  }25902591  /** @name UpDataStructsCreateItemExData (269) */2592  interface UpDataStructsCreateItemExData extends Enum {2593    readonly isNft: boolean;2594    readonly asNft: Vec<UpDataStructsCreateNftExData>;2595    readonly isFungible: boolean;2596    readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2597    readonly isRefungibleMultipleItems: boolean;2598    readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2599    readonly isRefungibleMultipleOwners: boolean;2600    readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2601    readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2602  }26032604  /** @name UpDataStructsCreateNftExData (271) */2605  interface UpDataStructsCreateNftExData extends Struct {2606    readonly properties: Vec<UpDataStructsProperty>;2607    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2608  }26092610  /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */2611  interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2612    readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2613    readonly pieces: u128;2614    readonly properties: Vec<UpDataStructsProperty>;2615  }26162617  /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */2618  interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2619    readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2620    readonly properties: Vec<UpDataStructsProperty>;2621  }26222623  /** @name PalletConfigurationCall (281) */2624  interface PalletConfigurationCall extends Enum {2625    readonly isSetWeightToFeeCoefficientOverride: boolean;2626    readonly asSetWeightToFeeCoefficientOverride: {2627      readonly coeff: Option<u32>;2628    } & Struct;2629    readonly isSetMinGasPriceOverride: boolean;2630    readonly asSetMinGasPriceOverride: {2631      readonly coeff: Option<u64>;2632    } & Struct;2633    readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';2634  }26352636  /** @name PalletTemplateTransactionPaymentCall (283) */2637  type PalletTemplateTransactionPaymentCall = Null;26382639  /** @name PalletStructureCall (284) */2640  type PalletStructureCall = Null;26412642  /** @name PalletRmrkCoreCall (285) */2643  interface PalletRmrkCoreCall extends Enum {2644    readonly isCreateCollection: boolean;2645    readonly asCreateCollection: {2646      readonly metadata: Bytes;2647      readonly max: Option<u32>;2648      readonly symbol: Bytes;2649    } & Struct;2650    readonly isDestroyCollection: boolean;2651    readonly asDestroyCollection: {2652      readonly collectionId: u32;2653    } & Struct;2654    readonly isChangeCollectionIssuer: boolean;2655    readonly asChangeCollectionIssuer: {2656      readonly collectionId: u32;2657      readonly newIssuer: MultiAddress;2658    } & Struct;2659    readonly isLockCollection: boolean;2660    readonly asLockCollection: {2661      readonly collectionId: u32;2662    } & Struct;2663    readonly isMintNft: boolean;2664    readonly asMintNft: {2665      readonly owner: Option<AccountId32>;2666      readonly collectionId: u32;2667      readonly recipient: Option<AccountId32>;2668      readonly royaltyAmount: Option<Permill>;2669      readonly metadata: Bytes;2670      readonly transferable: bool;2671      readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;2672    } & Struct;2673    readonly isBurnNft: boolean;2674    readonly asBurnNft: {2675      readonly collectionId: u32;2676      readonly nftId: u32;2677      readonly maxBurns: u32;2678    } & Struct;2679    readonly isSend: boolean;2680    readonly asSend: {2681      readonly rmrkCollectionId: u32;2682      readonly rmrkNftId: u32;2683      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2684    } & Struct;2685    readonly isAcceptNft: boolean;2686    readonly asAcceptNft: {2687      readonly rmrkCollectionId: u32;2688      readonly rmrkNftId: u32;2689      readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2690    } & Struct;2691    readonly isRejectNft: boolean;2692    readonly asRejectNft: {2693      readonly rmrkCollectionId: u32;2694      readonly rmrkNftId: u32;2695    } & Struct;2696    readonly isAcceptResource: boolean;2697    readonly asAcceptResource: {2698      readonly rmrkCollectionId: u32;2699      readonly rmrkNftId: u32;2700      readonly resourceId: u32;2701    } & Struct;2702    readonly isAcceptResourceRemoval: boolean;2703    readonly asAcceptResourceRemoval: {2704      readonly rmrkCollectionId: u32;2705      readonly rmrkNftId: u32;2706      readonly resourceId: u32;2707    } & Struct;2708    readonly isSetProperty: boolean;2709    readonly asSetProperty: {2710      readonly rmrkCollectionId: Compact<u32>;2711      readonly maybeNftId: Option<u32>;2712      readonly key: Bytes;2713      readonly value: Bytes;2714    } & Struct;2715    readonly isSetPriority: boolean;2716    readonly asSetPriority: {2717      readonly rmrkCollectionId: u32;2718      readonly rmrkNftId: u32;2719      readonly priorities: Vec<u32>;2720    } & Struct;2721    readonly isAddBasicResource: boolean;2722    readonly asAddBasicResource: {2723      readonly rmrkCollectionId: u32;2724      readonly nftId: u32;2725      readonly resource: RmrkTraitsResourceBasicResource;2726    } & Struct;2727    readonly isAddComposableResource: boolean;2728    readonly asAddComposableResource: {2729      readonly rmrkCollectionId: u32;2730      readonly nftId: u32;2731      readonly resource: RmrkTraitsResourceComposableResource;2732    } & Struct;2733    readonly isAddSlotResource: boolean;2734    readonly asAddSlotResource: {2735      readonly rmrkCollectionId: u32;2736      readonly nftId: u32;2737      readonly resource: RmrkTraitsResourceSlotResource;2738    } & Struct;2739    readonly isRemoveResource: boolean;2740    readonly asRemoveResource: {2741      readonly rmrkCollectionId: u32;2742      readonly nftId: u32;2743      readonly resourceId: u32;2744    } & Struct;2745    readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2746  }27472748  /** @name RmrkTraitsResourceResourceTypes (291) */2749  interface RmrkTraitsResourceResourceTypes extends Enum {2750    readonly isBasic: boolean;2751    readonly asBasic: RmrkTraitsResourceBasicResource;2752    readonly isComposable: boolean;2753    readonly asComposable: RmrkTraitsResourceComposableResource;2754    readonly isSlot: boolean;2755    readonly asSlot: RmrkTraitsResourceSlotResource;2756    readonly type: 'Basic' | 'Composable' | 'Slot';2757  }27582759  /** @name RmrkTraitsResourceBasicResource (293) */2760  interface RmrkTraitsResourceBasicResource extends Struct {2761    readonly src: Option<Bytes>;2762    readonly metadata: Option<Bytes>;2763    readonly license: Option<Bytes>;2764    readonly thumb: Option<Bytes>;2765  }27662767  /** @name RmrkTraitsResourceComposableResource (295) */2768  interface RmrkTraitsResourceComposableResource extends Struct {2769    readonly parts: Vec<u32>;2770    readonly base: u32;2771    readonly src: Option<Bytes>;2772    readonly metadata: Option<Bytes>;2773    readonly license: Option<Bytes>;2774    readonly thumb: Option<Bytes>;2775  }27762777  /** @name RmrkTraitsResourceSlotResource (296) */2778  interface RmrkTraitsResourceSlotResource extends Struct {2779    readonly base: u32;2780    readonly src: Option<Bytes>;2781    readonly metadata: Option<Bytes>;2782    readonly slot: u32;2783    readonly license: Option<Bytes>;2784    readonly thumb: Option<Bytes>;2785  }27862787  /** @name PalletRmrkEquipCall (299) */2788  interface PalletRmrkEquipCall extends Enum {2789    readonly isCreateBase: boolean;2790    readonly asCreateBase: {2791      readonly baseType: Bytes;2792      readonly symbol: Bytes;2793      readonly parts: Vec<RmrkTraitsPartPartType>;2794    } & Struct;2795    readonly isThemeAdd: boolean;2796    readonly asThemeAdd: {2797      readonly baseId: u32;2798      readonly theme: RmrkTraitsTheme;2799    } & Struct;2800    readonly isEquippable: boolean;2801    readonly asEquippable: {2802      readonly baseId: u32;2803      readonly slotId: u32;2804      readonly equippables: RmrkTraitsPartEquippableList;2805    } & Struct;2806    readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2807  }28082809  /** @name RmrkTraitsPartPartType (302) */2810  interface RmrkTraitsPartPartType extends Enum {2811    readonly isFixedPart: boolean;2812    readonly asFixedPart: RmrkTraitsPartFixedPart;2813    readonly isSlotPart: boolean;2814    readonly asSlotPart: RmrkTraitsPartSlotPart;2815    readonly type: 'FixedPart' | 'SlotPart';2816  }28172818  /** @name RmrkTraitsPartFixedPart (304) */2819  interface RmrkTraitsPartFixedPart extends Struct {2820    readonly id: u32;2821    readonly z: u32;2822    readonly src: Bytes;2823  }28242825  /** @name RmrkTraitsPartSlotPart (305) */2826  interface RmrkTraitsPartSlotPart extends Struct {2827    readonly id: u32;2828    readonly equippable: RmrkTraitsPartEquippableList;2829    readonly src: Bytes;2830    readonly z: u32;2831  }28322833  /** @name RmrkTraitsPartEquippableList (306) */2834  interface RmrkTraitsPartEquippableList extends Enum {2835    readonly isAll: boolean;2836    readonly isEmpty: boolean;2837    readonly isCustom: boolean;2838    readonly asCustom: Vec<u32>;2839    readonly type: 'All' | 'Empty' | 'Custom';2840  }28412842  /** @name RmrkTraitsTheme (308) */2843  interface RmrkTraitsTheme extends Struct {2844    readonly name: Bytes;2845    readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2846    readonly inherit: bool;2847  }28482849  /** @name RmrkTraitsThemeThemeProperty (310) */2850  interface RmrkTraitsThemeThemeProperty extends Struct {2851    readonly key: Bytes;2852    readonly value: Bytes;2853  }28542855  /** @name PalletAppPromotionCall (312) */2856  interface PalletAppPromotionCall extends Enum {2857    readonly isSetAdminAddress: boolean;2858    readonly asSetAdminAddress: {2859      readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;2860    } & Struct;2861    readonly isStake: boolean;2862    readonly asStake: {2863      readonly amount: u128;2864    } & Struct;2865    readonly isUnstake: boolean;2866    readonly isSponsorCollection: boolean;2867    readonly asSponsorCollection: {2868      readonly collectionId: u32;2869    } & Struct;2870    readonly isStopSponsoringCollection: boolean;2871    readonly asStopSponsoringCollection: {2872      readonly collectionId: u32;2873    } & Struct;2874    readonly isSponsorContract: boolean;2875    readonly asSponsorContract: {2876      readonly contractId: H160;2877    } & Struct;2878    readonly isStopSponsoringContract: boolean;2879    readonly asStopSponsoringContract: {2880      readonly contractId: H160;2881    } & Struct;2882    readonly isPayoutStakers: boolean;2883    readonly asPayoutStakers: {2884      readonly stakersNumber: Option<u8>;2885    } & Struct;2886    readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2887  }28882889  /** @name PalletForeignAssetsModuleCall (314) */2890  interface PalletForeignAssetsModuleCall extends Enum {2891    readonly isRegisterForeignAsset: boolean;2892    readonly asRegisterForeignAsset: {2893      readonly owner: AccountId32;2894      readonly location: XcmVersionedMultiLocation;2895      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2896    } & Struct;2897    readonly isUpdateForeignAsset: boolean;2898    readonly asUpdateForeignAsset: {2899      readonly foreignAssetId: u32;2900      readonly location: XcmVersionedMultiLocation;2901      readonly metadata: PalletForeignAssetsModuleAssetMetadata;2902    } & Struct;2903    readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2904  }29052906  /** @name PalletEvmCall (315) */2907  interface PalletEvmCall extends Enum {2908    readonly isWithdraw: boolean;2909    readonly asWithdraw: {2910      readonly address: H160;2911      readonly value: u128;2912    } & Struct;2913    readonly isCall: boolean;2914    readonly asCall: {2915      readonly source: H160;2916      readonly target: H160;2917      readonly input: Bytes;2918      readonly value: U256;2919      readonly gasLimit: u64;2920      readonly maxFeePerGas: U256;2921      readonly maxPriorityFeePerGas: Option<U256>;2922      readonly nonce: Option<U256>;2923      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;2924    } & Struct;2925    readonly isCreate: boolean;2926    readonly asCreate: {2927      readonly source: H160;2928      readonly init: Bytes;2929      readonly value: U256;2930      readonly gasLimit: u64;2931      readonly maxFeePerGas: U256;2932      readonly maxPriorityFeePerGas: Option<U256>;2933      readonly nonce: Option<U256>;2934      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;2935    } & Struct;2936    readonly isCreate2: boolean;2937    readonly asCreate2: {2938      readonly source: H160;2939      readonly init: Bytes;2940      readonly salt: H256;2941      readonly value: U256;2942      readonly gasLimit: u64;2943      readonly maxFeePerGas: U256;2944      readonly maxPriorityFeePerGas: Option<U256>;2945      readonly nonce: Option<U256>;2946      readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;2947    } & Struct;2948    readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';2949  }29502951  /** @name PalletEthereumCall (319) */2952  interface PalletEthereumCall extends Enum {2953    readonly isTransact: boolean;2954    readonly asTransact: {2955      readonly transaction: EthereumTransactionTransactionV2;2956    } & Struct;2957    readonly type: 'Transact';2958  }29592960  /** @name EthereumTransactionTransactionV2 (320) */2961  interface EthereumTransactionTransactionV2 extends Enum {2962    readonly isLegacy: boolean;2963    readonly asLegacy: EthereumTransactionLegacyTransaction;2964    readonly isEip2930: boolean;2965    readonly asEip2930: EthereumTransactionEip2930Transaction;2966    readonly isEip1559: boolean;2967    readonly asEip1559: EthereumTransactionEip1559Transaction;2968    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';2969  }29702971  /** @name EthereumTransactionLegacyTransaction (321) */2972  interface EthereumTransactionLegacyTransaction extends Struct {2973    readonly nonce: U256;2974    readonly gasPrice: U256;2975    readonly gasLimit: U256;2976    readonly action: EthereumTransactionTransactionAction;2977    readonly value: U256;2978    readonly input: Bytes;2979    readonly signature: EthereumTransactionTransactionSignature;2980  }29812982  /** @name EthereumTransactionTransactionAction (322) */2983  interface EthereumTransactionTransactionAction extends Enum {2984    readonly isCall: boolean;2985    readonly asCall: H160;2986    readonly isCreate: boolean;2987    readonly type: 'Call' | 'Create';2988  }29892990  /** @name EthereumTransactionTransactionSignature (323) */2991  interface EthereumTransactionTransactionSignature extends Struct {2992    readonly v: u64;2993    readonly r: H256;2994    readonly s: H256;2995  }29962997  /** @name EthereumTransactionEip2930Transaction (325) */2998  interface EthereumTransactionEip2930Transaction extends Struct {2999    readonly chainId: u64;3000    readonly nonce: U256;3001    readonly gasPrice: U256;3002    readonly gasLimit: U256;3003    readonly action: EthereumTransactionTransactionAction;3004    readonly value: U256;3005    readonly input: Bytes;3006    readonly accessList: Vec<EthereumTransactionAccessListItem>;3007    readonly oddYParity: bool;3008    readonly r: H256;3009    readonly s: H256;3010  }30113012  /** @name EthereumTransactionAccessListItem (327) */3013  interface EthereumTransactionAccessListItem extends Struct {3014    readonly address: H160;3015    readonly storageKeys: Vec<H256>;3016  }30173018  /** @name EthereumTransactionEip1559Transaction (328) */3019  interface EthereumTransactionEip1559Transaction extends Struct {3020    readonly chainId: u64;3021    readonly nonce: U256;3022    readonly maxPriorityFeePerGas: U256;3023    readonly maxFeePerGas: U256;3024    readonly gasLimit: U256;3025    readonly action: EthereumTransactionTransactionAction;3026    readonly value: U256;3027    readonly input: Bytes;3028    readonly accessList: Vec<EthereumTransactionAccessListItem>;3029    readonly oddYParity: bool;3030    readonly r: H256;3031    readonly s: H256;3032  }30333034  /** @name PalletEvmMigrationCall (329) */3035  interface PalletEvmMigrationCall extends Enum {3036    readonly isBegin: boolean;3037    readonly asBegin: {3038      readonly address: H160;3039    } & Struct;3040    readonly isSetData: boolean;3041    readonly asSetData: {3042      readonly address: H160;3043      readonly data: Vec<ITuple<[H256, H256]>>;3044    } & Struct;3045    readonly isFinish: boolean;3046    readonly asFinish: {3047      readonly address: H160;3048      readonly code: Bytes;3049    } & Struct;3050    readonly type: 'Begin' | 'SetData' | 'Finish';3051  }30523053  /** @name PalletSudoError (332) */3054  interface PalletSudoError extends Enum {3055    readonly isRequireSudo: boolean;3056    readonly type: 'RequireSudo';3057  }30583059  /** @name OrmlVestingModuleError (334) */3060  interface OrmlVestingModuleError extends Enum {3061    readonly isZeroVestingPeriod: boolean;3062    readonly isZeroVestingPeriodCount: boolean;3063    readonly isInsufficientBalanceToLock: boolean;3064    readonly isTooManyVestingSchedules: boolean;3065    readonly isAmountLow: boolean;3066    readonly isMaxVestingSchedulesExceeded: boolean;3067    readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3068  }30693070  /** @name OrmlXtokensModuleError (335) */3071  interface OrmlXtokensModuleError extends Enum {3072    readonly isAssetHasNoReserve: boolean;3073    readonly isNotCrossChainTransfer: boolean;3074    readonly isInvalidDest: boolean;3075    readonly isNotCrossChainTransferableCurrency: boolean;3076    readonly isUnweighableMessage: boolean;3077    readonly isXcmExecutionFailed: boolean;3078    readonly isCannotReanchor: boolean;3079    readonly isInvalidAncestry: boolean;3080    readonly isInvalidAsset: boolean;3081    readonly isDestinationNotInvertible: boolean;3082    readonly isBadVersion: boolean;3083    readonly isDistinctReserveForAssetAndFee: boolean;3084    readonly isZeroFee: boolean;3085    readonly isZeroAmount: boolean;3086    readonly isTooManyAssetsBeingSent: boolean;3087    readonly isAssetIndexNonExistent: boolean;3088    readonly isFeeNotEnough: boolean;3089    readonly isNotSupportedMultiLocation: boolean;3090    readonly isMinXcmFeeNotDefined: boolean;3091    readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3092  }30933094  /** @name OrmlTokensBalanceLock (338) */3095  interface OrmlTokensBalanceLock extends Struct {3096    readonly id: U8aFixed;3097    readonly amount: u128;3098  }30993100  /** @name OrmlTokensAccountData (340) */3101  interface OrmlTokensAccountData extends Struct {3102    readonly free: u128;3103    readonly reserved: u128;3104    readonly frozen: u128;3105  }31063107  /** @name OrmlTokensReserveData (342) */3108  interface OrmlTokensReserveData extends Struct {3109    readonly id: Null;3110    readonly amount: u128;3111  }31123113  /** @name OrmlTokensModuleError (344) */3114  interface OrmlTokensModuleError extends Enum {3115    readonly isBalanceTooLow: boolean;3116    readonly isAmountIntoBalanceFailed: boolean;3117    readonly isLiquidityRestrictions: boolean;3118    readonly isMaxLocksExceeded: boolean;3119    readonly isKeepAlive: boolean;3120    readonly isExistentialDeposit: boolean;3121    readonly isDeadAccount: boolean;3122    readonly isTooManyReserves: boolean;3123    readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3124  }31253126  /** @name CumulusPalletXcmpQueueInboundChannelDetails (346) */3127  interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3128    readonly sender: u32;3129    readonly state: CumulusPalletXcmpQueueInboundState;3130    readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3131  }31323133  /** @name CumulusPalletXcmpQueueInboundState (347) */3134  interface CumulusPalletXcmpQueueInboundState extends Enum {3135    readonly isOk: boolean;3136    readonly isSuspended: boolean;3137    readonly type: 'Ok' | 'Suspended';3138  }31393140  /** @name PolkadotParachainPrimitivesXcmpMessageFormat (350) */3141  interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3142    readonly isConcatenatedVersionedXcm: boolean;3143    readonly isConcatenatedEncodedBlob: boolean;3144    readonly isSignals: boolean;3145    readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3146  }31473148  /** @name CumulusPalletXcmpQueueOutboundChannelDetails (353) */3149  interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3150    readonly recipient: u32;3151    readonly state: CumulusPalletXcmpQueueOutboundState;3152    readonly signalsExist: bool;3153    readonly firstIndex: u16;3154    readonly lastIndex: u16;3155  }31563157  /** @name CumulusPalletXcmpQueueOutboundState (354) */3158  interface CumulusPalletXcmpQueueOutboundState extends Enum {3159    readonly isOk: boolean;3160    readonly isSuspended: boolean;3161    readonly type: 'Ok' | 'Suspended';3162  }31633164  /** @name CumulusPalletXcmpQueueQueueConfigData (356) */3165  interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3166    readonly suspendThreshold: u32;3167    readonly dropThreshold: u32;3168    readonly resumeThreshold: u32;3169    readonly thresholdWeight: Weight;3170    readonly weightRestrictDecay: Weight;3171    readonly xcmpMaxIndividualWeight: Weight;3172  }31733174  /** @name CumulusPalletXcmpQueueError (358) */3175  interface CumulusPalletXcmpQueueError extends Enum {3176    readonly isFailedToSend: boolean;3177    readonly isBadXcmOrigin: boolean;3178    readonly isBadXcm: boolean;3179    readonly isBadOverweightIndex: boolean;3180    readonly isWeightOverLimit: boolean;3181    readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3182  }31833184  /** @name PalletXcmError (359) */3185  interface PalletXcmError extends Enum {3186    readonly isUnreachable: boolean;3187    readonly isSendFailure: boolean;3188    readonly isFiltered: boolean;3189    readonly isUnweighableMessage: boolean;3190    readonly isDestinationNotInvertible: boolean;3191    readonly isEmpty: boolean;3192    readonly isCannotReanchor: boolean;3193    readonly isTooManyAssets: boolean;3194    readonly isInvalidOrigin: boolean;3195    readonly isBadVersion: boolean;3196    readonly isBadLocation: boolean;3197    readonly isNoSubscription: boolean;3198    readonly isAlreadySubscribed: boolean;3199    readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3200  }32013202  /** @name CumulusPalletXcmError (360) */3203  type CumulusPalletXcmError = Null;32043205  /** @name CumulusPalletDmpQueueConfigData (361) */3206  interface CumulusPalletDmpQueueConfigData extends Struct {3207    readonly maxIndividual: Weight;3208  }32093210  /** @name CumulusPalletDmpQueuePageIndexData (362) */3211  interface CumulusPalletDmpQueuePageIndexData extends Struct {3212    readonly beginUsed: u32;3213    readonly endUsed: u32;3214    readonly overweightCount: u64;3215  }32163217  /** @name CumulusPalletDmpQueueError (365) */3218  interface CumulusPalletDmpQueueError extends Enum {3219    readonly isUnknown: boolean;3220    readonly isOverLimit: boolean;3221    readonly type: 'Unknown' | 'OverLimit';3222  }32233224  /** @name PalletUniqueError (369) */3225  interface PalletUniqueError extends Enum {3226    readonly isCollectionDecimalPointLimitExceeded: boolean;3227    readonly isConfirmUnsetSponsorFail: boolean;3228    readonly isEmptyArgument: boolean;3229    readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3230    readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3231  }32323233  /** @name UpDataStructsCollection (370) */3234  interface UpDataStructsCollection extends Struct {3235    readonly owner: AccountId32;3236    readonly mode: UpDataStructsCollectionMode;3237    readonly name: Vec<u16>;3238    readonly description: Vec<u16>;3239    readonly tokenPrefix: Bytes;3240    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3241    readonly limits: UpDataStructsCollectionLimits;3242    readonly permissions: UpDataStructsCollectionPermissions;3243    readonly flags: U8aFixed;3244  }32453246  /** @name UpDataStructsSponsorshipStateAccountId32 (371) */3247  interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3248    readonly isDisabled: boolean;3249    readonly isUnconfirmed: boolean;3250    readonly asUnconfirmed: AccountId32;3251    readonly isConfirmed: boolean;3252    readonly asConfirmed: AccountId32;3253    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3254  }32553256  /** @name UpDataStructsProperties (373) */3257  interface UpDataStructsProperties extends Struct {3258    readonly map: UpDataStructsPropertiesMapBoundedVec;3259    readonly consumedSpace: u32;3260    readonly spaceLimit: u32;3261  }32623263  /** @name UpDataStructsPropertiesMapBoundedVec (374) */3264  interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}32653266  /** @name UpDataStructsPropertiesMapPropertyPermission (379) */3267  interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}32683269  /** @name UpDataStructsCollectionStats (386) */3270  interface UpDataStructsCollectionStats extends Struct {3271    readonly created: u32;3272    readonly destroyed: u32;3273    readonly alive: u32;3274  }32753276  /** @name UpDataStructsTokenChild (387) */3277  interface UpDataStructsTokenChild extends Struct {3278    readonly token: u32;3279    readonly collection: u32;3280  }32813282  /** @name PhantomTypeUpDataStructs (388) */3283  interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}32843285  /** @name UpDataStructsTokenData (390) */3286  interface UpDataStructsTokenData extends Struct {3287    readonly properties: Vec<UpDataStructsProperty>;3288    readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3289    readonly pieces: u128;3290  }32913292  /** @name UpDataStructsRpcCollection (392) */3293  interface UpDataStructsRpcCollection extends Struct {3294    readonly owner: AccountId32;3295    readonly mode: UpDataStructsCollectionMode;3296    readonly name: Vec<u16>;3297    readonly description: Vec<u16>;3298    readonly tokenPrefix: Bytes;3299    readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3300    readonly limits: UpDataStructsCollectionLimits;3301    readonly permissions: UpDataStructsCollectionPermissions;3302    readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3303    readonly properties: Vec<UpDataStructsProperty>;3304    readonly readOnly: bool;3305    readonly flags: UpDataStructsRpcCollectionFlags;3306  }33073308  /** @name UpDataStructsRpcCollectionFlags (393) */3309  interface UpDataStructsRpcCollectionFlags extends Struct {3310    readonly foreign: bool;3311    readonly erc721metadata: bool;3312  }33133314  /** @name RmrkTraitsCollectionCollectionInfo (394) */3315  interface RmrkTraitsCollectionCollectionInfo extends Struct {3316    readonly issuer: AccountId32;3317    readonly metadata: Bytes;3318    readonly max: Option<u32>;3319    readonly symbol: Bytes;3320    readonly nftsCount: u32;3321  }33223323  /** @name RmrkTraitsNftNftInfo (395) */3324  interface RmrkTraitsNftNftInfo extends Struct {3325    readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3326    readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3327    readonly metadata: Bytes;3328    readonly equipped: bool;3329    readonly pending: bool;3330  }33313332  /** @name RmrkTraitsNftRoyaltyInfo (397) */3333  interface RmrkTraitsNftRoyaltyInfo extends Struct {3334    readonly recipient: AccountId32;3335    readonly amount: Permill;3336  }33373338  /** @name RmrkTraitsResourceResourceInfo (398) */3339  interface RmrkTraitsResourceResourceInfo extends Struct {3340    readonly id: u32;3341    readonly resource: RmrkTraitsResourceResourceTypes;3342    readonly pending: bool;3343    readonly pendingRemoval: bool;3344  }33453346  /** @name RmrkTraitsPropertyPropertyInfo (399) */3347  interface RmrkTraitsPropertyPropertyInfo extends Struct {3348    readonly key: Bytes;3349    readonly value: Bytes;3350  }33513352  /** @name RmrkTraitsBaseBaseInfo (400) */3353  interface RmrkTraitsBaseBaseInfo extends Struct {3354    readonly issuer: AccountId32;3355    readonly baseType: Bytes;3356    readonly symbol: Bytes;3357  }33583359  /** @name RmrkTraitsNftNftChild (401) */3360  interface RmrkTraitsNftNftChild extends Struct {3361    readonly collectionId: u32;3362    readonly nftId: u32;3363  }33643365  /** @name PalletCommonError (403) */3366  interface PalletCommonError extends Enum {3367    readonly isCollectionNotFound: boolean;3368    readonly isMustBeTokenOwner: boolean;3369    readonly isNoPermission: boolean;3370    readonly isCantDestroyNotEmptyCollection: boolean;3371    readonly isPublicMintingNotAllowed: boolean;3372    readonly isAddressNotInAllowlist: boolean;3373    readonly isCollectionNameLimitExceeded: boolean;3374    readonly isCollectionDescriptionLimitExceeded: boolean;3375    readonly isCollectionTokenPrefixLimitExceeded: boolean;3376    readonly isTotalCollectionsLimitExceeded: boolean;3377    readonly isCollectionAdminCountExceeded: boolean;3378    readonly isCollectionLimitBoundsExceeded: boolean;3379    readonly isOwnerPermissionsCantBeReverted: boolean;3380    readonly isTransferNotAllowed: boolean;3381    readonly isAccountTokenLimitExceeded: boolean;3382    readonly isCollectionTokenLimitExceeded: boolean;3383    readonly isMetadataFlagFrozen: boolean;3384    readonly isTokenNotFound: boolean;3385    readonly isTokenValueTooLow: boolean;3386    readonly isApprovedValueTooLow: boolean;3387    readonly isCantApproveMoreThanOwned: boolean;3388    readonly isAddressIsZero: boolean;3389    readonly isUnsupportedOperation: boolean;3390    readonly isNotSufficientFounds: boolean;3391    readonly isUserIsNotAllowedToNest: boolean;3392    readonly isSourceCollectionIsNotAllowedToNest: boolean;3393    readonly isCollectionFieldSizeExceeded: boolean;3394    readonly isNoSpaceForProperty: boolean;3395    readonly isPropertyLimitReached: boolean;3396    readonly isPropertyKeyIsTooLong: boolean;3397    readonly isInvalidCharacterInPropertyKey: boolean;3398    readonly isEmptyPropertyKey: boolean;3399    readonly isCollectionIsExternal: boolean;3400    readonly isCollectionIsInternal: boolean;3401    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';3402  }34033404  /** @name PalletFungibleError (405) */3405  interface PalletFungibleError extends Enum {3406    readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3407    readonly isFungibleItemsHaveNoId: boolean;3408    readonly isFungibleItemsDontHaveData: boolean;3409    readonly isFungibleDisallowsNesting: boolean;3410    readonly isSettingPropertiesNotAllowed: boolean;3411    readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3412  }34133414  /** @name PalletRefungibleItemData (406) */3415  interface PalletRefungibleItemData extends Struct {3416    readonly constData: Bytes;3417  }34183419  /** @name PalletRefungibleError (411) */3420  interface PalletRefungibleError extends Enum {3421    readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3422    readonly isWrongRefungiblePieces: boolean;3423    readonly isRepartitionWhileNotOwningAllPieces: boolean;3424    readonly isRefungibleDisallowsNesting: boolean;3425    readonly isSettingPropertiesNotAllowed: boolean;3426    readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3427  }34283429  /** @name PalletNonfungibleItemData (412) */3430  interface PalletNonfungibleItemData extends Struct {3431    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3432  }34333434  /** @name UpDataStructsPropertyScope (414) */3435  interface UpDataStructsPropertyScope extends Enum {3436    readonly isNone: boolean;3437    readonly isRmrk: boolean;3438    readonly type: 'None' | 'Rmrk';3439  }34403441  /** @name PalletNonfungibleError (416) */3442  interface PalletNonfungibleError extends Enum {3443    readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3444    readonly isNonfungibleItemsHaveNoAmount: boolean;3445    readonly isCantBurnNftWithChildren: boolean;3446    readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3447  }34483449  /** @name PalletStructureError (417) */3450  interface PalletStructureError extends Enum {3451    readonly isOuroborosDetected: boolean;3452    readonly isDepthLimit: boolean;3453    readonly isBreadthLimit: boolean;3454    readonly isTokenNotFound: boolean;3455    readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3456  }34573458  /** @name PalletRmrkCoreError (418) */3459  interface PalletRmrkCoreError extends Enum {3460    readonly isCorruptedCollectionType: boolean;3461    readonly isRmrkPropertyKeyIsTooLong: boolean;3462    readonly isRmrkPropertyValueIsTooLong: boolean;3463    readonly isRmrkPropertyIsNotFound: boolean;3464    readonly isUnableToDecodeRmrkData: boolean;3465    readonly isCollectionNotEmpty: boolean;3466    readonly isNoAvailableCollectionId: boolean;3467    readonly isNoAvailableNftId: boolean;3468    readonly isCollectionUnknown: boolean;3469    readonly isNoPermission: boolean;3470    readonly isNonTransferable: boolean;3471    readonly isCollectionFullOrLocked: boolean;3472    readonly isResourceDoesntExist: boolean;3473    readonly isCannotSendToDescendentOrSelf: boolean;3474    readonly isCannotAcceptNonOwnedNft: boolean;3475    readonly isCannotRejectNonOwnedNft: boolean;3476    readonly isCannotRejectNonPendingNft: boolean;3477    readonly isResourceNotPending: boolean;3478    readonly isNoAvailableResourceId: boolean;3479    readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3480  }34813482  /** @name PalletRmrkEquipError (420) */3483  interface PalletRmrkEquipError extends Enum {3484    readonly isPermissionError: boolean;3485    readonly isNoAvailableBaseId: boolean;3486    readonly isNoAvailablePartId: boolean;3487    readonly isBaseDoesntExist: boolean;3488    readonly isNeedsDefaultThemeFirst: boolean;3489    readonly isPartDoesntExist: boolean;3490    readonly isNoEquippableOnFixedPart: boolean;3491    readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3492  }34933494  /** @name PalletAppPromotionError (426) */3495  interface PalletAppPromotionError extends Enum {3496    readonly isAdminNotSet: boolean;3497    readonly isNoPermission: boolean;3498    readonly isNotSufficientFunds: boolean;3499    readonly isPendingForBlockOverflow: boolean;3500    readonly isSponsorNotSet: boolean;3501    readonly isIncorrectLockedBalanceOperation: boolean;3502    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3503  }35043505  /** @name PalletForeignAssetsModuleError (427) */3506  interface PalletForeignAssetsModuleError extends Enum {3507    readonly isBadLocation: boolean;3508    readonly isMultiLocationExisted: boolean;3509    readonly isAssetIdNotExists: boolean;3510    readonly isAssetIdExisted: boolean;3511    readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3512  }35133514  /** @name PalletEvmError (430) */3515  interface PalletEvmError extends Enum {3516    readonly isBalanceLow: boolean;3517    readonly isFeeOverflow: boolean;3518    readonly isPaymentOverflow: boolean;3519    readonly isWithdrawFailed: boolean;3520    readonly isGasPriceTooLow: boolean;3521    readonly isInvalidNonce: boolean;3522    readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';3523  }35243525  /** @name FpRpcTransactionStatus (433) */3526  interface FpRpcTransactionStatus extends Struct {3527    readonly transactionHash: H256;3528    readonly transactionIndex: u32;3529    readonly from: H160;3530    readonly to: Option<H160>;3531    readonly contractAddress: Option<H160>;3532    readonly logs: Vec<EthereumLog>;3533    readonly logsBloom: EthbloomBloom;3534  }35353536  /** @name EthbloomBloom (435) */3537  interface EthbloomBloom extends U8aFixed {}35383539  /** @name EthereumReceiptReceiptV3 (437) */3540  interface EthereumReceiptReceiptV3 extends Enum {3541    readonly isLegacy: boolean;3542    readonly asLegacy: EthereumReceiptEip658ReceiptData;3543    readonly isEip2930: boolean;3544    readonly asEip2930: EthereumReceiptEip658ReceiptData;3545    readonly isEip1559: boolean;3546    readonly asEip1559: EthereumReceiptEip658ReceiptData;3547    readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3548  }35493550  /** @name EthereumReceiptEip658ReceiptData (438) */3551  interface EthereumReceiptEip658ReceiptData extends Struct {3552    readonly statusCode: u8;3553    readonly usedGas: U256;3554    readonly logsBloom: EthbloomBloom;3555    readonly logs: Vec<EthereumLog>;3556  }35573558  /** @name EthereumBlock (439) */3559  interface EthereumBlock extends Struct {3560    readonly header: EthereumHeader;3561    readonly transactions: Vec<EthereumTransactionTransactionV2>;3562    readonly ommers: Vec<EthereumHeader>;3563  }35643565  /** @name EthereumHeader (440) */3566  interface EthereumHeader extends Struct {3567    readonly parentHash: H256;3568    readonly ommersHash: H256;3569    readonly beneficiary: H160;3570    readonly stateRoot: H256;3571    readonly transactionsRoot: H256;3572    readonly receiptsRoot: H256;3573    readonly logsBloom: EthbloomBloom;3574    readonly difficulty: U256;3575    readonly number: U256;3576    readonly gasLimit: U256;3577    readonly gasUsed: U256;3578    readonly timestamp: u64;3579    readonly extraData: Bytes;3580    readonly mixHash: H256;3581    readonly nonce: EthereumTypesHashH64;3582  }35833584  /** @name EthereumTypesHashH64 (441) */3585  interface EthereumTypesHashH64 extends U8aFixed {}35863587  /** @name PalletEthereumError (446) */3588  interface PalletEthereumError extends Enum {3589    readonly isInvalidSignature: boolean;3590    readonly isPreLogExists: boolean;3591    readonly type: 'InvalidSignature' | 'PreLogExists';3592  }35933594  /** @name PalletEvmCoderSubstrateError (447) */3595  interface PalletEvmCoderSubstrateError extends Enum {3596    readonly isOutOfGas: boolean;3597    readonly isOutOfFund: boolean;3598    readonly type: 'OutOfGas' | 'OutOfFund';3599  }36003601  /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (448) */3602  interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3603    readonly isDisabled: boolean;3604    readonly isUnconfirmed: boolean;3605    readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3606    readonly isConfirmed: boolean;3607    readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3608    readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3609  }36103611  /** @name PalletEvmContractHelpersSponsoringModeT (449) */3612  interface PalletEvmContractHelpersSponsoringModeT extends Enum {3613    readonly isDisabled: boolean;3614    readonly isAllowlisted: boolean;3615    readonly isGenerous: boolean;3616    readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3617  }36183619  /** @name PalletEvmContractHelpersError (455) */3620  interface PalletEvmContractHelpersError extends Enum {3621    readonly isNoPermission: boolean;3622    readonly isNoPendingSponsor: boolean;3623    readonly isTooManyMethodsHaveSponsoredLimit: boolean;3624    readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3625  }36263627  /** @name PalletEvmMigrationError (456) */3628  interface PalletEvmMigrationError extends Enum {3629    readonly isAccountNotEmpty: boolean;3630    readonly isAccountIsNotMigrating: boolean;3631    readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';3632  }36333634  /** @name SpRuntimeMultiSignature (458) */3635  interface SpRuntimeMultiSignature extends Enum {3636    readonly isEd25519: boolean;3637    readonly asEd25519: SpCoreEd25519Signature;3638    readonly isSr25519: boolean;3639    readonly asSr25519: SpCoreSr25519Signature;3640    readonly isEcdsa: boolean;3641    readonly asEcdsa: SpCoreEcdsaSignature;3642    readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3643  }36443645  /** @name SpCoreEd25519Signature (459) */3646  interface SpCoreEd25519Signature extends U8aFixed {}36473648  /** @name SpCoreSr25519Signature (461) */3649  interface SpCoreSr25519Signature extends U8aFixed {}36503651  /** @name SpCoreEcdsaSignature (462) */3652  interface SpCoreEcdsaSignature extends U8aFixed {}36533654  /** @name FrameSystemExtensionsCheckSpecVersion (465) */3655  type FrameSystemExtensionsCheckSpecVersion = Null;36563657  /** @name FrameSystemExtensionsCheckTxVersion (466) */3658  type FrameSystemExtensionsCheckTxVersion = Null;36593660  /** @name FrameSystemExtensionsCheckGenesis (467) */3661  type FrameSystemExtensionsCheckGenesis = Null;36623663  /** @name FrameSystemExtensionsCheckNonce (470) */3664  interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}36653666  /** @name FrameSystemExtensionsCheckWeight (471) */3667  type FrameSystemExtensionsCheckWeight = Null;36683669  /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (472) */3670  interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}36713672  /** @name OpalRuntimeRuntime (473) */3673  type OpalRuntimeRuntime = Null;36743675  /** @name PalletEthereumFakeTransactionFinalizer (474) */3676  type PalletEthereumFakeTransactionFinalizer = Null;36773678} // 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: {},