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
1132 readonly type: 'Substrate' | 'Ethereum';1132 readonly type: 'Substrate' | 'Ethereum';
1133 }1133 }
1134
1135 /** @name PalletUniqueSchedulerEvent (93) */
1136 interface PalletUniqueSchedulerEvent extends Enum {
1137 readonly isScheduled: boolean;
1138 readonly asScheduled: {
1139 readonly when: u32;
1140 readonly index: u32;
1141 } & Struct;
1142 readonly isCanceled: boolean;
1143 readonly asCanceled: {
1144 readonly when: u32;
1145 readonly index: u32;
1146 } & Struct;
1147 readonly isPriorityChanged: boolean;
1148 readonly asPriorityChanged: {
1149 readonly when: u32;
1150 readonly index: u32;
1151 readonly priority: u8;
1152 } & Struct;
1153 readonly isDispatched: boolean;
1154 readonly asDispatched: {
1155 readonly task: ITuple<[u32, u32]>;
1156 readonly id: Option<U8aFixed>;
1157 readonly result: Result<Null, SpRuntimeDispatchError>;
1158 } & Struct;
1159 readonly isCallLookupFailed: boolean;
1160 readonly asCallLookupFailed: {
1161 readonly task: ITuple<[u32, u32]>;
1162 readonly id: Option<U8aFixed>;
1163 readonly error: FrameSupportScheduleLookupError;
1164 } & Struct;
1165 readonly type: 'Scheduled' | 'Canceled' | 'PriorityChanged' | 'Dispatched' | 'CallLookupFailed';
1166 }
1167
1168 /** @name FrameSupportScheduleLookupError (96) */
1169 interface FrameSupportScheduleLookupError extends Enum {
1170 readonly isUnknown: boolean;
1171 readonly isBadFormat: boolean;
1172 readonly type: 'Unknown' | 'BadFormat';
1173 }
11341174
1135 /** @name PalletCommonEvent (93) */1175 /** @name PalletCommonEvent (97) */
1136 interface PalletCommonEvent extends Enum {1176 interface PalletCommonEvent extends Enum {
1137 readonly isCollectionCreated: boolean;1177 readonly isCollectionCreated: boolean;
1138 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1178 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;
1159 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1199 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
1160 }1200 }
11611201
1162 /** @name PalletStructureEvent (96) */1202 /** @name PalletStructureEvent (100) */
1163 interface PalletStructureEvent extends Enum {1203 interface PalletStructureEvent extends Enum {
1164 readonly isExecuted: boolean;1204 readonly isExecuted: boolean;
1165 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1205 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
1166 readonly type: 'Executed';1206 readonly type: 'Executed';
1167 }1207 }
11681208
1169 /** @name PalletRmrkCoreEvent (97) */1209 /** @name PalletRmrkCoreEvent (101) */
1170 interface PalletRmrkCoreEvent extends Enum {1210 interface PalletRmrkCoreEvent extends Enum {
1171 readonly isCollectionCreated: boolean;1211 readonly isCollectionCreated: boolean;
1172 readonly asCollectionCreated: {1212 readonly asCollectionCreated: {
1256 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1296 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
1257 }1297 }
12581298
1259 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (98) */1299 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (102) */
1260 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1300 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
1261 readonly isAccountId: boolean;1301 readonly isAccountId: boolean;
1262 readonly asAccountId: AccountId32;1302 readonly asAccountId: AccountId32;
1265 readonly type: 'AccountId' | 'CollectionAndNftTuple';1305 readonly type: 'AccountId' | 'CollectionAndNftTuple';
1266 }1306 }
12671307
1268 /** @name PalletRmrkEquipEvent (103) */1308 /** @name PalletRmrkEquipEvent (107) */
1269 interface PalletRmrkEquipEvent extends Enum {1309 interface PalletRmrkEquipEvent extends Enum {
1270 readonly isBaseCreated: boolean;1310 readonly isBaseCreated: boolean;
1271 readonly asBaseCreated: {1311 readonly asBaseCreated: {
1280 readonly type: 'BaseCreated' | 'EquippablesUpdated';1320 readonly type: 'BaseCreated' | 'EquippablesUpdated';
1281 }1321 }
12821322
1283 /** @name PalletAppPromotionEvent (104) */1323 /** @name PalletAppPromotionEvent (108) */
1284 interface PalletAppPromotionEvent extends Enum {1324 interface PalletAppPromotionEvent extends Enum {
1285 readonly isStakingRecalculation: boolean;1325 readonly isStakingRecalculation: boolean;
1286 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1326 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
1293 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1333 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
1294 }1334 }
12951335
1296 /** @name PalletForeignAssetsModuleEvent (105) */1336 /** @name PalletForeignAssetsModuleEvent (109) */
1297 interface PalletForeignAssetsModuleEvent extends Enum {1337 interface PalletForeignAssetsModuleEvent extends Enum {
1298 readonly isForeignAssetRegistered: boolean;1338 readonly isForeignAssetRegistered: boolean;
1299 readonly asForeignAssetRegistered: {1339 readonly asForeignAssetRegistered: {
1320 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1360 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
1321 }1361 }
13221362
1323 /** @name PalletForeignAssetsModuleAssetMetadata (106) */1363 /** @name PalletForeignAssetsModuleAssetMetadata (110) */
1324 interface PalletForeignAssetsModuleAssetMetadata extends Struct {1364 interface PalletForeignAssetsModuleAssetMetadata extends Struct {
1325 readonly name: Bytes;1365 readonly name: Bytes;
1326 readonly symbol: Bytes;1366 readonly symbol: Bytes;
1327 readonly decimals: u8;1367 readonly decimals: u8;
1328 readonly minimalBalance: u128;1368 readonly minimalBalance: u128;
1329 }1369 }
13301370
1331 /** @name PalletEvmEvent (107) */1371 /** @name PalletEvmEvent (111) */
1332 interface PalletEvmEvent extends Enum {1372 interface PalletEvmEvent extends Enum {
1333 readonly isLog: boolean;1373 readonly isLog: boolean;
1334 readonly asLog: EthereumLog;1374 readonly asLog: EthereumLog;
1347 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1387 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';
1348 }1388 }
13491389
1350 /** @name EthereumLog (108) */1390 /** @name EthereumLog (112) */
1351 interface EthereumLog extends Struct {1391 interface EthereumLog extends Struct {
1352 readonly address: H160;1392 readonly address: H160;
1353 readonly topics: Vec<H256>;1393 readonly topics: Vec<H256>;
1354 readonly data: Bytes;1394 readonly data: Bytes;
1355 }1395 }
13561396
1357 /** @name PalletEthereumEvent (112) */1397 /** @name PalletEthereumEvent (116) */
1358 interface PalletEthereumEvent extends Enum {1398 interface PalletEthereumEvent extends Enum {
1359 readonly isExecuted: boolean;1399 readonly isExecuted: boolean;
1360 readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1400 readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;
1361 readonly type: 'Executed';1401 readonly type: 'Executed';
1362 }1402 }
13631403
1364 /** @name EvmCoreErrorExitReason (113) */1404 /** @name EvmCoreErrorExitReason (117) */
1365 interface EvmCoreErrorExitReason extends Enum {1405 interface EvmCoreErrorExitReason extends Enum {
1366 readonly isSucceed: boolean;1406 readonly isSucceed: boolean;
1367 readonly asSucceed: EvmCoreErrorExitSucceed;1407 readonly asSucceed: EvmCoreErrorExitSucceed;
1374 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1414 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';
1375 }1415 }
13761416
1377 /** @name EvmCoreErrorExitSucceed (114) */1417 /** @name EvmCoreErrorExitSucceed (118) */
1378 interface EvmCoreErrorExitSucceed extends Enum {1418 interface EvmCoreErrorExitSucceed extends Enum {
1379 readonly isStopped: boolean;1419 readonly isStopped: boolean;
1380 readonly isReturned: boolean;1420 readonly isReturned: boolean;
1381 readonly isSuicided: boolean;1421 readonly isSuicided: boolean;
1382 readonly type: 'Stopped' | 'Returned' | 'Suicided';1422 readonly type: 'Stopped' | 'Returned' | 'Suicided';
1383 }1423 }
13841424
1385 /** @name EvmCoreErrorExitError (115) */1425 /** @name EvmCoreErrorExitError (119) */
1386 interface EvmCoreErrorExitError extends Enum {1426 interface EvmCoreErrorExitError extends Enum {
1387 readonly isStackUnderflow: boolean;1427 readonly isStackUnderflow: boolean;
1388 readonly isStackOverflow: boolean;1428 readonly isStackOverflow: boolean;
1403 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1443 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';
1404 }1444 }
14051445
1406 /** @name EvmCoreErrorExitRevert (118) */1446 /** @name EvmCoreErrorExitRevert (122) */
1407 interface EvmCoreErrorExitRevert extends Enum {1447 interface EvmCoreErrorExitRevert extends Enum {
1408 readonly isReverted: boolean;1448 readonly isReverted: boolean;
1409 readonly type: 'Reverted';1449 readonly type: 'Reverted';
1410 }1450 }
14111451
1412 /** @name EvmCoreErrorExitFatal (119) */1452 /** @name EvmCoreErrorExitFatal (123) */
1413 interface EvmCoreErrorExitFatal extends Enum {1453 interface EvmCoreErrorExitFatal extends Enum {
1414 readonly isNotSupported: boolean;1454 readonly isNotSupported: boolean;
1415 readonly isUnhandledInterrupt: boolean;1455 readonly isUnhandledInterrupt: boolean;
1420 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1460 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';
1421 }1461 }
14221462
1423 /** @name PalletEvmContractHelpersEvent (120) */1463 /** @name PalletEvmContractHelpersEvent (124) */
1424 interface PalletEvmContractHelpersEvent extends Enum {1464 interface PalletEvmContractHelpersEvent extends Enum {
1425 readonly isContractSponsorSet: boolean;1465 readonly isContractSponsorSet: boolean;
1426 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1466 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;
1431 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1471 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';
1432 }1472 }
1473
1474 /** @name PalletMaintenanceEvent (125) */
1475 interface PalletMaintenanceEvent extends Enum {
1476 readonly isMaintenanceEnabled: boolean;
1477 readonly isMaintenanceDisabled: boolean;
1478 readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
1479 }
1480
1481 /** @name PalletTestUtilsEvent (126) */
1482 interface PalletTestUtilsEvent extends Enum {
1483 readonly isValueIsSet: boolean;
1484 readonly isShouldRollback: boolean;
1485 readonly type: 'ValueIsSet' | 'ShouldRollback';
1486 }
14331487
1434 /** @name FrameSystemPhase (121) */1488 /** @name FrameSystemPhase (127) */
1435 interface FrameSystemPhase extends Enum {1489 interface FrameSystemPhase extends Enum {
1436 readonly isApplyExtrinsic: boolean;1490 readonly isApplyExtrinsic: boolean;
1437 readonly asApplyExtrinsic: u32;1491 readonly asApplyExtrinsic: u32;
1440 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1494 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';
1441 }1495 }
14421496
1443 /** @name FrameSystemLastRuntimeUpgradeInfo (124) */1497 /** @name FrameSystemLastRuntimeUpgradeInfo (129) */
1444 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1498 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
1445 readonly specVersion: Compact<u32>;1499 readonly specVersion: Compact<u32>;
1446 readonly specName: Text;1500 readonly specName: Text;
1447 }1501 }
14481502
1449 /** @name FrameSystemCall (125) */1503 /** @name FrameSystemCall (130) */
1450 interface FrameSystemCall extends Enum {1504 interface FrameSystemCall extends Enum {
1451 readonly isFillBlock: boolean;1505 readonly isFillBlock: boolean;
1452 readonly asFillBlock: {1506 readonly asFillBlock: {
1488 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1542 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';
1489 }1543 }
14901544
1491 /** @name FrameSystemLimitsBlockWeights (130) */1545 /** @name FrameSystemLimitsBlockWeights (135) */
1492 interface FrameSystemLimitsBlockWeights extends Struct {1546 interface FrameSystemLimitsBlockWeights extends Struct {
1493 readonly baseBlock: Weight;1547 readonly baseBlock: Weight;
1494 readonly maxBlock: Weight;1548 readonly maxBlock: Weight;
1495 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1549 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
1496 }1550 }
14971551
1498 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (131) */1552 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (136) */
1499 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1553 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
1500 readonly normal: FrameSystemLimitsWeightsPerClass;1554 readonly normal: FrameSystemLimitsWeightsPerClass;
1501 readonly operational: FrameSystemLimitsWeightsPerClass;1555 readonly operational: FrameSystemLimitsWeightsPerClass;
1502 readonly mandatory: FrameSystemLimitsWeightsPerClass;1556 readonly mandatory: FrameSystemLimitsWeightsPerClass;
1503 }1557 }
15041558
1505 /** @name FrameSystemLimitsWeightsPerClass (132) */1559 /** @name FrameSystemLimitsWeightsPerClass (137) */
1506 interface FrameSystemLimitsWeightsPerClass extends Struct {1560 interface FrameSystemLimitsWeightsPerClass extends Struct {
1507 readonly baseExtrinsic: Weight;1561 readonly baseExtrinsic: Weight;
1508 readonly maxExtrinsic: Option<Weight>;1562 readonly maxExtrinsic: Option<Weight>;
1509 readonly maxTotal: Option<Weight>;1563 readonly maxTotal: Option<Weight>;
1510 readonly reserved: Option<Weight>;1564 readonly reserved: Option<Weight>;
1511 }1565 }
15121566
1513 /** @name FrameSystemLimitsBlockLength (134) */1567 /** @name FrameSystemLimitsBlockLength (139) */
1514 interface FrameSystemLimitsBlockLength extends Struct {1568 interface FrameSystemLimitsBlockLength extends Struct {
1515 readonly max: FrameSupportDispatchPerDispatchClassU32;1569 readonly max: FrameSupportDispatchPerDispatchClassU32;
1516 }1570 }
15171571
1518 /** @name FrameSupportDispatchPerDispatchClassU32 (135) */1572 /** @name FrameSupportDispatchPerDispatchClassU32 (140) */
1519 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1573 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
1520 readonly normal: u32;1574 readonly normal: u32;
1521 readonly operational: u32;1575 readonly operational: u32;
1522 readonly mandatory: u32;1576 readonly mandatory: u32;
1523 }1577 }
15241578
1525 /** @name SpWeightsRuntimeDbWeight (136) */1579 /** @name SpWeightsRuntimeDbWeight (141) */
1526 interface SpWeightsRuntimeDbWeight extends Struct {1580 interface SpWeightsRuntimeDbWeight extends Struct {
1527 readonly read: u64;1581 readonly read: u64;
1528 readonly write: u64;1582 readonly write: u64;
1529 }1583 }
15301584
1531 /** @name SpVersionRuntimeVersion (137) */1585 /** @name SpVersionRuntimeVersion (142) */
1532 interface SpVersionRuntimeVersion extends Struct {1586 interface SpVersionRuntimeVersion extends Struct {
1533 readonly specName: Text;1587 readonly specName: Text;
1534 readonly implName: Text;1588 readonly implName: Text;
1540 readonly stateVersion: u8;1594 readonly stateVersion: u8;
1541 }1595 }
15421596
1543 /** @name FrameSystemError (142) */1597 /** @name FrameSystemError (147) */
1544 interface FrameSystemError extends Enum {1598 interface FrameSystemError extends Enum {
1545 readonly isInvalidSpecName: boolean;1599 readonly isInvalidSpecName: boolean;
1546 readonly isSpecVersionNeedsToIncrease: boolean;1600 readonly isSpecVersionNeedsToIncrease: boolean;
1551 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1605 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';
1552 }1606 }
15531607
1554 /** @name PolkadotPrimitivesV2PersistedValidationData (143) */1608 /** @name PolkadotPrimitivesV2PersistedValidationData (148) */
1555 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1609 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {
1556 readonly parentHead: Bytes;1610 readonly parentHead: Bytes;
1557 readonly relayParentNumber: u32;1611 readonly relayParentNumber: u32;
1558 readonly relayParentStorageRoot: H256;1612 readonly relayParentStorageRoot: H256;
1559 readonly maxPovSize: u32;1613 readonly maxPovSize: u32;
1560 }1614 }
15611615
1562 /** @name PolkadotPrimitivesV2UpgradeRestriction (146) */1616 /** @name PolkadotPrimitivesV2UpgradeRestriction (151) */
1563 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1617 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {
1564 readonly isPresent: boolean;1618 readonly isPresent: boolean;
1565 readonly type: 'Present';1619 readonly type: 'Present';
1566 }1620 }
15671621
1568 /** @name SpTrieStorageProof (147) */1622 /** @name SpTrieStorageProof (152) */
1569 interface SpTrieStorageProof extends Struct {1623 interface SpTrieStorageProof extends Struct {
1570 readonly trieNodes: BTreeSet<Bytes>;1624 readonly trieNodes: BTreeSet<Bytes>;
1571 }1625 }
15721626
1573 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (149) */1627 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (154) */
1574 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1628 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
1575 readonly dmqMqcHead: H256;1629 readonly dmqMqcHead: H256;
1576 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1630 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;
1577 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1631 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1578 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1632 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;
1579 }1633 }
15801634
1581 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (152) */1635 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (157) */
1582 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1636 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {
1583 readonly maxCapacity: u32;1637 readonly maxCapacity: u32;
1584 readonly maxTotalSize: u32;1638 readonly maxTotalSize: u32;
1588 readonly mqcHead: Option<H256>;1642 readonly mqcHead: Option<H256>;
1589 }1643 }
15901644
1591 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (153) */1645 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (158) */
1592 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1646 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {
1593 readonly maxCodeSize: u32;1647 readonly maxCodeSize: u32;
1594 readonly maxHeadDataSize: u32;1648 readonly maxHeadDataSize: u32;
1601 readonly validationUpgradeDelay: u32;1655 readonly validationUpgradeDelay: u32;
1602 }1656 }
16031657
1604 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (159) */1658 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (164) */
1605 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1659 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
1606 readonly recipient: u32;1660 readonly recipient: u32;
1607 readonly data: Bytes;1661 readonly data: Bytes;
1608 }1662 }
16091663
1610 /** @name CumulusPalletParachainSystemCall (160) */1664 /** @name CumulusPalletParachainSystemCall (165) */
1611 interface CumulusPalletParachainSystemCall extends Enum {1665 interface CumulusPalletParachainSystemCall extends Enum {
1612 readonly isSetValidationData: boolean;1666 readonly isSetValidationData: boolean;
1613 readonly asSetValidationData: {1667 readonly asSetValidationData: {
1628 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1682 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
1629 }1683 }
16301684
1631 /** @name CumulusPrimitivesParachainInherentParachainInherentData (161) */1685 /** @name CumulusPrimitivesParachainInherentParachainInherentData (166) */
1632 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1686 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
1633 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1687 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;
1634 readonly relayChainState: SpTrieStorageProof;1688 readonly relayChainState: SpTrieStorageProof;
1635 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1689 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;
1636 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1690 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
1637 }1691 }
16381692
1639 /** @name PolkadotCorePrimitivesInboundDownwardMessage (163) */1693 /** @name PolkadotCorePrimitivesInboundDownwardMessage (168) */
1640 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1694 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
1641 readonly sentAt: u32;1695 readonly sentAt: u32;
1642 readonly msg: Bytes;1696 readonly msg: Bytes;
1643 }1697 }
16441698
1645 /** @name PolkadotCorePrimitivesInboundHrmpMessage (166) */1699 /** @name PolkadotCorePrimitivesInboundHrmpMessage (171) */
1646 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1700 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
1647 readonly sentAt: u32;1701 readonly sentAt: u32;
1648 readonly data: Bytes;1702 readonly data: Bytes;
1649 }1703 }
16501704
1651 /** @name CumulusPalletParachainSystemError (169) */1705 /** @name CumulusPalletParachainSystemError (174) */
1652 interface CumulusPalletParachainSystemError extends Enum {1706 interface CumulusPalletParachainSystemError extends Enum {
1653 readonly isOverlappingUpgrades: boolean;1707 readonly isOverlappingUpgrades: boolean;
1654 readonly isProhibitedByPolkadot: boolean;1708 readonly isProhibitedByPolkadot: boolean;
1661 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1715 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';
1662 }1716 }
16631717
1664 /** @name PalletBalancesBalanceLock (171) */1718 /** @name PalletBalancesBalanceLock (176) */
1665 interface PalletBalancesBalanceLock extends Struct {1719 interface PalletBalancesBalanceLock extends Struct {
1666 readonly id: U8aFixed;1720 readonly id: U8aFixed;
1667 readonly amount: u128;1721 readonly amount: u128;
1668 readonly reasons: PalletBalancesReasons;1722 readonly reasons: PalletBalancesReasons;
1669 }1723 }
16701724
1671 /** @name PalletBalancesReasons (172) */1725 /** @name PalletBalancesReasons (177) */
1672 interface PalletBalancesReasons extends Enum {1726 interface PalletBalancesReasons extends Enum {
1673 readonly isFee: boolean;1727 readonly isFee: boolean;
1674 readonly isMisc: boolean;1728 readonly isMisc: boolean;
1675 readonly isAll: boolean;1729 readonly isAll: boolean;
1676 readonly type: 'Fee' | 'Misc' | 'All';1730 readonly type: 'Fee' | 'Misc' | 'All';
1677 }1731 }
16781732
1679 /** @name PalletBalancesReserveData (175) */1733 /** @name PalletBalancesReserveData (180) */
1680 interface PalletBalancesReserveData extends Struct {1734 interface PalletBalancesReserveData extends Struct {
1681 readonly id: U8aFixed;1735 readonly id: U8aFixed;
1682 readonly amount: u128;1736 readonly amount: u128;
1683 }1737 }
16841738
1685 /** @name PalletBalancesReleases (177) */1739 /** @name PalletBalancesReleases (182) */
1686 interface PalletBalancesReleases extends Enum {1740 interface PalletBalancesReleases extends Enum {
1687 readonly isV100: boolean;1741 readonly isV100: boolean;
1688 readonly isV200: boolean;1742 readonly isV200: boolean;
1689 readonly type: 'V100' | 'V200';1743 readonly type: 'V100' | 'V200';
1690 }1744 }
16911745
1692 /** @name PalletBalancesCall (178) */1746 /** @name PalletBalancesCall (183) */
1693 interface PalletBalancesCall extends Enum {1747 interface PalletBalancesCall extends Enum {
1694 readonly isTransfer: boolean;1748 readonly isTransfer: boolean;
1695 readonly asTransfer: {1749 readonly asTransfer: {
1726 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1780 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';
1727 }1781 }
17281782
1729 /** @name PalletBalancesError (181) */1783 /** @name PalletBalancesError (186) */
1730 interface PalletBalancesError extends Enum {1784 interface PalletBalancesError extends Enum {
1731 readonly isVestingBalance: boolean;1785 readonly isVestingBalance: boolean;
1732 readonly isLiquidityRestrictions: boolean;1786 readonly isLiquidityRestrictions: boolean;
1739 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1793 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';
1740 }1794 }
17411795
1742 /** @name PalletTimestampCall (183) */1796 /** @name PalletTimestampCall (188) */
1743 interface PalletTimestampCall extends Enum {1797 interface PalletTimestampCall extends Enum {
1744 readonly isSet: boolean;1798 readonly isSet: boolean;
1745 readonly asSet: {1799 readonly asSet: {
1748 readonly type: 'Set';1802 readonly type: 'Set';
1749 }1803 }
17501804
1751 /** @name PalletTransactionPaymentReleases (185) */1805 /** @name PalletTransactionPaymentReleases (190) */
1752 interface PalletTransactionPaymentReleases extends Enum {1806 interface PalletTransactionPaymentReleases extends Enum {
1753 readonly isV1Ancient: boolean;1807 readonly isV1Ancient: boolean;
1754 readonly isV2: boolean;1808 readonly isV2: boolean;
1755 readonly type: 'V1Ancient' | 'V2';1809 readonly type: 'V1Ancient' | 'V2';
1756 }1810 }
17571811
1758 /** @name PalletTreasuryProposal (186) */1812 /** @name PalletTreasuryProposal (191) */
1759 interface PalletTreasuryProposal extends Struct {1813 interface PalletTreasuryProposal extends Struct {
1760 readonly proposer: AccountId32;1814 readonly proposer: AccountId32;
1761 readonly value: u128;1815 readonly value: u128;
1762 readonly beneficiary: AccountId32;1816 readonly beneficiary: AccountId32;
1763 readonly bond: u128;1817 readonly bond: u128;
1764 }1818 }
17651819
1766 /** @name PalletTreasuryCall (189) */1820 /** @name PalletTreasuryCall (194) */
1767 interface PalletTreasuryCall extends Enum {1821 interface PalletTreasuryCall extends Enum {
1768 readonly isProposeSpend: boolean;1822 readonly isProposeSpend: boolean;
1769 readonly asProposeSpend: {1823 readonly asProposeSpend: {
1790 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1844 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
1791 }1845 }
17921846
1793 /** @name FrameSupportPalletId (192) */1847 /** @name FrameSupportPalletId (197) */
1794 interface FrameSupportPalletId extends U8aFixed {}1848 interface FrameSupportPalletId extends U8aFixed {}
17951849
1796 /** @name PalletTreasuryError (193) */1850 /** @name PalletTreasuryError (198) */
1797 interface PalletTreasuryError extends Enum {1851 interface PalletTreasuryError extends Enum {
1798 readonly isInsufficientProposersBalance: boolean;1852 readonly isInsufficientProposersBalance: boolean;
1799 readonly isInvalidIndex: boolean;1853 readonly isInvalidIndex: boolean;
1803 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1857 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';
1804 }1858 }
18051859
1806 /** @name PalletSudoCall (194) */1860 /** @name PalletSudoCall (199) */
1807 interface PalletSudoCall extends Enum {1861 interface PalletSudoCall extends Enum {
1808 readonly isSudo: boolean;1862 readonly isSudo: boolean;
1809 readonly asSudo: {1863 readonly asSudo: {
1826 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1880 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
1827 }1881 }
18281882
1829 /** @name OrmlVestingModuleCall (196) */1883 /** @name OrmlVestingModuleCall (201) */
1830 interface OrmlVestingModuleCall extends Enum {1884 interface OrmlVestingModuleCall extends Enum {
1831 readonly isClaim: boolean;1885 readonly isClaim: boolean;
1832 readonly isVestedTransfer: boolean;1886 readonly isVestedTransfer: boolean;
1846 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1900 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
1847 }1901 }
18481902
1849 /** @name OrmlXtokensModuleCall (198) */1903 /** @name OrmlXtokensModuleCall (203) */
1850 interface OrmlXtokensModuleCall extends Enum {1904 interface OrmlXtokensModuleCall extends Enum {
1851 readonly isTransfer: boolean;1905 readonly isTransfer: boolean;
1852 readonly asTransfer: {1906 readonly asTransfer: {
1893 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1947 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
1894 }1948 }
18951949
1896 /** @name XcmVersionedMultiAsset (199) */1950 /** @name XcmVersionedMultiAsset (204) */
1897 interface XcmVersionedMultiAsset extends Enum {1951 interface XcmVersionedMultiAsset extends Enum {
1898 readonly isV0: boolean;1952 readonly isV0: boolean;
1899 readonly asV0: XcmV0MultiAsset;1953 readonly asV0: XcmV0MultiAsset;
1902 readonly type: 'V0' | 'V1';1956 readonly type: 'V0' | 'V1';
1903 }1957 }
19041958
1905 /** @name OrmlTokensModuleCall (202) */1959 /** @name OrmlTokensModuleCall (207) */
1906 interface OrmlTokensModuleCall extends Enum {1960 interface OrmlTokensModuleCall extends Enum {
1907 readonly isTransfer: boolean;1961 readonly isTransfer: boolean;
1908 readonly asTransfer: {1962 readonly asTransfer: {
1939 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1993 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
1940 }1994 }
19411995
1942 /** @name CumulusPalletXcmpQueueCall (203) */1996 /** @name CumulusPalletXcmpQueueCall (208) */
1943 interface CumulusPalletXcmpQueueCall extends Enum {1997 interface CumulusPalletXcmpQueueCall extends Enum {
1944 readonly isServiceOverweight: boolean;1998 readonly isServiceOverweight: boolean;
1945 readonly asServiceOverweight: {1999 readonly asServiceOverweight: {
1975 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2029 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
1976 }2030 }
19772031
1978 /** @name PalletXcmCall (204) */2032 /** @name PalletXcmCall (209) */
1979 interface PalletXcmCall extends Enum {2033 interface PalletXcmCall extends Enum {
1980 readonly isSend: boolean;2034 readonly isSend: boolean;
1981 readonly asSend: {2035 readonly asSend: {
2037 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2091 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';
2038 }2092 }
20392093
2040 /** @name XcmVersionedXcm (205) */2094 /** @name XcmVersionedXcm (210) */
2041 interface XcmVersionedXcm extends Enum {2095 interface XcmVersionedXcm extends Enum {
2042 readonly isV0: boolean;2096 readonly isV0: boolean;
2043 readonly asV0: XcmV0Xcm;2097 readonly asV0: XcmV0Xcm;
2048 readonly type: 'V0' | 'V1' | 'V2';2102 readonly type: 'V0' | 'V1' | 'V2';
2049 }2103 }
20502104
2051 /** @name XcmV0Xcm (206) */2105 /** @name XcmV0Xcm (211) */
2052 interface XcmV0Xcm extends Enum {2106 interface XcmV0Xcm extends Enum {
2053 readonly isWithdrawAsset: boolean;2107 readonly isWithdrawAsset: boolean;
2054 readonly asWithdrawAsset: {2108 readonly asWithdrawAsset: {
2111 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2165 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';
2112 }2166 }
21132167
2114 /** @name XcmV0Order (208) */2168 /** @name XcmV0Order (213) */
2115 interface XcmV0Order extends Enum {2169 interface XcmV0Order extends Enum {
2116 readonly isNull: boolean;2170 readonly isNull: boolean;
2117 readonly isDepositAsset: boolean;2171 readonly isDepositAsset: boolean;
2159 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2213 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2160 }2214 }
21612215
2162 /** @name XcmV0Response (210) */2216 /** @name XcmV0Response (215) */
2163 interface XcmV0Response extends Enum {2217 interface XcmV0Response extends Enum {
2164 readonly isAssets: boolean;2218 readonly isAssets: boolean;
2165 readonly asAssets: Vec<XcmV0MultiAsset>;2219 readonly asAssets: Vec<XcmV0MultiAsset>;
2166 readonly type: 'Assets';2220 readonly type: 'Assets';
2167 }2221 }
21682222
2169 /** @name XcmV1Xcm (211) */2223 /** @name XcmV1Xcm (216) */
2170 interface XcmV1Xcm extends Enum {2224 interface XcmV1Xcm extends Enum {
2171 readonly isWithdrawAsset: boolean;2225 readonly isWithdrawAsset: boolean;
2172 readonly asWithdrawAsset: {2226 readonly asWithdrawAsset: {
2235 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2289 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';
2236 }2290 }
22372291
2238 /** @name XcmV1Order (213) */2292 /** @name XcmV1Order (218) */
2239 interface XcmV1Order extends Enum {2293 interface XcmV1Order extends Enum {
2240 readonly isNoop: boolean;2294 readonly isNoop: boolean;
2241 readonly isDepositAsset: boolean;2295 readonly isDepositAsset: boolean;
2285 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2339 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';
2286 }2340 }
22872341
2288 /** @name XcmV1Response (215) */2342 /** @name XcmV1Response (220) */
2289 interface XcmV1Response extends Enum {2343 interface XcmV1Response extends Enum {
2290 readonly isAssets: boolean;2344 readonly isAssets: boolean;
2291 readonly asAssets: XcmV1MultiassetMultiAssets;2345 readonly asAssets: XcmV1MultiassetMultiAssets;
2294 readonly type: 'Assets' | 'Version';2348 readonly type: 'Assets' | 'Version';
2295 }2349 }
22962350
2297 /** @name CumulusPalletXcmCall (229) */2351 /** @name CumulusPalletXcmCall (234) */
2298 type CumulusPalletXcmCall = Null;2352 type CumulusPalletXcmCall = Null;
22992353
2300 /** @name CumulusPalletDmpQueueCall (230) */2354 /** @name CumulusPalletDmpQueueCall (235) */
2301 interface CumulusPalletDmpQueueCall extends Enum {2355 interface CumulusPalletDmpQueueCall extends Enum {
2302 readonly isServiceOverweight: boolean;2356 readonly isServiceOverweight: boolean;
2303 readonly asServiceOverweight: {2357 readonly asServiceOverweight: {
2307 readonly type: 'ServiceOverweight';2361 readonly type: 'ServiceOverweight';
2308 }2362 }
23092363
2310 /** @name PalletInflationCall (231) */2364 /** @name PalletInflationCall (236) */
2311 interface PalletInflationCall extends Enum {2365 interface PalletInflationCall extends Enum {
2312 readonly isStartInflation: boolean;2366 readonly isStartInflation: boolean;
2313 readonly asStartInflation: {2367 readonly asStartInflation: {
2316 readonly type: 'StartInflation';2370 readonly type: 'StartInflation';
2317 }2371 }
23182372
2319 /** @name PalletUniqueCall (232) */2373 /** @name PalletUniqueCall (237) */
2320 interface PalletUniqueCall extends Enum {2374 interface PalletUniqueCall extends Enum {
2321 readonly isCreateCollection: boolean;2375 readonly isCreateCollection: boolean;
2322 readonly asCreateCollection: {2376 readonly asCreateCollection: {
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';2528 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 }2529 }
24762530
2477 /** @name UpDataStructsCollectionMode (237) */2531 /** @name UpDataStructsCollectionMode (242) */
2478 interface UpDataStructsCollectionMode extends Enum {2532 interface UpDataStructsCollectionMode extends Enum {
2479 readonly isNft: boolean;2533 readonly isNft: boolean;
2480 readonly isFungible: boolean;2534 readonly isFungible: boolean;
2483 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2537 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2484 }2538 }
24852539
2486 /** @name UpDataStructsCreateCollectionData (238) */2540 /** @name UpDataStructsCreateCollectionData (243) */
2487 interface UpDataStructsCreateCollectionData extends Struct {2541 interface UpDataStructsCreateCollectionData extends Struct {
2488 readonly mode: UpDataStructsCollectionMode;2542 readonly mode: UpDataStructsCollectionMode;
2489 readonly access: Option<UpDataStructsAccessMode>;2543 readonly access: Option<UpDataStructsAccessMode>;
2497 readonly properties: Vec<UpDataStructsProperty>;2551 readonly properties: Vec<UpDataStructsProperty>;
2498 }2552 }
24992553
2500 /** @name UpDataStructsAccessMode (240) */2554 /** @name UpDataStructsAccessMode (245) */
2501 interface UpDataStructsAccessMode extends Enum {2555 interface UpDataStructsAccessMode extends Enum {
2502 readonly isNormal: boolean;2556 readonly isNormal: boolean;
2503 readonly isAllowList: boolean;2557 readonly isAllowList: boolean;
2504 readonly type: 'Normal' | 'AllowList';2558 readonly type: 'Normal' | 'AllowList';
2505 }2559 }
25062560
2507 /** @name UpDataStructsCollectionLimits (242) */2561 /** @name UpDataStructsCollectionLimits (247) */
2508 interface UpDataStructsCollectionLimits extends Struct {2562 interface UpDataStructsCollectionLimits extends Struct {
2509 readonly accountTokenOwnershipLimit: Option<u32>;2563 readonly accountTokenOwnershipLimit: Option<u32>;
2510 readonly sponsoredDataSize: Option<u32>;2564 readonly sponsoredDataSize: Option<u32>;
2517 readonly transfersEnabled: Option<bool>;2571 readonly transfersEnabled: Option<bool>;
2518 }2572 }
25192573
2520 /** @name UpDataStructsSponsoringRateLimit (244) */2574 /** @name UpDataStructsSponsoringRateLimit (249) */
2521 interface UpDataStructsSponsoringRateLimit extends Enum {2575 interface UpDataStructsSponsoringRateLimit extends Enum {
2522 readonly isSponsoringDisabled: boolean;2576 readonly isSponsoringDisabled: boolean;
2523 readonly isBlocks: boolean;2577 readonly isBlocks: boolean;
2524 readonly asBlocks: u32;2578 readonly asBlocks: u32;
2525 readonly type: 'SponsoringDisabled' | 'Blocks';2579 readonly type: 'SponsoringDisabled' | 'Blocks';
2526 }2580 }
25272581
2528 /** @name UpDataStructsCollectionPermissions (247) */2582 /** @name UpDataStructsCollectionPermissions (252) */
2529 interface UpDataStructsCollectionPermissions extends Struct {2583 interface UpDataStructsCollectionPermissions extends Struct {
2530 readonly access: Option<UpDataStructsAccessMode>;2584 readonly access: Option<UpDataStructsAccessMode>;
2531 readonly mintMode: Option<bool>;2585 readonly mintMode: Option<bool>;
2532 readonly nesting: Option<UpDataStructsNestingPermissions>;2586 readonly nesting: Option<UpDataStructsNestingPermissions>;
2533 }2587 }
25342588
2535 /** @name UpDataStructsNestingPermissions (249) */2589 /** @name UpDataStructsNestingPermissions (254) */
2536 interface UpDataStructsNestingPermissions extends Struct {2590 interface UpDataStructsNestingPermissions extends Struct {
2537 readonly tokenOwner: bool;2591 readonly tokenOwner: bool;
2538 readonly collectionAdmin: bool;2592 readonly collectionAdmin: bool;
2539 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2593 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
2540 }2594 }
25412595
2542 /** @name UpDataStructsOwnerRestrictedSet (251) */2596 /** @name UpDataStructsOwnerRestrictedSet (256) */
2543 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}2597 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
25442598
2545 /** @name UpDataStructsPropertyKeyPermission (256) */2599 /** @name UpDataStructsPropertyKeyPermission (261) */
2546 interface UpDataStructsPropertyKeyPermission extends Struct {2600 interface UpDataStructsPropertyKeyPermission extends Struct {
2547 readonly key: Bytes;2601 readonly key: Bytes;
2548 readonly permission: UpDataStructsPropertyPermission;2602 readonly permission: UpDataStructsPropertyPermission;
2549 }2603 }
25502604
2551 /** @name UpDataStructsPropertyPermission (257) */2605 /** @name UpDataStructsPropertyPermission (262) */
2552 interface UpDataStructsPropertyPermission extends Struct {2606 interface UpDataStructsPropertyPermission extends Struct {
2553 readonly mutable: bool;2607 readonly mutable: bool;
2554 readonly collectionAdmin: bool;2608 readonly collectionAdmin: bool;
2555 readonly tokenOwner: bool;2609 readonly tokenOwner: bool;
2556 }2610 }
25572611
2558 /** @name UpDataStructsProperty (260) */2612 /** @name UpDataStructsProperty (265) */
2559 interface UpDataStructsProperty extends Struct {2613 interface UpDataStructsProperty extends Struct {
2560 readonly key: Bytes;2614 readonly key: Bytes;
2561 readonly value: Bytes;2615 readonly value: Bytes;
2562 }2616 }
25632617
2564 /** @name UpDataStructsCreateItemData (263) */2618 /** @name UpDataStructsCreateItemData (268) */
2565 interface UpDataStructsCreateItemData extends Enum {2619 interface UpDataStructsCreateItemData extends Enum {
2566 readonly isNft: boolean;2620 readonly isNft: boolean;
2567 readonly asNft: UpDataStructsCreateNftData;2621 readonly asNft: UpDataStructsCreateNftData;
2572 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2626 readonly type: 'Nft' | 'Fungible' | 'ReFungible';
2573 }2627 }
25742628
2575 /** @name UpDataStructsCreateNftData (264) */2629 /** @name UpDataStructsCreateNftData (269) */
2576 interface UpDataStructsCreateNftData extends Struct {2630 interface UpDataStructsCreateNftData extends Struct {
2577 readonly properties: Vec<UpDataStructsProperty>;2631 readonly properties: Vec<UpDataStructsProperty>;
2578 }2632 }
25792633
2580 /** @name UpDataStructsCreateFungibleData (265) */2634 /** @name UpDataStructsCreateFungibleData (270) */
2581 interface UpDataStructsCreateFungibleData extends Struct {2635 interface UpDataStructsCreateFungibleData extends Struct {
2582 readonly value: u128;2636 readonly value: u128;
2583 }2637 }
25842638
2585 /** @name UpDataStructsCreateReFungibleData (266) */2639 /** @name UpDataStructsCreateReFungibleData (271) */
2586 interface UpDataStructsCreateReFungibleData extends Struct {2640 interface UpDataStructsCreateReFungibleData extends Struct {
2587 readonly pieces: u128;2641 readonly pieces: u128;
2588 readonly properties: Vec<UpDataStructsProperty>;2642 readonly properties: Vec<UpDataStructsProperty>;
2589 }2643 }
25902644
2591 /** @name UpDataStructsCreateItemExData (269) */2645 /** @name UpDataStructsCreateItemExData (274) */
2592 interface UpDataStructsCreateItemExData extends Enum {2646 interface UpDataStructsCreateItemExData extends Enum {
2593 readonly isNft: boolean;2647 readonly isNft: boolean;
2594 readonly asNft: Vec<UpDataStructsCreateNftExData>;2648 readonly asNft: Vec<UpDataStructsCreateNftExData>;
2601 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2655 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
2602 }2656 }
26032657
2604 /** @name UpDataStructsCreateNftExData (271) */2658 /** @name UpDataStructsCreateNftExData (276) */
2605 interface UpDataStructsCreateNftExData extends Struct {2659 interface UpDataStructsCreateNftExData extends Struct {
2606 readonly properties: Vec<UpDataStructsProperty>;2660 readonly properties: Vec<UpDataStructsProperty>;
2607 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2661 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
2608 }2662 }
26092663
2610 /** @name UpDataStructsCreateRefungibleExSingleOwner (278) */2664 /** @name UpDataStructsCreateRefungibleExSingleOwner (283) */
2611 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2665 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
2612 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2666 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
2613 readonly pieces: u128;2667 readonly pieces: u128;
2614 readonly properties: Vec<UpDataStructsProperty>;2668 readonly properties: Vec<UpDataStructsProperty>;
2615 }2669 }
26162670
2617 /** @name UpDataStructsCreateRefungibleExMultipleOwners (280) */2671 /** @name UpDataStructsCreateRefungibleExMultipleOwners (285) */
2618 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2672 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
2619 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2673 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
2620 readonly properties: Vec<UpDataStructsProperty>;2674 readonly properties: Vec<UpDataStructsProperty>;
2621 }2675 }
2676
2677 /** @name PalletUniqueSchedulerCall (286) */
2678 interface PalletUniqueSchedulerCall extends Enum {
2679 readonly isScheduleNamed: boolean;
2680 readonly asScheduleNamed: {
2681 readonly id: U8aFixed;
2682 readonly when: u32;
2683 readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
2684 readonly priority: Option<u8>;
2685 readonly call: FrameSupportScheduleMaybeHashed;
2686 } & Struct;
2687 readonly isCancelNamed: boolean;
2688 readonly asCancelNamed: {
2689 readonly id: U8aFixed;
2690 } & Struct;
2691 readonly isScheduleNamedAfter: boolean;
2692 readonly asScheduleNamedAfter: {
2693 readonly id: U8aFixed;
2694 readonly after: u32;
2695 readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
2696 readonly priority: Option<u8>;
2697 readonly call: FrameSupportScheduleMaybeHashed;
2698 } & Struct;
2699 readonly isChangeNamedPriority: boolean;
2700 readonly asChangeNamedPriority: {
2701 readonly id: U8aFixed;
2702 readonly priority: u8;
2703 } & Struct;
2704 readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter' | 'ChangeNamedPriority';
2705 }
2706
2707 /** @name FrameSupportScheduleMaybeHashed (289) */
2708 interface FrameSupportScheduleMaybeHashed extends Enum {
2709 readonly isValue: boolean;
2710 readonly asValue: Call;
2711 readonly isHash: boolean;
2712 readonly asHash: H256;
2713 readonly type: 'Value' | 'Hash';
2714 }
26222715
2623 /** @name PalletConfigurationCall (281) */2716 /** @name PalletConfigurationCall (290) */
2624 interface PalletConfigurationCall extends Enum {2717 interface PalletConfigurationCall extends Enum {
2625 readonly isSetWeightToFeeCoefficientOverride: boolean;2718 readonly isSetWeightToFeeCoefficientOverride: boolean;
2626 readonly asSetWeightToFeeCoefficientOverride: {2719 readonly asSetWeightToFeeCoefficientOverride: {
2633 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';2726 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';
2634 }2727 }
26352728
2636 /** @name PalletTemplateTransactionPaymentCall (283) */2729 /** @name PalletTemplateTransactionPaymentCall (292) */
2637 type PalletTemplateTransactionPaymentCall = Null;2730 type PalletTemplateTransactionPaymentCall = Null;
26382731
2639 /** @name PalletStructureCall (284) */2732 /** @name PalletStructureCall (293) */
2640 type PalletStructureCall = Null;2733 type PalletStructureCall = Null;
26412734
2642 /** @name PalletRmrkCoreCall (285) */2735 /** @name PalletRmrkCoreCall (294) */
2643 interface PalletRmrkCoreCall extends Enum {2736 interface PalletRmrkCoreCall extends Enum {
2644 readonly isCreateCollection: boolean;2737 readonly isCreateCollection: boolean;
2645 readonly asCreateCollection: {2738 readonly asCreateCollection: {
2745 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2838 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';
2746 }2839 }
27472840
2748 /** @name RmrkTraitsResourceResourceTypes (291) */2841 /** @name RmrkTraitsResourceResourceTypes (300) */
2749 interface RmrkTraitsResourceResourceTypes extends Enum {2842 interface RmrkTraitsResourceResourceTypes extends Enum {
2750 readonly isBasic: boolean;2843 readonly isBasic: boolean;
2751 readonly asBasic: RmrkTraitsResourceBasicResource;2844 readonly asBasic: RmrkTraitsResourceBasicResource;
2756 readonly type: 'Basic' | 'Composable' | 'Slot';2849 readonly type: 'Basic' | 'Composable' | 'Slot';
2757 }2850 }
27582851
2759 /** @name RmrkTraitsResourceBasicResource (293) */2852 /** @name RmrkTraitsResourceBasicResource (302) */
2760 interface RmrkTraitsResourceBasicResource extends Struct {2853 interface RmrkTraitsResourceBasicResource extends Struct {
2761 readonly src: Option<Bytes>;2854 readonly src: Option<Bytes>;
2762 readonly metadata: Option<Bytes>;2855 readonly metadata: Option<Bytes>;
2763 readonly license: Option<Bytes>;2856 readonly license: Option<Bytes>;
2764 readonly thumb: Option<Bytes>;2857 readonly thumb: Option<Bytes>;
2765 }2858 }
27662859
2767 /** @name RmrkTraitsResourceComposableResource (295) */2860 /** @name RmrkTraitsResourceComposableResource (304) */
2768 interface RmrkTraitsResourceComposableResource extends Struct {2861 interface RmrkTraitsResourceComposableResource extends Struct {
2769 readonly parts: Vec<u32>;2862 readonly parts: Vec<u32>;
2770 readonly base: u32;2863 readonly base: u32;
2774 readonly thumb: Option<Bytes>;2867 readonly thumb: Option<Bytes>;
2775 }2868 }
27762869
2777 /** @name RmrkTraitsResourceSlotResource (296) */2870 /** @name RmrkTraitsResourceSlotResource (305) */
2778 interface RmrkTraitsResourceSlotResource extends Struct {2871 interface RmrkTraitsResourceSlotResource extends Struct {
2779 readonly base: u32;2872 readonly base: u32;
2780 readonly src: Option<Bytes>;2873 readonly src: Option<Bytes>;
2784 readonly thumb: Option<Bytes>;2877 readonly thumb: Option<Bytes>;
2785 }2878 }
27862879
2787 /** @name PalletRmrkEquipCall (299) */2880 /** @name PalletRmrkEquipCall (308) */
2788 interface PalletRmrkEquipCall extends Enum {2881 interface PalletRmrkEquipCall extends Enum {
2789 readonly isCreateBase: boolean;2882 readonly isCreateBase: boolean;
2790 readonly asCreateBase: {2883 readonly asCreateBase: {
2806 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2899 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';
2807 }2900 }
28082901
2809 /** @name RmrkTraitsPartPartType (302) */2902 /** @name RmrkTraitsPartPartType (311) */
2810 interface RmrkTraitsPartPartType extends Enum {2903 interface RmrkTraitsPartPartType extends Enum {
2811 readonly isFixedPart: boolean;2904 readonly isFixedPart: boolean;
2812 readonly asFixedPart: RmrkTraitsPartFixedPart;2905 readonly asFixedPart: RmrkTraitsPartFixedPart;
2815 readonly type: 'FixedPart' | 'SlotPart';2908 readonly type: 'FixedPart' | 'SlotPart';
2816 }2909 }
28172910
2818 /** @name RmrkTraitsPartFixedPart (304) */2911 /** @name RmrkTraitsPartFixedPart (313) */
2819 interface RmrkTraitsPartFixedPart extends Struct {2912 interface RmrkTraitsPartFixedPart extends Struct {
2820 readonly id: u32;2913 readonly id: u32;
2821 readonly z: u32;2914 readonly z: u32;
2822 readonly src: Bytes;2915 readonly src: Bytes;
2823 }2916 }
28242917
2825 /** @name RmrkTraitsPartSlotPart (305) */2918 /** @name RmrkTraitsPartSlotPart (314) */
2826 interface RmrkTraitsPartSlotPart extends Struct {2919 interface RmrkTraitsPartSlotPart extends Struct {
2827 readonly id: u32;2920 readonly id: u32;
2828 readonly equippable: RmrkTraitsPartEquippableList;2921 readonly equippable: RmrkTraitsPartEquippableList;
2829 readonly src: Bytes;2922 readonly src: Bytes;
2830 readonly z: u32;2923 readonly z: u32;
2831 }2924 }
28322925
2833 /** @name RmrkTraitsPartEquippableList (306) */2926 /** @name RmrkTraitsPartEquippableList (315) */
2834 interface RmrkTraitsPartEquippableList extends Enum {2927 interface RmrkTraitsPartEquippableList extends Enum {
2835 readonly isAll: boolean;2928 readonly isAll: boolean;
2836 readonly isEmpty: boolean;2929 readonly isEmpty: boolean;
2839 readonly type: 'All' | 'Empty' | 'Custom';2932 readonly type: 'All' | 'Empty' | 'Custom';
2840 }2933 }
28412934
2842 /** @name RmrkTraitsTheme (308) */2935 /** @name RmrkTraitsTheme (317) */
2843 interface RmrkTraitsTheme extends Struct {2936 interface RmrkTraitsTheme extends Struct {
2844 readonly name: Bytes;2937 readonly name: Bytes;
2845 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2938 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;
2846 readonly inherit: bool;2939 readonly inherit: bool;
2847 }2940 }
28482941
2849 /** @name RmrkTraitsThemeThemeProperty (310) */2942 /** @name RmrkTraitsThemeThemeProperty (319) */
2850 interface RmrkTraitsThemeThemeProperty extends Struct {2943 interface RmrkTraitsThemeThemeProperty extends Struct {
2851 readonly key: Bytes;2944 readonly key: Bytes;
2852 readonly value: Bytes;2945 readonly value: Bytes;
2853 }2946 }
28542947
2855 /** @name PalletAppPromotionCall (312) */2948 /** @name PalletAppPromotionCall (321) */
2856 interface PalletAppPromotionCall extends Enum {2949 interface PalletAppPromotionCall extends Enum {
2857 readonly isSetAdminAddress: boolean;2950 readonly isSetAdminAddress: boolean;
2858 readonly asSetAdminAddress: {2951 readonly asSetAdminAddress: {
2886 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2979 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';
2887 }2980 }
28882981
2889 /** @name PalletForeignAssetsModuleCall (314) */2982 /** @name PalletForeignAssetsModuleCall (322) */
2890 interface PalletForeignAssetsModuleCall extends Enum {2983 interface PalletForeignAssetsModuleCall extends Enum {
2891 readonly isRegisterForeignAsset: boolean;2984 readonly isRegisterForeignAsset: boolean;
2892 readonly asRegisterForeignAsset: {2985 readonly asRegisterForeignAsset: {
2903 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2996 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
2904 }2997 }
29052998
2906 /** @name PalletEvmCall (315) */2999 /** @name PalletEvmCall (323) */
2907 interface PalletEvmCall extends Enum {3000 interface PalletEvmCall extends Enum {
2908 readonly isWithdraw: boolean;3001 readonly isWithdraw: boolean;
2909 readonly asWithdraw: {3002 readonly asWithdraw: {
2948 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3041 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
2949 }3042 }
29503043
2951 /** @name PalletEthereumCall (319) */3044 /** @name PalletEthereumCall (327) */
2952 interface PalletEthereumCall extends Enum {3045 interface PalletEthereumCall extends Enum {
2953 readonly isTransact: boolean;3046 readonly isTransact: boolean;
2954 readonly asTransact: {3047 readonly asTransact: {
2957 readonly type: 'Transact';3050 readonly type: 'Transact';
2958 }3051 }
29593052
2960 /** @name EthereumTransactionTransactionV2 (320) */3053 /** @name EthereumTransactionTransactionV2 (328) */
2961 interface EthereumTransactionTransactionV2 extends Enum {3054 interface EthereumTransactionTransactionV2 extends Enum {
2962 readonly isLegacy: boolean;3055 readonly isLegacy: boolean;
2963 readonly asLegacy: EthereumTransactionLegacyTransaction;3056 readonly asLegacy: EthereumTransactionLegacyTransaction;
2968 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3061 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
2969 }3062 }
29703063
2971 /** @name EthereumTransactionLegacyTransaction (321) */3064 /** @name EthereumTransactionLegacyTransaction (329) */
2972 interface EthereumTransactionLegacyTransaction extends Struct {3065 interface EthereumTransactionLegacyTransaction extends Struct {
2973 readonly nonce: U256;3066 readonly nonce: U256;
2974 readonly gasPrice: U256;3067 readonly gasPrice: U256;
2979 readonly signature: EthereumTransactionTransactionSignature;3072 readonly signature: EthereumTransactionTransactionSignature;
2980 }3073 }
29813074
2982 /** @name EthereumTransactionTransactionAction (322) */3075 /** @name EthereumTransactionTransactionAction (330) */
2983 interface EthereumTransactionTransactionAction extends Enum {3076 interface EthereumTransactionTransactionAction extends Enum {
2984 readonly isCall: boolean;3077 readonly isCall: boolean;
2985 readonly asCall: H160;3078 readonly asCall: H160;
2986 readonly isCreate: boolean;3079 readonly isCreate: boolean;
2987 readonly type: 'Call' | 'Create';3080 readonly type: 'Call' | 'Create';
2988 }3081 }
29893082
2990 /** @name EthereumTransactionTransactionSignature (323) */3083 /** @name EthereumTransactionTransactionSignature (331) */
2991 interface EthereumTransactionTransactionSignature extends Struct {3084 interface EthereumTransactionTransactionSignature extends Struct {
2992 readonly v: u64;3085 readonly v: u64;
2993 readonly r: H256;3086 readonly r: H256;
2994 readonly s: H256;3087 readonly s: H256;
2995 }3088 }
29963089
2997 /** @name EthereumTransactionEip2930Transaction (325) */3090 /** @name EthereumTransactionEip2930Transaction (333) */
2998 interface EthereumTransactionEip2930Transaction extends Struct {3091 interface EthereumTransactionEip2930Transaction extends Struct {
2999 readonly chainId: u64;3092 readonly chainId: u64;
3000 readonly nonce: U256;3093 readonly nonce: U256;
3009 readonly s: H256;3102 readonly s: H256;
3010 }3103 }
30113104
3012 /** @name EthereumTransactionAccessListItem (327) */3105 /** @name EthereumTransactionAccessListItem (335) */
3013 interface EthereumTransactionAccessListItem extends Struct {3106 interface EthereumTransactionAccessListItem extends Struct {
3014 readonly address: H160;3107 readonly address: H160;
3015 readonly storageKeys: Vec<H256>;3108 readonly storageKeys: Vec<H256>;
3016 }3109 }
30173110
3018 /** @name EthereumTransactionEip1559Transaction (328) */3111 /** @name EthereumTransactionEip1559Transaction (336) */
3019 interface EthereumTransactionEip1559Transaction extends Struct {3112 interface EthereumTransactionEip1559Transaction extends Struct {
3020 readonly chainId: u64;3113 readonly chainId: u64;
3021 readonly nonce: U256;3114 readonly nonce: U256;
3031 readonly s: H256;3124 readonly s: H256;
3032 }3125 }
30333126
3034 /** @name PalletEvmMigrationCall (329) */3127 /** @name PalletEvmMigrationCall (337) */
3035 interface PalletEvmMigrationCall extends Enum {3128 interface PalletEvmMigrationCall extends Enum {
3036 readonly isBegin: boolean;3129 readonly isBegin: boolean;
3037 readonly asBegin: {3130 readonly asBegin: {
3050 readonly type: 'Begin' | 'SetData' | 'Finish';3143 readonly type: 'Begin' | 'SetData' | 'Finish';
3051 }3144 }
3145
3146 /** @name PalletMaintenanceCall (340) */
3147 interface PalletMaintenanceCall extends Enum {
3148 readonly isEnable: boolean;
3149 readonly isDisable: boolean;
3150 readonly type: 'Enable' | 'Disable';
3151 }
3152
3153 /** @name PalletTestUtilsCall (341) */
3154 interface PalletTestUtilsCall extends Enum {
3155 readonly isEnable: boolean;
3156 readonly isSetTestValue: boolean;
3157 readonly asSetTestValue: {
3158 readonly value: u32;
3159 } & Struct;
3160 readonly isSetTestValueAndRollback: boolean;
3161 readonly asSetTestValueAndRollback: {
3162 readonly value: u32;
3163 } & Struct;
3164 readonly isIncTestValue: boolean;
3165 readonly isSelfCancelingInc: boolean;
3166 readonly asSelfCancelingInc: {
3167 readonly id: U8aFixed;
3168 readonly maxTestValue: u32;
3169 } & Struct;
3170 readonly isJustTakeFee: boolean;
3171 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'SelfCancelingInc' | 'JustTakeFee';
3172 }
30523173
3053 /** @name PalletSudoError (332) */3174 /** @name PalletSudoError (342) */
3054 interface PalletSudoError extends Enum {3175 interface PalletSudoError extends Enum {
3055 readonly isRequireSudo: boolean;3176 readonly isRequireSudo: boolean;
3056 readonly type: 'RequireSudo';3177 readonly type: 'RequireSudo';
3057 }3178 }
30583179
3059 /** @name OrmlVestingModuleError (334) */3180 /** @name OrmlVestingModuleError (344) */
3060 interface OrmlVestingModuleError extends Enum {3181 interface OrmlVestingModuleError extends Enum {
3061 readonly isZeroVestingPeriod: boolean;3182 readonly isZeroVestingPeriod: boolean;
3062 readonly isZeroVestingPeriodCount: boolean;3183 readonly isZeroVestingPeriodCount: boolean;
3067 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3188 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';
3068 }3189 }
30693190
3070 /** @name OrmlXtokensModuleError (335) */3191 /** @name OrmlXtokensModuleError (345) */
3071 interface OrmlXtokensModuleError extends Enum {3192 interface OrmlXtokensModuleError extends Enum {
3072 readonly isAssetHasNoReserve: boolean;3193 readonly isAssetHasNoReserve: boolean;
3073 readonly isNotCrossChainTransfer: boolean;3194 readonly isNotCrossChainTransfer: boolean;
3091 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3212 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';
3092 }3213 }
30933214
3094 /** @name OrmlTokensBalanceLock (338) */3215 /** @name OrmlTokensBalanceLock (348) */
3095 interface OrmlTokensBalanceLock extends Struct {3216 interface OrmlTokensBalanceLock extends Struct {
3096 readonly id: U8aFixed;3217 readonly id: U8aFixed;
3097 readonly amount: u128;3218 readonly amount: u128;
3098 }3219 }
30993220
3100 /** @name OrmlTokensAccountData (340) */3221 /** @name OrmlTokensAccountData (350) */
3101 interface OrmlTokensAccountData extends Struct {3222 interface OrmlTokensAccountData extends Struct {
3102 readonly free: u128;3223 readonly free: u128;
3103 readonly reserved: u128;3224 readonly reserved: u128;
3104 readonly frozen: u128;3225 readonly frozen: u128;
3105 }3226 }
31063227
3107 /** @name OrmlTokensReserveData (342) */3228 /** @name OrmlTokensReserveData (352) */
3108 interface OrmlTokensReserveData extends Struct {3229 interface OrmlTokensReserveData extends Struct {
3109 readonly id: Null;3230 readonly id: Null;
3110 readonly amount: u128;3231 readonly amount: u128;
3111 }3232 }
31123233
3113 /** @name OrmlTokensModuleError (344) */3234 /** @name OrmlTokensModuleError (354) */
3114 interface OrmlTokensModuleError extends Enum {3235 interface OrmlTokensModuleError extends Enum {
3115 readonly isBalanceTooLow: boolean;3236 readonly isBalanceTooLow: boolean;
3116 readonly isAmountIntoBalanceFailed: boolean;3237 readonly isAmountIntoBalanceFailed: boolean;
3123 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3244 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';
3124 }3245 }
31253246
3126 /** @name CumulusPalletXcmpQueueInboundChannelDetails (346) */3247 /** @name CumulusPalletXcmpQueueInboundChannelDetails (356) */
3127 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3248 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {
3128 readonly sender: u32;3249 readonly sender: u32;
3129 readonly state: CumulusPalletXcmpQueueInboundState;3250 readonly state: CumulusPalletXcmpQueueInboundState;
3130 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3251 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
3131 }3252 }
31323253
3133 /** @name CumulusPalletXcmpQueueInboundState (347) */3254 /** @name CumulusPalletXcmpQueueInboundState (357) */
3134 interface CumulusPalletXcmpQueueInboundState extends Enum {3255 interface CumulusPalletXcmpQueueInboundState extends Enum {
3135 readonly isOk: boolean;3256 readonly isOk: boolean;
3136 readonly isSuspended: boolean;3257 readonly isSuspended: boolean;
3137 readonly type: 'Ok' | 'Suspended';3258 readonly type: 'Ok' | 'Suspended';
3138 }3259 }
31393260
3140 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (350) */3261 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (360) */
3141 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3262 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {
3142 readonly isConcatenatedVersionedXcm: boolean;3263 readonly isConcatenatedVersionedXcm: boolean;
3143 readonly isConcatenatedEncodedBlob: boolean;3264 readonly isConcatenatedEncodedBlob: boolean;
3144 readonly isSignals: boolean;3265 readonly isSignals: boolean;
3145 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3266 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';
3146 }3267 }
31473268
3148 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (353) */3269 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (363) */
3149 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3270 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {
3150 readonly recipient: u32;3271 readonly recipient: u32;
3151 readonly state: CumulusPalletXcmpQueueOutboundState;3272 readonly state: CumulusPalletXcmpQueueOutboundState;
3154 readonly lastIndex: u16;3275 readonly lastIndex: u16;
3155 }3276 }
31563277
3157 /** @name CumulusPalletXcmpQueueOutboundState (354) */3278 /** @name CumulusPalletXcmpQueueOutboundState (364) */
3158 interface CumulusPalletXcmpQueueOutboundState extends Enum {3279 interface CumulusPalletXcmpQueueOutboundState extends Enum {
3159 readonly isOk: boolean;3280 readonly isOk: boolean;
3160 readonly isSuspended: boolean;3281 readonly isSuspended: boolean;
3161 readonly type: 'Ok' | 'Suspended';3282 readonly type: 'Ok' | 'Suspended';
3162 }3283 }
31633284
3164 /** @name CumulusPalletXcmpQueueQueueConfigData (356) */3285 /** @name CumulusPalletXcmpQueueQueueConfigData (366) */
3165 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3286 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {
3166 readonly suspendThreshold: u32;3287 readonly suspendThreshold: u32;
3167 readonly dropThreshold: u32;3288 readonly dropThreshold: u32;
3171 readonly xcmpMaxIndividualWeight: Weight;3292 readonly xcmpMaxIndividualWeight: Weight;
3172 }3293 }
31733294
3174 /** @name CumulusPalletXcmpQueueError (358) */3295 /** @name CumulusPalletXcmpQueueError (368) */
3175 interface CumulusPalletXcmpQueueError extends Enum {3296 interface CumulusPalletXcmpQueueError extends Enum {
3176 readonly isFailedToSend: boolean;3297 readonly isFailedToSend: boolean;
3177 readonly isBadXcmOrigin: boolean;3298 readonly isBadXcmOrigin: boolean;
3181 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3302 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';
3182 }3303 }
31833304
3184 /** @name PalletXcmError (359) */3305 /** @name PalletXcmError (369) */
3185 interface PalletXcmError extends Enum {3306 interface PalletXcmError extends Enum {
3186 readonly isUnreachable: boolean;3307 readonly isUnreachable: boolean;
3187 readonly isSendFailure: boolean;3308 readonly isSendFailure: boolean;
3199 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3320 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';
3200 }3321 }
32013322
3202 /** @name CumulusPalletXcmError (360) */3323 /** @name CumulusPalletXcmError (370) */
3203 type CumulusPalletXcmError = Null;3324 type CumulusPalletXcmError = Null;
32043325
3205 /** @name CumulusPalletDmpQueueConfigData (361) */3326 /** @name CumulusPalletDmpQueueConfigData (371) */
3206 interface CumulusPalletDmpQueueConfigData extends Struct {3327 interface CumulusPalletDmpQueueConfigData extends Struct {
3207 readonly maxIndividual: Weight;3328 readonly maxIndividual: Weight;
3208 }3329 }
32093330
3210 /** @name CumulusPalletDmpQueuePageIndexData (362) */3331 /** @name CumulusPalletDmpQueuePageIndexData (372) */
3211 interface CumulusPalletDmpQueuePageIndexData extends Struct {3332 interface CumulusPalletDmpQueuePageIndexData extends Struct {
3212 readonly beginUsed: u32;3333 readonly beginUsed: u32;
3213 readonly endUsed: u32;3334 readonly endUsed: u32;
3214 readonly overweightCount: u64;3335 readonly overweightCount: u64;
3215 }3336 }
32163337
3217 /** @name CumulusPalletDmpQueueError (365) */3338 /** @name CumulusPalletDmpQueueError (375) */
3218 interface CumulusPalletDmpQueueError extends Enum {3339 interface CumulusPalletDmpQueueError extends Enum {
3219 readonly isUnknown: boolean;3340 readonly isUnknown: boolean;
3220 readonly isOverLimit: boolean;3341 readonly isOverLimit: boolean;
3221 readonly type: 'Unknown' | 'OverLimit';3342 readonly type: 'Unknown' | 'OverLimit';
3222 }3343 }
32233344
3224 /** @name PalletUniqueError (369) */3345 /** @name PalletUniqueError (379) */
3225 interface PalletUniqueError extends Enum {3346 interface PalletUniqueError extends Enum {
3226 readonly isCollectionDecimalPointLimitExceeded: boolean;3347 readonly isCollectionDecimalPointLimitExceeded: boolean;
3227 readonly isConfirmUnsetSponsorFail: boolean;3348 readonly isConfirmUnsetSponsorFail: boolean;
3230 readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3351 readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';
3231 }3352 }
3353
3354 /** @name PalletUniqueSchedulerScheduledV3 (382) */
3355 interface PalletUniqueSchedulerScheduledV3 extends Struct {
3356 readonly maybeId: Option<U8aFixed>;
3357 readonly priority: u8;
3358 readonly call: FrameSupportScheduleMaybeHashed;
3359 readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
3360 readonly origin: OpalRuntimeOriginCaller;
3361 }
3362
3363 /** @name OpalRuntimeOriginCaller (383) */
3364 interface OpalRuntimeOriginCaller extends Enum {
3365 readonly isSystem: boolean;
3366 readonly asSystem: FrameSupportDispatchRawOrigin;
3367 readonly isVoid: boolean;
3368 readonly isPolkadotXcm: boolean;
3369 readonly asPolkadotXcm: PalletXcmOrigin;
3370 readonly isCumulusXcm: boolean;
3371 readonly asCumulusXcm: CumulusPalletXcmOrigin;
3372 readonly isEthereum: boolean;
3373 readonly asEthereum: PalletEthereumRawOrigin;
3374 readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';
3375 }
3376
3377 /** @name FrameSupportDispatchRawOrigin (384) */
3378 interface FrameSupportDispatchRawOrigin extends Enum {
3379 readonly isRoot: boolean;
3380 readonly isSigned: boolean;
3381 readonly asSigned: AccountId32;
3382 readonly isNone: boolean;
3383 readonly type: 'Root' | 'Signed' | 'None';
3384 }
3385
3386 /** @name PalletXcmOrigin (385) */
3387 interface PalletXcmOrigin extends Enum {
3388 readonly isXcm: boolean;
3389 readonly asXcm: XcmV1MultiLocation;
3390 readonly isResponse: boolean;
3391 readonly asResponse: XcmV1MultiLocation;
3392 readonly type: 'Xcm' | 'Response';
3393 }
3394
3395 /** @name CumulusPalletXcmOrigin (386) */
3396 interface CumulusPalletXcmOrigin extends Enum {
3397 readonly isRelay: boolean;
3398 readonly isSiblingParachain: boolean;
3399 readonly asSiblingParachain: u32;
3400 readonly type: 'Relay' | 'SiblingParachain';
3401 }
3402
3403 /** @name PalletEthereumRawOrigin (387) */
3404 interface PalletEthereumRawOrigin extends Enum {
3405 readonly isEthereumTransaction: boolean;
3406 readonly asEthereumTransaction: H160;
3407 readonly type: 'EthereumTransaction';
3408 }
3409
3410 /** @name SpCoreVoid (388) */
3411 type SpCoreVoid = Null;
3412
3413 /** @name PalletUniqueSchedulerError (389) */
3414 interface PalletUniqueSchedulerError extends Enum {
3415 readonly isFailedToSchedule: boolean;
3416 readonly isNotFound: boolean;
3417 readonly isTargetBlockNumberInPast: boolean;
3418 readonly isRescheduleNoChange: boolean;
3419 readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';
3420 }
32323421
3233 /** @name UpDataStructsCollection (370) */3422 /** @name UpDataStructsCollection (390) */
3234 interface UpDataStructsCollection extends Struct {3423 interface UpDataStructsCollection extends Struct {
3235 readonly owner: AccountId32;3424 readonly owner: AccountId32;
3236 readonly mode: UpDataStructsCollectionMode;3425 readonly mode: UpDataStructsCollectionMode;
3243 readonly flags: U8aFixed;3432 readonly flags: U8aFixed;
3244 }3433 }
32453434
3246 /** @name UpDataStructsSponsorshipStateAccountId32 (371) */3435 /** @name UpDataStructsSponsorshipStateAccountId32 (391) */
3247 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3436 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
3248 readonly isDisabled: boolean;3437 readonly isDisabled: boolean;
3249 readonly isUnconfirmed: boolean;3438 readonly isUnconfirmed: boolean;
3253 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3442 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3254 }3443 }
32553444
3256 /** @name UpDataStructsProperties (373) */3445 /** @name UpDataStructsProperties (393) */
3257 interface UpDataStructsProperties extends Struct {3446 interface UpDataStructsProperties extends Struct {
3258 readonly map: UpDataStructsPropertiesMapBoundedVec;3447 readonly map: UpDataStructsPropertiesMapBoundedVec;
3259 readonly consumedSpace: u32;3448 readonly consumedSpace: u32;
3260 readonly spaceLimit: u32;3449 readonly spaceLimit: u32;
3261 }3450 }
32623451
3263 /** @name UpDataStructsPropertiesMapBoundedVec (374) */3452 /** @name UpDataStructsPropertiesMapBoundedVec (394) */
3264 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}3453 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}
32653454
3266 /** @name UpDataStructsPropertiesMapPropertyPermission (379) */3455 /** @name UpDataStructsPropertiesMapPropertyPermission (399) */
3267 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}3456 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
32683457
3269 /** @name UpDataStructsCollectionStats (386) */3458 /** @name UpDataStructsCollectionStats (406) */
3270 interface UpDataStructsCollectionStats extends Struct {3459 interface UpDataStructsCollectionStats extends Struct {
3271 readonly created: u32;3460 readonly created: u32;
3272 readonly destroyed: u32;3461 readonly destroyed: u32;
3273 readonly alive: u32;3462 readonly alive: u32;
3274 }3463 }
32753464
3276 /** @name UpDataStructsTokenChild (387) */3465 /** @name UpDataStructsTokenChild (407) */
3277 interface UpDataStructsTokenChild extends Struct {3466 interface UpDataStructsTokenChild extends Struct {
3278 readonly token: u32;3467 readonly token: u32;
3279 readonly collection: u32;3468 readonly collection: u32;
3280 }3469 }
32813470
3282 /** @name PhantomTypeUpDataStructs (388) */3471 /** @name PhantomTypeUpDataStructs (408) */
3283 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}3472 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}
32843473
3285 /** @name UpDataStructsTokenData (390) */3474 /** @name UpDataStructsTokenData (410) */
3286 interface UpDataStructsTokenData extends Struct {3475 interface UpDataStructsTokenData extends Struct {
3287 readonly properties: Vec<UpDataStructsProperty>;3476 readonly properties: Vec<UpDataStructsProperty>;
3288 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3477 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
3289 readonly pieces: u128;3478 readonly pieces: u128;
3290 }3479 }
32913480
3292 /** @name UpDataStructsRpcCollection (392) */3481 /** @name UpDataStructsRpcCollection (412) */
3293 interface UpDataStructsRpcCollection extends Struct {3482 interface UpDataStructsRpcCollection extends Struct {
3294 readonly owner: AccountId32;3483 readonly owner: AccountId32;
3295 readonly mode: UpDataStructsCollectionMode;3484 readonly mode: UpDataStructsCollectionMode;
3305 readonly flags: UpDataStructsRpcCollectionFlags;3494 readonly flags: UpDataStructsRpcCollectionFlags;
3306 }3495 }
33073496
3308 /** @name UpDataStructsRpcCollectionFlags (393) */3497 /** @name UpDataStructsRpcCollectionFlags (413) */
3309 interface UpDataStructsRpcCollectionFlags extends Struct {3498 interface UpDataStructsRpcCollectionFlags extends Struct {
3310 readonly foreign: bool;3499 readonly foreign: bool;
3311 readonly erc721metadata: bool;3500 readonly erc721metadata: bool;
3312 }3501 }
33133502
3314 /** @name RmrkTraitsCollectionCollectionInfo (394) */3503 /** @name RmrkTraitsCollectionCollectionInfo (414) */
3315 interface RmrkTraitsCollectionCollectionInfo extends Struct {3504 interface RmrkTraitsCollectionCollectionInfo extends Struct {
3316 readonly issuer: AccountId32;3505 readonly issuer: AccountId32;
3317 readonly metadata: Bytes;3506 readonly metadata: Bytes;
3320 readonly nftsCount: u32;3509 readonly nftsCount: u32;
3321 }3510 }
33223511
3323 /** @name RmrkTraitsNftNftInfo (395) */3512 /** @name RmrkTraitsNftNftInfo (415) */
3324 interface RmrkTraitsNftNftInfo extends Struct {3513 interface RmrkTraitsNftNftInfo extends Struct {
3325 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3514 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;
3326 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3515 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;
3329 readonly pending: bool;3518 readonly pending: bool;
3330 }3519 }
33313520
3332 /** @name RmrkTraitsNftRoyaltyInfo (397) */3521 /** @name RmrkTraitsNftRoyaltyInfo (417) */
3333 interface RmrkTraitsNftRoyaltyInfo extends Struct {3522 interface RmrkTraitsNftRoyaltyInfo extends Struct {
3334 readonly recipient: AccountId32;3523 readonly recipient: AccountId32;
3335 readonly amount: Permill;3524 readonly amount: Permill;
3336 }3525 }
33373526
3338 /** @name RmrkTraitsResourceResourceInfo (398) */3527 /** @name RmrkTraitsResourceResourceInfo (418) */
3339 interface RmrkTraitsResourceResourceInfo extends Struct {3528 interface RmrkTraitsResourceResourceInfo extends Struct {
3340 readonly id: u32;3529 readonly id: u32;
3341 readonly resource: RmrkTraitsResourceResourceTypes;3530 readonly resource: RmrkTraitsResourceResourceTypes;
3342 readonly pending: bool;3531 readonly pending: bool;
3343 readonly pendingRemoval: bool;3532 readonly pendingRemoval: bool;
3344 }3533 }
33453534
3346 /** @name RmrkTraitsPropertyPropertyInfo (399) */3535 /** @name RmrkTraitsPropertyPropertyInfo (419) */
3347 interface RmrkTraitsPropertyPropertyInfo extends Struct {3536 interface RmrkTraitsPropertyPropertyInfo extends Struct {
3348 readonly key: Bytes;3537 readonly key: Bytes;
3349 readonly value: Bytes;3538 readonly value: Bytes;
3350 }3539 }
33513540
3352 /** @name RmrkTraitsBaseBaseInfo (400) */3541 /** @name RmrkTraitsBaseBaseInfo (420) */
3353 interface RmrkTraitsBaseBaseInfo extends Struct {3542 interface RmrkTraitsBaseBaseInfo extends Struct {
3354 readonly issuer: AccountId32;3543 readonly issuer: AccountId32;
3355 readonly baseType: Bytes;3544 readonly baseType: Bytes;
3356 readonly symbol: Bytes;3545 readonly symbol: Bytes;
3357 }3546 }
33583547
3359 /** @name RmrkTraitsNftNftChild (401) */3548 /** @name RmrkTraitsNftNftChild (421) */
3360 interface RmrkTraitsNftNftChild extends Struct {3549 interface RmrkTraitsNftNftChild extends Struct {
3361 readonly collectionId: u32;3550 readonly collectionId: u32;
3362 readonly nftId: u32;3551 readonly nftId: u32;
3363 }3552 }
33643553
3365 /** @name PalletCommonError (403) */3554 /** @name PalletCommonError (423) */
3366 interface PalletCommonError extends Enum {3555 interface PalletCommonError extends Enum {
3367 readonly isCollectionNotFound: boolean;3556 readonly isCollectionNotFound: boolean;
3368 readonly isMustBeTokenOwner: boolean;3557 readonly isMustBeTokenOwner: 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';3590 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 }3591 }
34033592
3404 /** @name PalletFungibleError (405) */3593 /** @name PalletFungibleError (425) */
3405 interface PalletFungibleError extends Enum {3594 interface PalletFungibleError extends Enum {
3406 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3595 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;
3407 readonly isFungibleItemsHaveNoId: boolean;3596 readonly isFungibleItemsHaveNoId: boolean;
3411 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3600 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3412 }3601 }
34133602
3414 /** @name PalletRefungibleItemData (406) */3603 /** @name PalletRefungibleItemData (426) */
3415 interface PalletRefungibleItemData extends Struct {3604 interface PalletRefungibleItemData extends Struct {
3416 readonly constData: Bytes;3605 readonly constData: Bytes;
3417 }3606 }
34183607
3419 /** @name PalletRefungibleError (411) */3608 /** @name PalletRefungibleError (431) */
3420 interface PalletRefungibleError extends Enum {3609 interface PalletRefungibleError extends Enum {
3421 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3610 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
3422 readonly isWrongRefungiblePieces: boolean;3611 readonly isWrongRefungiblePieces: boolean;
3426 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3615 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
3427 }3616 }
34283617
3429 /** @name PalletNonfungibleItemData (412) */3618 /** @name PalletNonfungibleItemData (432) */
3430 interface PalletNonfungibleItemData extends Struct {3619 interface PalletNonfungibleItemData extends Struct {
3431 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3620 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
3432 }3621 }
34333622
3434 /** @name UpDataStructsPropertyScope (414) */3623 /** @name UpDataStructsPropertyScope (434) */
3435 interface UpDataStructsPropertyScope extends Enum {3624 interface UpDataStructsPropertyScope extends Enum {
3436 readonly isNone: boolean;3625 readonly isNone: boolean;
3437 readonly isRmrk: boolean;3626 readonly isRmrk: boolean;
3438 readonly type: 'None' | 'Rmrk';3627 readonly type: 'None' | 'Rmrk';
3439 }3628 }
34403629
3441 /** @name PalletNonfungibleError (416) */3630 /** @name PalletNonfungibleError (436) */
3442 interface PalletNonfungibleError extends Enum {3631 interface PalletNonfungibleError extends Enum {
3443 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3632 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
3444 readonly isNonfungibleItemsHaveNoAmount: boolean;3633 readonly isNonfungibleItemsHaveNoAmount: boolean;
3445 readonly isCantBurnNftWithChildren: boolean;3634 readonly isCantBurnNftWithChildren: boolean;
3446 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3635 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
3447 }3636 }
34483637
3449 /** @name PalletStructureError (417) */3638 /** @name PalletStructureError (437) */
3450 interface PalletStructureError extends Enum {3639 interface PalletStructureError extends Enum {
3451 readonly isOuroborosDetected: boolean;3640 readonly isOuroborosDetected: boolean;
3452 readonly isDepthLimit: boolean;3641 readonly isDepthLimit: boolean;
3455 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3644 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
3456 }3645 }
34573646
3458 /** @name PalletRmrkCoreError (418) */3647 /** @name PalletRmrkCoreError (438) */
3459 interface PalletRmrkCoreError extends Enum {3648 interface PalletRmrkCoreError extends Enum {
3460 readonly isCorruptedCollectionType: boolean;3649 readonly isCorruptedCollectionType: boolean;
3461 readonly isRmrkPropertyKeyIsTooLong: boolean;3650 readonly isRmrkPropertyKeyIsTooLong: boolean;
3479 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3668 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
3480 }3669 }
34813670
3482 /** @name PalletRmrkEquipError (420) */3671 /** @name PalletRmrkEquipError (440) */
3483 interface PalletRmrkEquipError extends Enum {3672 interface PalletRmrkEquipError extends Enum {
3484 readonly isPermissionError: boolean;3673 readonly isPermissionError: boolean;
3485 readonly isNoAvailableBaseId: boolean;3674 readonly isNoAvailableBaseId: boolean;
3491 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3680 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
3492 }3681 }
34933682
3494 /** @name PalletAppPromotionError (426) */3683 /** @name PalletAppPromotionError (446) */
3495 interface PalletAppPromotionError extends Enum {3684 interface PalletAppPromotionError extends Enum {
3496 readonly isAdminNotSet: boolean;3685 readonly isAdminNotSet: boolean;
3497 readonly isNoPermission: boolean;3686 readonly isNoPermission: boolean;
3502 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3691 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
3503 }3692 }
35043693
3505 /** @name PalletForeignAssetsModuleError (427) */3694 /** @name PalletForeignAssetsModuleError (447) */
3506 interface PalletForeignAssetsModuleError extends Enum {3695 interface PalletForeignAssetsModuleError extends Enum {
3507 readonly isBadLocation: boolean;3696 readonly isBadLocation: boolean;
3508 readonly isMultiLocationExisted: boolean;3697 readonly isMultiLocationExisted: boolean;
3511 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3700 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
3512 }3701 }
35133702
3514 /** @name PalletEvmError (430) */3703 /** @name PalletEvmError (450) */
3515 interface PalletEvmError extends Enum {3704 interface PalletEvmError extends Enum {
3516 readonly isBalanceLow: boolean;3705 readonly isBalanceLow: boolean;
3517 readonly isFeeOverflow: boolean;3706 readonly isFeeOverflow: boolean;
3522 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';3711 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';
3523 }3712 }
35243713
3525 /** @name FpRpcTransactionStatus (433) */3714 /** @name FpRpcTransactionStatus (453) */
3526 interface FpRpcTransactionStatus extends Struct {3715 interface FpRpcTransactionStatus extends Struct {
3527 readonly transactionHash: H256;3716 readonly transactionHash: H256;
3528 readonly transactionIndex: u32;3717 readonly transactionIndex: u32;
3533 readonly logsBloom: EthbloomBloom;3722 readonly logsBloom: EthbloomBloom;
3534 }3723 }
35353724
3536 /** @name EthbloomBloom (435) */3725 /** @name EthbloomBloom (455) */
3537 interface EthbloomBloom extends U8aFixed {}3726 interface EthbloomBloom extends U8aFixed {}
35383727
3539 /** @name EthereumReceiptReceiptV3 (437) */3728 /** @name EthereumReceiptReceiptV3 (457) */
3540 interface EthereumReceiptReceiptV3 extends Enum {3729 interface EthereumReceiptReceiptV3 extends Enum {
3541 readonly isLegacy: boolean;3730 readonly isLegacy: boolean;
3542 readonly asLegacy: EthereumReceiptEip658ReceiptData;3731 readonly asLegacy: EthereumReceiptEip658ReceiptData;
3547 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3736 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
3548 }3737 }
35493738
3550 /** @name EthereumReceiptEip658ReceiptData (438) */3739 /** @name EthereumReceiptEip658ReceiptData (458) */
3551 interface EthereumReceiptEip658ReceiptData extends Struct {3740 interface EthereumReceiptEip658ReceiptData extends Struct {
3552 readonly statusCode: u8;3741 readonly statusCode: u8;
3553 readonly usedGas: U256;3742 readonly usedGas: U256;
3554 readonly logsBloom: EthbloomBloom;3743 readonly logsBloom: EthbloomBloom;
3555 readonly logs: Vec<EthereumLog>;3744 readonly logs: Vec<EthereumLog>;
3556 }3745 }
35573746
3558 /** @name EthereumBlock (439) */3747 /** @name EthereumBlock (459) */
3559 interface EthereumBlock extends Struct {3748 interface EthereumBlock extends Struct {
3560 readonly header: EthereumHeader;3749 readonly header: EthereumHeader;
3561 readonly transactions: Vec<EthereumTransactionTransactionV2>;3750 readonly transactions: Vec<EthereumTransactionTransactionV2>;
3562 readonly ommers: Vec<EthereumHeader>;3751 readonly ommers: Vec<EthereumHeader>;
3563 }3752 }
35643753
3565 /** @name EthereumHeader (440) */3754 /** @name EthereumHeader (460) */
3566 interface EthereumHeader extends Struct {3755 interface EthereumHeader extends Struct {
3567 readonly parentHash: H256;3756 readonly parentHash: H256;
3568 readonly ommersHash: H256;3757 readonly ommersHash: H256;
3581 readonly nonce: EthereumTypesHashH64;3770 readonly nonce: EthereumTypesHashH64;
3582 }3771 }
35833772
3584 /** @name EthereumTypesHashH64 (441) */3773 /** @name EthereumTypesHashH64 (461) */
3585 interface EthereumTypesHashH64 extends U8aFixed {}3774 interface EthereumTypesHashH64 extends U8aFixed {}
35863775
3587 /** @name PalletEthereumError (446) */3776 /** @name PalletEthereumError (466) */
3588 interface PalletEthereumError extends Enum {3777 interface PalletEthereumError extends Enum {
3589 readonly isInvalidSignature: boolean;3778 readonly isInvalidSignature: boolean;
3590 readonly isPreLogExists: boolean;3779 readonly isPreLogExists: boolean;
3591 readonly type: 'InvalidSignature' | 'PreLogExists';3780 readonly type: 'InvalidSignature' | 'PreLogExists';
3592 }3781 }
35933782
3594 /** @name PalletEvmCoderSubstrateError (447) */3783 /** @name PalletEvmCoderSubstrateError (467) */
3595 interface PalletEvmCoderSubstrateError extends Enum {3784 interface PalletEvmCoderSubstrateError extends Enum {
3596 readonly isOutOfGas: boolean;3785 readonly isOutOfGas: boolean;
3597 readonly isOutOfFund: boolean;3786 readonly isOutOfFund: boolean;
3598 readonly type: 'OutOfGas' | 'OutOfFund';3787 readonly type: 'OutOfGas' | 'OutOfFund';
3599 }3788 }
36003789
3601 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (448) */3790 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (468) */
3602 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3791 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
3603 readonly isDisabled: boolean;3792 readonly isDisabled: boolean;
3604 readonly isUnconfirmed: boolean;3793 readonly isUnconfirmed: boolean;
3608 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3797 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
3609 }3798 }
36103799
3611 /** @name PalletEvmContractHelpersSponsoringModeT (449) */3800 /** @name PalletEvmContractHelpersSponsoringModeT (469) */
3612 interface PalletEvmContractHelpersSponsoringModeT extends Enum {3801 interface PalletEvmContractHelpersSponsoringModeT extends Enum {
3613 readonly isDisabled: boolean;3802 readonly isDisabled: boolean;
3614 readonly isAllowlisted: boolean;3803 readonly isAllowlisted: boolean;
3615 readonly isGenerous: boolean;3804 readonly isGenerous: boolean;
3616 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3805 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
3617 }3806 }
36183807
3619 /** @name PalletEvmContractHelpersError (455) */3808 /** @name PalletEvmContractHelpersError (475) */
3620 interface PalletEvmContractHelpersError extends Enum {3809 interface PalletEvmContractHelpersError extends Enum {
3621 readonly isNoPermission: boolean;3810 readonly isNoPermission: boolean;
3622 readonly isNoPendingSponsor: boolean;3811 readonly isNoPendingSponsor: boolean;
3623 readonly isTooManyMethodsHaveSponsoredLimit: boolean;3812 readonly isTooManyMethodsHaveSponsoredLimit: boolean;
3624 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3813 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
3625 }3814 }
36263815
3627 /** @name PalletEvmMigrationError (456) */3816 /** @name PalletEvmMigrationError (476) */
3628 interface PalletEvmMigrationError extends Enum {3817 interface PalletEvmMigrationError extends Enum {
3629 readonly isAccountNotEmpty: boolean;3818 readonly isAccountNotEmpty: boolean;
3630 readonly isAccountIsNotMigrating: boolean;3819 readonly isAccountIsNotMigrating: boolean;
3631 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';3820 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';
3632 }3821 }
3822
3823 /** @name PalletMaintenanceError (477) */
3824 type PalletMaintenanceError = Null;
3825
3826 /** @name PalletTestUtilsError (478) */
3827 interface PalletTestUtilsError extends Enum {
3828 readonly isTestPalletDisabled: boolean;
3829 readonly isTriggerRollback: boolean;
3830 readonly type: 'TestPalletDisabled' | 'TriggerRollback';
3831 }
36333832
3634 /** @name SpRuntimeMultiSignature (458) */3833 /** @name SpRuntimeMultiSignature (480) */
3635 interface SpRuntimeMultiSignature extends Enum {3834 interface SpRuntimeMultiSignature extends Enum {
3636 readonly isEd25519: boolean;3835 readonly isEd25519: boolean;
3637 readonly asEd25519: SpCoreEd25519Signature;3836 readonly asEd25519: SpCoreEd25519Signature;
3642 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3841 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
3643 }3842 }
36443843
3645 /** @name SpCoreEd25519Signature (459) */3844 /** @name SpCoreEd25519Signature (481) */
3646 interface SpCoreEd25519Signature extends U8aFixed {}3845 interface SpCoreEd25519Signature extends U8aFixed {}
36473846
3648 /** @name SpCoreSr25519Signature (461) */3847 /** @name SpCoreSr25519Signature (483) */
3649 interface SpCoreSr25519Signature extends U8aFixed {}3848 interface SpCoreSr25519Signature extends U8aFixed {}
36503849
3651 /** @name SpCoreEcdsaSignature (462) */3850 /** @name SpCoreEcdsaSignature (484) */
3652 interface SpCoreEcdsaSignature extends U8aFixed {}3851 interface SpCoreEcdsaSignature extends U8aFixed {}
36533852
3654 /** @name FrameSystemExtensionsCheckSpecVersion (465) */3853 /** @name FrameSystemExtensionsCheckSpecVersion (487) */
3655 type FrameSystemExtensionsCheckSpecVersion = Null;3854 type FrameSystemExtensionsCheckSpecVersion = Null;
36563855
3657 /** @name FrameSystemExtensionsCheckTxVersion (466) */3856 /** @name FrameSystemExtensionsCheckTxVersion (488) */
3658 type FrameSystemExtensionsCheckTxVersion = Null;3857 type FrameSystemExtensionsCheckTxVersion = Null;
36593858
3660 /** @name FrameSystemExtensionsCheckGenesis (467) */3859 /** @name FrameSystemExtensionsCheckGenesis (489) */
3661 type FrameSystemExtensionsCheckGenesis = Null;3860 type FrameSystemExtensionsCheckGenesis = Null;
36623861
3663 /** @name FrameSystemExtensionsCheckNonce (470) */3862 /** @name FrameSystemExtensionsCheckNonce (492) */
3664 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}3863 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
36653864
3666 /** @name FrameSystemExtensionsCheckWeight (471) */3865 /** @name FrameSystemExtensionsCheckWeight (493) */
3667 type FrameSystemExtensionsCheckWeight = Null;3866 type FrameSystemExtensionsCheckWeight = Null;
3867
3868 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (494) */
3869 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
36683870
3669 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (472) */3871 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (495) */
3670 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}3872 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
36713873
3672 /** @name OpalRuntimeRuntime (473) */3874 /** @name OpalRuntimeRuntime (496) */
3673 type OpalRuntimeRuntime = Null;3875 type OpalRuntimeRuntime = Null;
36743876
3675 /** @name PalletEthereumFakeTransactionFinalizer (474) */3877 /** @name PalletEthereumFakeTransactionFinalizer (497) */
3676 type PalletEthereumFakeTransactionFinalizer = Null;3878 type PalletEthereumFakeTransactionFinalizer = Null;
36773879
3678} // declare module3880} // 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: {},