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

difftreelog

fix runtime benchmarks, `payout_stakers` logic, bencmarkr for payout_stakers

PraetorP2022-09-06parent: #ebc4cdb.patch.diff
in: master

15 files changed

modifiedpallets/app-promotion/Cargo.tomldiffbeforeafterboth
--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -20,18 +20,23 @@
     'frame-benchmarking',
     'frame-support/runtime-benchmarks',
     'frame-system/runtime-benchmarks',
+    # 'pallet-unique/runtime-benchmarks',
 ]
 std = [
     'codec/std',
-    'serde/std',
+    'frame-benchmarking/std',
     'frame-support/std',
     'frame-system/std',
     'pallet-balances/std',
     'pallet-timestamp/std',
     'pallet-randomness-collective-flip/std',
+    'pallet-evm/std',
+    'sp-io/std',
     'sp-std/std',
     'sp-runtime/std',
-    'frame-benchmarking/std',
+    'sp-core/std',
+    'serde/std',
+
 ]
 
 ################################################################################
@@ -108,24 +113,24 @@
 # local dependencies
 [dependencies.up-data-structs]
 default-features = false
-path =  "../../primitives/data-structs"
+path = "../../primitives/data-structs"
 
 [dependencies.pallet-common]
 default-features = false
-path =  "../common"
+path = "../common"
 
 [dependencies.pallet-unique]
 default-features = false
-path =  "../unique"
+path = "../unique"
 
 [dependencies.pallet-evm-contract-helpers]
 default-features = false
-path =  "../evm-contract-helpers"
+path = "../evm-contract-helpers"
 
 [dev-dependencies]
 [dependencies.pallet-evm-migration]
 default-features = false
-path =  "../evm-migration"
+path = "../evm-migration"
 
 
 ################################################################################
modifiedpallets/app-promotion/src/benchmarking.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/benchmarking.rs
+++ b/pallets/app-promotion/src/benchmarking.rs
@@ -28,11 +28,8 @@
 use pallet_unique::benchmarking::create_nft_collection;
 use pallet_evm_migration::Pallet as EvmMigrationPallet;
 
-// trait BenchmarkingConfig: Config + pallet_unique::Config { }
-
-// impl<T: Config + pallet_unique::Config> BenchmarkingConfig for T { }
+const SEED: u32 = 0;
 
-const SEED: u32 = 0;
 benchmarks! {
 	where_clause{
 		where T:  Config + pallet_unique::Config + pallet_evm_migration::Config ,
@@ -53,18 +50,32 @@
 	} : {PromototionPallet::<T>::set_admin_address(RawOrigin::Root.into(), T::CrossAccountId::from_sub(pallet_admin))?}
 
 	payout_stakers{
+		let b in 1..101;
+
 		let pallet_admin = account::<T::AccountId>("admin", 0, SEED);
-		let share = Perbill::from_rational(1u32, 100);
+		let share = Perbill::from_rational(1u32, 20);
 		PromototionPallet::<T>::set_admin_address(RawOrigin::Root.into(), T::CrossAccountId::from_sub(pallet_admin.clone()))?;
-		let _ = <T as Config>::Currency::make_free_balance_be(&pallet_admin,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
+		<T as Config>::Currency::make_free_balance_be(&pallet_admin,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
+
 		let staker: T::AccountId = account("caller", 0, SEED);
-		let stakers: Vec<T::AccountId> = (0..100).map(|index| account("staker", index, SEED)).collect();
+		<T as Config>::Currency::make_free_balance_be(&staker,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
+		let stakers: Vec<T::AccountId> = (0..b).map(|index| account("staker", index, SEED)).collect();
 		stakers.iter().for_each(|staker| {
 			<T as Config>::Currency::make_free_balance_be(&staker,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
 		});
-		let _ = <T as Config>::Currency::make_free_balance_be(&staker,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-		let _ = PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), share * <T as Config>::Currency::total_balance(&staker))?;
-	} : {PromototionPallet::<T>::payout_stakers(RawOrigin::Signed(pallet_admin.clone()).into(), Some(1))?}
+		(0..10).try_for_each(|_| {
+			stakers.iter()
+				.map(|staker| {
+				
+					PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), Into::<BalanceOf<T>>::into(100u128) * T::Nominal::get())
+				}).collect::<Result<Vec<_>, _>>()?;
+			<frame_system::Pallet<T>>::finalize();
+			Result::<(), sp_runtime::DispatchError>::Ok(())
+		})?;
+
+		// let _ = <T as Config>::Currency::make_free_balance_be(&staker,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
+		// let _ = PromototionPallet::<T>::stake(RawOrigin::Signed(staker.clone()).into(), share * <T as Config>::Currency::total_balance(&staker))?;
+	} : {PromototionPallet::<T>::payout_stakers(RawOrigin::Signed(pallet_admin.clone()).into(), Some(b as u8))?}
 
 	stake {
 		let caller = account::<T::AccountId>("caller", 0, SEED);
@@ -76,7 +87,10 @@
 		let caller = account::<T::AccountId>("caller", 0, SEED);
 		let share = Perbill::from_rational(1u32, 20);
 		let _ = <T as Config>::Currency::make_free_balance_be(&caller,  Perbill::from_rational(1u32, 2) * BalanceOf::<T>::max_value());
-		(0..10).map(|_| PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))).collect::<Result<Vec<_>, _>>()?;
+		(0..10).map(|_| {
+			<frame_system::Pallet<T>>::finalize();
+			PromototionPallet::<T>::stake(RawOrigin::Signed(caller.clone()).into(), share * <T as Config>::Currency::total_balance(&caller))
+		}).collect::<Result<Vec<_>, _>>()?;
 
 	} : {PromototionPallet::<T>::unstake(RawOrigin::Signed(caller.clone()).into())?}
 
modifiedpallets/app-promotion/src/lib.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -157,7 +157,7 @@
 		/// No permission to perform an action
 		NoPermission,
 		/// Insufficient funds to perform an action
-		NotSufficientFounds,
+		NotSufficientFunds,
 		PendingForBlockOverflow,
 		/// An error related to the fact that an invalid argument was passed to perform an action
 		InvalidArgument,
@@ -285,14 +285,23 @@
 			<<T as Config>::Currency as Currency<T::AccountId>>::ensure_can_withdraw(
 				&staker_id,
 				amount,
-				WithdrawReasons::all(),
+				WithdrawReasons::RESERVE,
 				balance - amount,
 			)?;
 
 			Self::add_lock_balance(&staker_id, amount)?;
 
 			let block_number = T::RelayBlockNumberProvider::current_block_number();
-			let recalc_block = (block_number / T::RecalculationInterval::get() + 2u32.into())
+
+			let recalculate_after_interval: T::BlockNumber =
+				if block_number % T::RecalculationInterval::get() == 0u32.into() {
+					1u32.into()
+				} else {
+					2u32.into()
+				};
+
+			let recalc_block = (block_number / T::RecalculationInterval::get()
+				+ recalculate_after_interval)
 				* T::RecalculationInterval::get();
 
 			<Staked<T>>::insert((&staker_id, block_number), {
@@ -428,7 +437,7 @@
 			T::ContractHandler::remove_contract_sponsor(contract_id)
 		}
 
-		#[pallet::weight(0)]
+		#[pallet::weight(T::WeightInfo::payout_stakers(stakers_number.unwrap_or(20) as u32))]
 		pub fn payout_stakers(admin: OriginFor<T>, stakers_number: Option<u8>) -> DispatchResult {
 			let admin_id = ensure_signed(admin)?;
 
@@ -495,6 +504,74 @@
 			// 	}
 			// }
 
+			// {
+			// 	let mut stakers_number = stakers_number.unwrap_or(20);
+			// 	let last_id = RefCell::new(None);
+			// 	let income_acc = RefCell::new(BalanceOf::<T>::default());
+			// 	let amount_acc = RefCell::new(BalanceOf::<T>::default());
+
+			// 	let flush_stake = || -> DispatchResult {
+			// 		if let Some(last_id) = &*last_id.borrow() {
+			// 			if !income_acc.borrow().is_zero() {
+			// 				<T::Currency as Currency<T::AccountId>>::transfer(
+			// 					&T::TreasuryAccountId::get(),
+			// 					last_id,
+			// 					*income_acc.borrow(),
+			// 					ExistenceRequirement::KeepAlive,
+			// 				)
+			// 				.and_then(|_| {
+			// 					Self::add_lock_balance(last_id, *income_acc.borrow());
+			// 					<TotalStaked<T>>::try_mutate(|staked| {
+			// 						staked
+			// 							.checked_add(&*income_acc.borrow())
+			// 							.ok_or(ArithmeticError::Overflow.into())
+			// 					})
+			// 				})?;
+
+			// 				Self::deposit_event(Event::StakingRecalculation(
+			// 					last_id.clone(),
+			// 					*amount_acc.borrow(),
+			// 					*income_acc.borrow(),
+			// 				));
+			// 			}
+
+			// 			*income_acc.borrow_mut() = BalanceOf::<T>::default();
+			// 			*amount_acc.borrow_mut() = BalanceOf::<T>::default();
+			// 		}
+			// 		Ok(())
+			// 	};
+
+			// 	while let Some((
+			// 		(current_id, staked_block),
+			// 		(amount, next_recalc_block_for_stake),
+			// 	)) = storage_iterator.next()
+			// 	{
+			// 		if stakers_number == 0 {
+			// 			NextCalculatedRecord::<T>::set(Some((current_id, staked_block)));
+			// 			break;
+			// 		}
+			// 		stakers_number -= 1;
+			// 		if last_id.borrow().as_ref() != Some(&current_id) {
+			// 			flush_stake()?;
+			// 		};
+			// 		*last_id.borrow_mut() = Some(current_id.clone());
+			// 		if current_recalc_block >= next_recalc_block_for_stake {
+			// 			*amount_acc.borrow_mut() += amount;
+			// 			Self::recalculate_and_insert_stake(
+			// 				&current_id,
+			// 				staked_block,
+			// 				next_recalc_block,
+			// 				amount,
+			// 				((current_recalc_block - next_recalc_block_for_stake)
+			// 					/ T::RecalculationInterval::get())
+			// 				.into() + 1,
+			// 				&mut *income_acc.borrow_mut(),
+			// 			);
+			// 		}
+			// 	}
+			// 	flush_stake()?;
+			// }
+
 			{
 				let mut stakers_number = stakers_number.unwrap_or(20);
 				let last_id = RefCell::new(None);
@@ -510,7 +587,14 @@
 								*income_acc.borrow(),
 								ExistenceRequirement::KeepAlive,
 							)
-							.and_then(|_| Self::add_lock_balance(last_id, *income_acc.borrow()))?;
+							.and_then(|_| {
+								Self::add_lock_balance(last_id, *income_acc.borrow())?;
+								<TotalStaked<T>>::try_mutate(|staked| {
+									staked
+										.checked_add(&*income_acc.borrow())
+										.ok_or(ArithmeticError::Overflow.into())
+								})
+							})?;
 
 							Self::deposit_event(Event::StakingRecalculation(
 								last_id.clone(),
@@ -534,11 +618,11 @@
 						NextCalculatedRecord::<T>::set(Some((current_id, staked_block)));
 						break;
 					}
-					stakers_number -= 1;
 					if last_id.borrow().as_ref() != Some(&current_id) {
 						flush_stake()?;
+						*last_id.borrow_mut() = Some(current_id.clone());
+						stakers_number -= 1;
 					};
-					*last_id.borrow_mut() = Some(current_id.clone());
 					if current_recalc_block >= next_recalc_block_for_stake {
 						*amount_acc.borrow_mut() += amount;
 						Self::recalculate_and_insert_stake(
modifiedpallets/app-promotion/src/types.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/types.rs
+++ b/pallets/app-promotion/src/types.rs
@@ -1,7 +1,5 @@
 use codec::EncodeLike;
-use frame_support::{
-	traits::LockableCurrency, WeakBoundedVec, Parameter, dispatch::DispatchResult, ensure,
-};
+use frame_support::{traits::LockableCurrency, WeakBoundedVec, Parameter, dispatch::DispatchResult};
 
 use pallet_balances::{BalanceLock, Config as BalancesConfig, Pallet as PalletBalances};
 use pallet_common::CollectionHandle;
modifiedpallets/app-promotion/src/weights.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/weights.rs
+++ b/pallets/app-promotion/src/weights.rs
@@ -3,7 +3,7 @@
 //! Autogenerated weights for pallet_app_promotion
 //!
 //! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-09-01, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-09-06, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
 //! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
 
 // Executed Command:
@@ -35,7 +35,7 @@
 /// Weight functions needed for pallet_app_promotion.
 pub trait WeightInfo {
 	fn set_admin_address() -> Weight;
-	fn payout_stakers() -> Weight;
+	fn payout_stakers(b: u32, ) -> Weight;
 	fn stake() -> Weight;
 	fn unstake() -> Weight;
 	fn sponsor_collection() -> Weight;
@@ -47,66 +47,70 @@
 /// Weights for pallet_app_promotion using the Substrate node and recommended hardware.
 pub struct SubstrateWeight<T>(PhantomData<T>);
 impl<T: frame_system::Config> WeightInfo for SubstrateWeight<T> {
-	// Storage: Promotion Admin (r:0 w:1)
+	// Storage: AppPromotion Admin (r:0 w:1)
 	fn set_admin_address() -> Weight {
-		(515_000 as Weight)
+		(5_297_000 as Weight)
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion NextCalculatedRecord (r:1 w:1)
-	// Storage: Promotion Staked (r:2 w:0)
-	fn payout_stakers() -> Weight {
-		(8_475_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
+	// Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
+	// Storage: AppPromotion Staked (r:2 w:0)
+	fn payout_stakers(b: u32, ) -> Weight {
+		(8_045_000 as Weight)
+			// Standard Error: 19_000
+			.saturating_add((4_778_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(T::DbWeight::get().reads(4 as Weight))
+			.saturating_add(T::DbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
-	// Storage: Promotion StakesPerAccount (r:1 w:1)
+	// Storage: AppPromotion StakesPerAccount (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion Staked (r:1 w:1)
-	// Storage: Promotion TotalStaked (r:1 w:1)
+	// Storage: AppPromotion Staked (r:1 w:1)
+	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	fn stake() -> Weight {
-		(12_266_000 as Weight)
+		(17_623_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(6 as Weight))
 			.saturating_add(T::DbWeight::get().writes(5 as Weight))
 	}
-	// Storage: Promotion Staked (r:2 w:1)
-	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion PendingUnstake (r:1 w:1)
-	// Storage: Promotion TotalStaked (r:1 w:1)
-	// Storage: Promotion StakesPerAccount (r:0 w:1)
+	// Storage: AppPromotion PendingUnstake (r:1 w:1)
+	// Storage: AppPromotion Staked (r:2 w:1)
+	// Storage: Balances Locks (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: AppPromotion TotalStaked (r:1 w:1)
+	// Storage: AppPromotion StakesPerAccount (r:0 w:1)
 	fn unstake() -> Weight {
-		(10_663_000 as Weight)
-			.saturating_add(T::DbWeight::get().reads(5 as Weight))
-			.saturating_add(T::DbWeight::get().writes(4 as Weight))
+		(27_190_000 as Weight)
+			.saturating_add(T::DbWeight::get().reads(6 as Weight))
+			.saturating_add(T::DbWeight::get().writes(6 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn sponsor_collection() -> Weight {
-		(10_879_000 as Weight)
+		(11_351_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn stop_sponsoring_collection() -> Weight {
-		(10_548_000 as Weight)
+		(10_687_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
 	fn sponsor_contract() -> Weight {
-		(2_130_000 as Weight)
+		(2_332_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(1 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
 	fn stop_sponsoring_contract() -> Weight {
-		(3_509_000 as Weight)
+		(3_712_000 as Weight)
 			.saturating_add(T::DbWeight::get().reads(2 as Weight))
 			.saturating_add(T::DbWeight::get().writes(1 as Weight))
 	}
@@ -114,66 +118,70 @@
 
 // For backwards compatibility and tests
 impl WeightInfo for () {
-	// Storage: Promotion Admin (r:0 w:1)
+	// Storage: AppPromotion Admin (r:0 w:1)
 	fn set_admin_address() -> Weight {
-		(515_000 as Weight)
+		(5_297_000 as Weight)
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion NextCalculatedRecord (r:1 w:1)
-	// Storage: Promotion Staked (r:2 w:0)
-	fn payout_stakers() -> Weight {
-		(8_475_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
+	// Storage: AppPromotion NextCalculatedRecord (r:1 w:1)
+	// Storage: AppPromotion Staked (r:2 w:0)
+	fn payout_stakers(b: u32, ) -> Weight {
+		(8_045_000 as Weight)
+			// Standard Error: 19_000
+			.saturating_add((4_778_000 as Weight).saturating_mul(b as Weight))
+			.saturating_add(RocksDbWeight::get().reads(4 as Weight))
+			.saturating_add(RocksDbWeight::get().reads((1 as Weight).saturating_mul(b as Weight)))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
 	// Storage: System Account (r:1 w:1)
-	// Storage: Promotion StakesPerAccount (r:1 w:1)
+	// Storage: AppPromotion StakesPerAccount (r:1 w:1)
 	// Storage: Balances Locks (r:1 w:1)
 	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion Staked (r:1 w:1)
-	// Storage: Promotion TotalStaked (r:1 w:1)
+	// Storage: AppPromotion Staked (r:1 w:1)
+	// Storage: AppPromotion TotalStaked (r:1 w:1)
 	fn stake() -> Weight {
-		(12_266_000 as Weight)
+		(17_623_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(5 as Weight))
 	}
-	// Storage: Promotion Staked (r:2 w:1)
-	// Storage: ParachainSystem ValidationData (r:1 w:0)
-	// Storage: Promotion PendingUnstake (r:1 w:1)
-	// Storage: Promotion TotalStaked (r:1 w:1)
-	// Storage: Promotion StakesPerAccount (r:0 w:1)
+	// Storage: AppPromotion PendingUnstake (r:1 w:1)
+	// Storage: AppPromotion Staked (r:2 w:1)
+	// Storage: Balances Locks (r:1 w:1)
+	// Storage: System Account (r:1 w:1)
+	// Storage: AppPromotion TotalStaked (r:1 w:1)
+	// Storage: AppPromotion StakesPerAccount (r:0 w:1)
 	fn unstake() -> Weight {
-		(10_663_000 as Weight)
-			.saturating_add(RocksDbWeight::get().reads(5 as Weight))
-			.saturating_add(RocksDbWeight::get().writes(4 as Weight))
+		(27_190_000 as Weight)
+			.saturating_add(RocksDbWeight::get().reads(6 as Weight))
+			.saturating_add(RocksDbWeight::get().writes(6 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn sponsor_collection() -> Weight {
-		(10_879_000 as Weight)
+		(11_351_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: Common CollectionById (r:1 w:1)
 	fn stop_sponsoring_collection() -> Weight {
-		(10_548_000 as Weight)
+		(10_687_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:0 w:1)
 	fn sponsor_contract() -> Weight {
-		(2_130_000 as Weight)
+		(2_332_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(1 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
-	// Storage: Promotion Admin (r:1 w:0)
+	// Storage: AppPromotion Admin (r:1 w:0)
 	// Storage: EvmContractHelpers Sponsoring (r:1 w:1)
 	fn stop_sponsoring_contract() -> Weight {
-		(3_509_000 as Weight)
+		(3_712_000 as Weight)
 			.saturating_add(RocksDbWeight::get().reads(2 as Weight))
 			.saturating_add(RocksDbWeight::get().writes(1 as Weight))
 	}
modifiedpallets/common/Cargo.tomldiffbeforeafterboth
--- a/pallets/common/Cargo.toml
+++ b/pallets/common/Cargo.toml
@@ -40,4 +40,7 @@
     "up-data-structs/std",
     "pallet-evm/std",
 ]
-runtime-benchmarks = ["frame-benchmarking"]
+runtime-benchmarks = [
+    "frame-benchmarking/runtime-benchmarks",
+    "up-data-structs/runtime-benchmarks",
+]
modifiedruntime/common/config/pallets/app_promotion.rsdiffbeforeafterboth
--- a/runtime/common/config/pallets/app_promotion.rs
+++ b/runtime/common/config/pallets/app_promotion.rs
@@ -22,7 +22,7 @@
 use frame_support::{parameter_types, PalletId};
 use sp_arithmetic::Perbill;
 use up_common::{
-	constants::{ UNIQUE, RELAY_DAYS},
+	constants::{UNIQUE, RELAY_DAYS},
 	types::Balance,
 };
 
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -680,7 +680,7 @@
                     list_benchmark!(list, extra, pallet_unique, Unique);
                     list_benchmark!(list, extra, pallet_structure, Structure);
                     list_benchmark!(list, extra, pallet_inflation, Inflation);
-                    list_benchmark!(list, extra, pallet_app_promotion, Promotion);
+                    list_benchmark!(list, extra, pallet_app_promotion, AppPromotion);
                     list_benchmark!(list, extra, pallet_fungible, Fungible);
                     list_benchmark!(list, extra, pallet_nonfungible, Nonfungible);
 
@@ -736,7 +736,7 @@
                     add_benchmark!(params, batches, pallet_unique, Unique);
                     add_benchmark!(params, batches, pallet_structure, Structure);
                     add_benchmark!(params, batches, pallet_inflation, Inflation);
-                    add_benchmark!(params, batches, pallet_app_promotion, Promotion);
+                    add_benchmark!(params, batches, pallet_app_promotion, AppPromotion);
                     add_benchmark!(params, batches, pallet_fungible, Fungible);
                     add_benchmark!(params, batches, pallet_nonfungible, Nonfungible);
 
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -16,10 +16,6 @@
 declare module '@polkadot/api-base/types/consts' {
   interface AugmentedConsts<ApiType extends ApiTypes> {
     appPromotion: {
-      /**
-       * In chain blocks.
-       **/
-      day: u32 & AugmentedConst<ApiType>;
       intervalIncome: Perbill & AugmentedConst<ApiType>;
       nominal: u128 & AugmentedConst<ApiType>;
       /**
modifiedtests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -27,7 +27,7 @@
       /**
        * Insufficient funds to perform an action
        **/
-      NotSufficientFounds: AugmentedError<ApiType>;
+      NotSufficientFunds: AugmentedError<ApiType>;
       PendingForBlockOverflow: AugmentedError<ApiType>;
       /**
        * Generic error
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -16,7 +16,10 @@
 declare module '@polkadot/api-base/types/events' {
   interface AugmentedEvents<ApiType extends ApiTypes> {
     appPromotion: {
+      SetAdmin: AugmentedEvent<ApiType, [AccountId32]>;
+      Stake: AugmentedEvent<ApiType, [AccountId32, u128]>;
       StakingRecalculation: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
+      Unstake: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * Generic event
        **/
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -36,10 +36,6 @@
        * Amount of stakes for an Account
        **/
       stakesPerAccount: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u8>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
-      /**
-       * A block when app-promotion has started .I think this is redundant, because we only need `NextInterestBlock`.
-       **/
-      startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
       totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;
       /**
        * Generic query
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
before · tests/src/interfaces/default/types.ts
1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name CumulusPalletDmpQueueCall */10export interface CumulusPalletDmpQueueCall extends Enum {11  readonly isServiceOverweight: boolean;12  readonly asServiceOverweight: {13    readonly index: u64;14    readonly weightLimit: u64;15  } & Struct;16  readonly type: 'ServiceOverweight';17}1819/** @name CumulusPalletDmpQueueConfigData */20export interface CumulusPalletDmpQueueConfigData extends Struct {21  readonly maxIndividual: u64;22}2324/** @name CumulusPalletDmpQueueError */25export interface CumulusPalletDmpQueueError extends Enum {26  readonly isUnknown: boolean;27  readonly isOverLimit: boolean;28  readonly type: 'Unknown' | 'OverLimit';29}3031/** @name CumulusPalletDmpQueueEvent */32export interface CumulusPalletDmpQueueEvent extends Enum {33  readonly isInvalidFormat: boolean;34  readonly asInvalidFormat: {35    readonly messageId: U8aFixed;36  } & Struct;37  readonly isUnsupportedVersion: boolean;38  readonly asUnsupportedVersion: {39    readonly messageId: U8aFixed;40  } & Struct;41  readonly isExecutedDownward: boolean;42  readonly asExecutedDownward: {43    readonly messageId: U8aFixed;44    readonly outcome: XcmV2TraitsOutcome;45  } & Struct;46  readonly isWeightExhausted: boolean;47  readonly asWeightExhausted: {48    readonly messageId: U8aFixed;49    readonly remainingWeight: u64;50    readonly requiredWeight: u64;51  } & Struct;52  readonly isOverweightEnqueued: boolean;53  readonly asOverweightEnqueued: {54    readonly messageId: U8aFixed;55    readonly overweightIndex: u64;56    readonly requiredWeight: u64;57  } & Struct;58  readonly isOverweightServiced: boolean;59  readonly asOverweightServiced: {60    readonly overweightIndex: u64;61    readonly weightUsed: u64;62  } & Struct;63  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';64}6566/** @name CumulusPalletDmpQueuePageIndexData */67export interface CumulusPalletDmpQueuePageIndexData extends Struct {68  readonly beginUsed: u32;69  readonly endUsed: u32;70  readonly overweightCount: u64;71}7273/** @name CumulusPalletParachainSystemCall */74export interface CumulusPalletParachainSystemCall extends Enum {75  readonly isSetValidationData: boolean;76  readonly asSetValidationData: {77    readonly data: CumulusPrimitivesParachainInherentParachainInherentData;78  } & Struct;79  readonly isSudoSendUpwardMessage: boolean;80  readonly asSudoSendUpwardMessage: {81    readonly message: Bytes;82  } & Struct;83  readonly isAuthorizeUpgrade: boolean;84  readonly asAuthorizeUpgrade: {85    readonly codeHash: H256;86  } & Struct;87  readonly isEnactAuthorizedUpgrade: boolean;88  readonly asEnactAuthorizedUpgrade: {89    readonly code: Bytes;90  } & Struct;91  readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';92}9394/** @name CumulusPalletParachainSystemError */95export interface CumulusPalletParachainSystemError extends Enum {96  readonly isOverlappingUpgrades: boolean;97  readonly isProhibitedByPolkadot: boolean;98  readonly isTooBig: boolean;99  readonly isValidationDataNotAvailable: boolean;100  readonly isHostConfigurationNotAvailable: boolean;101  readonly isNotScheduled: boolean;102  readonly isNothingAuthorized: boolean;103  readonly isUnauthorized: boolean;104  readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';105}106107/** @name CumulusPalletParachainSystemEvent */108export interface CumulusPalletParachainSystemEvent extends Enum {109  readonly isValidationFunctionStored: boolean;110  readonly isValidationFunctionApplied: boolean;111  readonly asValidationFunctionApplied: {112    readonly relayChainBlockNum: u32;113  } & Struct;114  readonly isValidationFunctionDiscarded: boolean;115  readonly isUpgradeAuthorized: boolean;116  readonly asUpgradeAuthorized: {117    readonly codeHash: H256;118  } & Struct;119  readonly isDownwardMessagesReceived: boolean;120  readonly asDownwardMessagesReceived: {121    readonly count: u32;122  } & Struct;123  readonly isDownwardMessagesProcessed: boolean;124  readonly asDownwardMessagesProcessed: {125    readonly weightUsed: u64;126    readonly dmqHead: H256;127  } & Struct;128  readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';129}130131/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */132export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {133  readonly dmqMqcHead: H256;134  readonly relayDispatchQueueSize: ITuple<[u32, u32]>;135  readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;136  readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;137}138139/** @name CumulusPalletXcmCall */140export interface CumulusPalletXcmCall extends Null {}141142/** @name CumulusPalletXcmError */143export interface CumulusPalletXcmError extends Null {}144145/** @name CumulusPalletXcmEvent */146export interface CumulusPalletXcmEvent extends Enum {147  readonly isInvalidFormat: boolean;148  readonly asInvalidFormat: U8aFixed;149  readonly isUnsupportedVersion: boolean;150  readonly asUnsupportedVersion: U8aFixed;151  readonly isExecutedDownward: boolean;152  readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;153  readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';154}155156/** @name CumulusPalletXcmOrigin */157export interface CumulusPalletXcmOrigin extends Enum {158  readonly isRelay: boolean;159  readonly isSiblingParachain: boolean;160  readonly asSiblingParachain: u32;161  readonly type: 'Relay' | 'SiblingParachain';162}163164/** @name CumulusPalletXcmpQueueCall */165export interface CumulusPalletXcmpQueueCall extends Enum {166  readonly isServiceOverweight: boolean;167  readonly asServiceOverweight: {168    readonly index: u64;169    readonly weightLimit: u64;170  } & Struct;171  readonly isSuspendXcmExecution: boolean;172  readonly isResumeXcmExecution: boolean;173  readonly isUpdateSuspendThreshold: boolean;174  readonly asUpdateSuspendThreshold: {175    readonly new_: u32;176  } & Struct;177  readonly isUpdateDropThreshold: boolean;178  readonly asUpdateDropThreshold: {179    readonly new_: u32;180  } & Struct;181  readonly isUpdateResumeThreshold: boolean;182  readonly asUpdateResumeThreshold: {183    readonly new_: u32;184  } & Struct;185  readonly isUpdateThresholdWeight: boolean;186  readonly asUpdateThresholdWeight: {187    readonly new_: u64;188  } & Struct;189  readonly isUpdateWeightRestrictDecay: boolean;190  readonly asUpdateWeightRestrictDecay: {191    readonly new_: u64;192  } & Struct;193  readonly isUpdateXcmpMaxIndividualWeight: boolean;194  readonly asUpdateXcmpMaxIndividualWeight: {195    readonly new_: u64;196  } & Struct;197  readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';198}199200/** @name CumulusPalletXcmpQueueError */201export interface CumulusPalletXcmpQueueError extends Enum {202  readonly isFailedToSend: boolean;203  readonly isBadXcmOrigin: boolean;204  readonly isBadXcm: boolean;205  readonly isBadOverweightIndex: boolean;206  readonly isWeightOverLimit: boolean;207  readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';208}209210/** @name CumulusPalletXcmpQueueEvent */211export interface CumulusPalletXcmpQueueEvent extends Enum {212  readonly isSuccess: boolean;213  readonly asSuccess: {214    readonly messageHash: Option<H256>;215    readonly weight: u64;216  } & Struct;217  readonly isFail: boolean;218  readonly asFail: {219    readonly messageHash: Option<H256>;220    readonly error: XcmV2TraitsError;221    readonly weight: u64;222  } & Struct;223  readonly isBadVersion: boolean;224  readonly asBadVersion: {225    readonly messageHash: Option<H256>;226  } & Struct;227  readonly isBadFormat: boolean;228  readonly asBadFormat: {229    readonly messageHash: Option<H256>;230  } & Struct;231  readonly isUpwardMessageSent: boolean;232  readonly asUpwardMessageSent: {233    readonly messageHash: Option<H256>;234  } & Struct;235  readonly isXcmpMessageSent: boolean;236  readonly asXcmpMessageSent: {237    readonly messageHash: Option<H256>;238  } & Struct;239  readonly isOverweightEnqueued: boolean;240  readonly asOverweightEnqueued: {241    readonly sender: u32;242    readonly sentAt: u32;243    readonly index: u64;244    readonly required: u64;245  } & Struct;246  readonly isOverweightServiced: boolean;247  readonly asOverweightServiced: {248    readonly index: u64;249    readonly used: u64;250  } & Struct;251  readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';252}253254/** @name CumulusPalletXcmpQueueInboundChannelDetails */255export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {256  readonly sender: u32;257  readonly state: CumulusPalletXcmpQueueInboundState;258  readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;259}260261/** @name CumulusPalletXcmpQueueInboundState */262export interface CumulusPalletXcmpQueueInboundState extends Enum {263  readonly isOk: boolean;264  readonly isSuspended: boolean;265  readonly type: 'Ok' | 'Suspended';266}267268/** @name CumulusPalletXcmpQueueOutboundChannelDetails */269export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {270  readonly recipient: u32;271  readonly state: CumulusPalletXcmpQueueOutboundState;272  readonly signalsExist: bool;273  readonly firstIndex: u16;274  readonly lastIndex: u16;275}276277/** @name CumulusPalletXcmpQueueOutboundState */278export interface CumulusPalletXcmpQueueOutboundState extends Enum {279  readonly isOk: boolean;280  readonly isSuspended: boolean;281  readonly type: 'Ok' | 'Suspended';282}283284/** @name CumulusPalletXcmpQueueQueueConfigData */285export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {286  readonly suspendThreshold: u32;287  readonly dropThreshold: u32;288  readonly resumeThreshold: u32;289  readonly thresholdWeight: u64;290  readonly weightRestrictDecay: u64;291  readonly xcmpMaxIndividualWeight: u64;292}293294/** @name CumulusPrimitivesParachainInherentParachainInherentData */295export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {296  readonly validationData: PolkadotPrimitivesV2PersistedValidationData;297  readonly relayChainState: SpTrieStorageProof;298  readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;299  readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;300}301302/** @name EthbloomBloom */303export interface EthbloomBloom extends U8aFixed {}304305/** @name EthereumBlock */306export interface EthereumBlock extends Struct {307  readonly header: EthereumHeader;308  readonly transactions: Vec<EthereumTransactionTransactionV2>;309  readonly ommers: Vec<EthereumHeader>;310}311312/** @name EthereumHeader */313export interface EthereumHeader extends Struct {314  readonly parentHash: H256;315  readonly ommersHash: H256;316  readonly beneficiary: H160;317  readonly stateRoot: H256;318  readonly transactionsRoot: H256;319  readonly receiptsRoot: H256;320  readonly logsBloom: EthbloomBloom;321  readonly difficulty: U256;322  readonly number: U256;323  readonly gasLimit: U256;324  readonly gasUsed: U256;325  readonly timestamp: u64;326  readonly extraData: Bytes;327  readonly mixHash: H256;328  readonly nonce: EthereumTypesHashH64;329}330331/** @name EthereumLog */332export interface EthereumLog extends Struct {333  readonly address: H160;334  readonly topics: Vec<H256>;335  readonly data: Bytes;336}337338/** @name EthereumReceiptEip658ReceiptData */339export interface EthereumReceiptEip658ReceiptData extends Struct {340  readonly statusCode: u8;341  readonly usedGas: U256;342  readonly logsBloom: EthbloomBloom;343  readonly logs: Vec<EthereumLog>;344}345346/** @name EthereumReceiptReceiptV3 */347export interface EthereumReceiptReceiptV3 extends Enum {348  readonly isLegacy: boolean;349  readonly asLegacy: EthereumReceiptEip658ReceiptData;350  readonly isEip2930: boolean;351  readonly asEip2930: EthereumReceiptEip658ReceiptData;352  readonly isEip1559: boolean;353  readonly asEip1559: EthereumReceiptEip658ReceiptData;354  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';355}356357/** @name EthereumTransactionAccessListItem */358export interface EthereumTransactionAccessListItem extends Struct {359  readonly address: H160;360  readonly storageKeys: Vec<H256>;361}362363/** @name EthereumTransactionEip1559Transaction */364export interface EthereumTransactionEip1559Transaction extends Struct {365  readonly chainId: u64;366  readonly nonce: U256;367  readonly maxPriorityFeePerGas: U256;368  readonly maxFeePerGas: U256;369  readonly gasLimit: U256;370  readonly action: EthereumTransactionTransactionAction;371  readonly value: U256;372  readonly input: Bytes;373  readonly accessList: Vec<EthereumTransactionAccessListItem>;374  readonly oddYParity: bool;375  readonly r: H256;376  readonly s: H256;377}378379/** @name EthereumTransactionEip2930Transaction */380export interface EthereumTransactionEip2930Transaction extends Struct {381  readonly chainId: u64;382  readonly nonce: U256;383  readonly gasPrice: U256;384  readonly gasLimit: U256;385  readonly action: EthereumTransactionTransactionAction;386  readonly value: U256;387  readonly input: Bytes;388  readonly accessList: Vec<EthereumTransactionAccessListItem>;389  readonly oddYParity: bool;390  readonly r: H256;391  readonly s: H256;392}393394/** @name EthereumTransactionLegacyTransaction */395export interface EthereumTransactionLegacyTransaction extends Struct {396  readonly nonce: U256;397  readonly gasPrice: U256;398  readonly gasLimit: U256;399  readonly action: EthereumTransactionTransactionAction;400  readonly value: U256;401  readonly input: Bytes;402  readonly signature: EthereumTransactionTransactionSignature;403}404405/** @name EthereumTransactionTransactionAction */406export interface EthereumTransactionTransactionAction extends Enum {407  readonly isCall: boolean;408  readonly asCall: H160;409  readonly isCreate: boolean;410  readonly type: 'Call' | 'Create';411}412413/** @name EthereumTransactionTransactionSignature */414export interface EthereumTransactionTransactionSignature extends Struct {415  readonly v: u64;416  readonly r: H256;417  readonly s: H256;418}419420/** @name EthereumTransactionTransactionV2 */421export interface EthereumTransactionTransactionV2 extends Enum {422  readonly isLegacy: boolean;423  readonly asLegacy: EthereumTransactionLegacyTransaction;424  readonly isEip2930: boolean;425  readonly asEip2930: EthereumTransactionEip2930Transaction;426  readonly isEip1559: boolean;427  readonly asEip1559: EthereumTransactionEip1559Transaction;428  readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';429}430431/** @name EthereumTypesHashH64 */432export interface EthereumTypesHashH64 extends U8aFixed {}433434/** @name EvmCoreErrorExitError */435export interface EvmCoreErrorExitError extends Enum {436  readonly isStackUnderflow: boolean;437  readonly isStackOverflow: boolean;438  readonly isInvalidJump: boolean;439  readonly isInvalidRange: boolean;440  readonly isDesignatedInvalid: boolean;441  readonly isCallTooDeep: boolean;442  readonly isCreateCollision: boolean;443  readonly isCreateContractLimit: boolean;444  readonly isOutOfOffset: boolean;445  readonly isOutOfGas: boolean;446  readonly isOutOfFund: boolean;447  readonly isPcUnderflow: boolean;448  readonly isCreateEmpty: boolean;449  readonly isOther: boolean;450  readonly asOther: Text;451  readonly isInvalidCode: boolean;452  readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';453}454455/** @name EvmCoreErrorExitFatal */456export interface EvmCoreErrorExitFatal extends Enum {457  readonly isNotSupported: boolean;458  readonly isUnhandledInterrupt: boolean;459  readonly isCallErrorAsFatal: boolean;460  readonly asCallErrorAsFatal: EvmCoreErrorExitError;461  readonly isOther: boolean;462  readonly asOther: Text;463  readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';464}465466/** @name EvmCoreErrorExitReason */467export interface EvmCoreErrorExitReason extends Enum {468  readonly isSucceed: boolean;469  readonly asSucceed: EvmCoreErrorExitSucceed;470  readonly isError: boolean;471  readonly asError: EvmCoreErrorExitError;472  readonly isRevert: boolean;473  readonly asRevert: EvmCoreErrorExitRevert;474  readonly isFatal: boolean;475  readonly asFatal: EvmCoreErrorExitFatal;476  readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';477}478479/** @name EvmCoreErrorExitRevert */480export interface EvmCoreErrorExitRevert extends Enum {481  readonly isReverted: boolean;482  readonly type: 'Reverted';483}484485/** @name EvmCoreErrorExitSucceed */486export interface EvmCoreErrorExitSucceed extends Enum {487  readonly isStopped: boolean;488  readonly isReturned: boolean;489  readonly isSuicided: boolean;490  readonly type: 'Stopped' | 'Returned' | 'Suicided';491}492493/** @name FpRpcTransactionStatus */494export interface FpRpcTransactionStatus extends Struct {495  readonly transactionHash: H256;496  readonly transactionIndex: u32;497  readonly from: H160;498  readonly to: Option<H160>;499  readonly contractAddress: Option<H160>;500  readonly logs: Vec<EthereumLog>;501  readonly logsBloom: EthbloomBloom;502}503504/** @name FrameSupportDispatchRawOrigin */505export interface FrameSupportDispatchRawOrigin extends Enum {506  readonly isRoot: boolean;507  readonly isSigned: boolean;508  readonly asSigned: AccountId32;509  readonly isNone: boolean;510  readonly type: 'Root' | 'Signed' | 'None';511}512513/** @name FrameSupportPalletId */514export interface FrameSupportPalletId extends U8aFixed {}515516/** @name FrameSupportScheduleLookupError */517export interface FrameSupportScheduleLookupError extends Enum {518  readonly isUnknown: boolean;519  readonly isBadFormat: boolean;520  readonly type: 'Unknown' | 'BadFormat';521}522523/** @name FrameSupportScheduleMaybeHashed */524export interface FrameSupportScheduleMaybeHashed extends Enum {525  readonly isValue: boolean;526  readonly asValue: Call;527  readonly isHash: boolean;528  readonly asHash: H256;529  readonly type: 'Value' | 'Hash';530}531532/** @name FrameSupportTokensMiscBalanceStatus */533export interface FrameSupportTokensMiscBalanceStatus extends Enum {534  readonly isFree: boolean;535  readonly isReserved: boolean;536  readonly type: 'Free' | 'Reserved';537}538539/** @name FrameSupportWeightsDispatchClass */540export interface FrameSupportWeightsDispatchClass extends Enum {541  readonly isNormal: boolean;542  readonly isOperational: boolean;543  readonly isMandatory: boolean;544  readonly type: 'Normal' | 'Operational' | 'Mandatory';545}546547/** @name FrameSupportWeightsDispatchInfo */548export interface FrameSupportWeightsDispatchInfo extends Struct {549  readonly weight: u64;550  readonly class: FrameSupportWeightsDispatchClass;551  readonly paysFee: FrameSupportWeightsPays;552}553554/** @name FrameSupportWeightsPays */555export interface FrameSupportWeightsPays extends Enum {556  readonly isYes: boolean;557  readonly isNo: boolean;558  readonly type: 'Yes' | 'No';559}560561/** @name FrameSupportWeightsPerDispatchClassU32 */562export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {563  readonly normal: u32;564  readonly operational: u32;565  readonly mandatory: u32;566}567568/** @name FrameSupportWeightsPerDispatchClassU64 */569export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {570  readonly normal: u64;571  readonly operational: u64;572  readonly mandatory: u64;573}574575/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */576export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {577  readonly normal: FrameSystemLimitsWeightsPerClass;578  readonly operational: FrameSystemLimitsWeightsPerClass;579  readonly mandatory: FrameSystemLimitsWeightsPerClass;580}581582/** @name FrameSupportWeightsRuntimeDbWeight */583export interface FrameSupportWeightsRuntimeDbWeight extends Struct {584  readonly read: u64;585  readonly write: u64;586}587588/** @name FrameSystemAccountInfo */589export interface FrameSystemAccountInfo extends Struct {590  readonly nonce: u32;591  readonly consumers: u32;592  readonly providers: u32;593  readonly sufficients: u32;594  readonly data: PalletBalancesAccountData;595}596597/** @name FrameSystemCall */598export interface FrameSystemCall extends Enum {599  readonly isFillBlock: boolean;600  readonly asFillBlock: {601    readonly ratio: Perbill;602  } & Struct;603  readonly isRemark: boolean;604  readonly asRemark: {605    readonly remark: Bytes;606  } & Struct;607  readonly isSetHeapPages: boolean;608  readonly asSetHeapPages: {609    readonly pages: u64;610  } & Struct;611  readonly isSetCode: boolean;612  readonly asSetCode: {613    readonly code: Bytes;614  } & Struct;615  readonly isSetCodeWithoutChecks: boolean;616  readonly asSetCodeWithoutChecks: {617    readonly code: Bytes;618  } & Struct;619  readonly isSetStorage: boolean;620  readonly asSetStorage: {621    readonly items: Vec<ITuple<[Bytes, Bytes]>>;622  } & Struct;623  readonly isKillStorage: boolean;624  readonly asKillStorage: {625    readonly keys_: Vec<Bytes>;626  } & Struct;627  readonly isKillPrefix: boolean;628  readonly asKillPrefix: {629    readonly prefix: Bytes;630    readonly subkeys: u32;631  } & Struct;632  readonly isRemarkWithEvent: boolean;633  readonly asRemarkWithEvent: {634    readonly remark: Bytes;635  } & Struct;636  readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';637}638639/** @name FrameSystemError */640export interface FrameSystemError extends Enum {641  readonly isInvalidSpecName: boolean;642  readonly isSpecVersionNeedsToIncrease: boolean;643  readonly isFailedToExtractRuntimeVersion: boolean;644  readonly isNonDefaultComposite: boolean;645  readonly isNonZeroRefCount: boolean;646  readonly isCallFiltered: boolean;647  readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';648}649650/** @name FrameSystemEvent */651export interface FrameSystemEvent extends Enum {652  readonly isExtrinsicSuccess: boolean;653  readonly asExtrinsicSuccess: {654    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;655  } & Struct;656  readonly isExtrinsicFailed: boolean;657  readonly asExtrinsicFailed: {658    readonly dispatchError: SpRuntimeDispatchError;659    readonly dispatchInfo: FrameSupportWeightsDispatchInfo;660  } & Struct;661  readonly isCodeUpdated: boolean;662  readonly isNewAccount: boolean;663  readonly asNewAccount: {664    readonly account: AccountId32;665  } & Struct;666  readonly isKilledAccount: boolean;667  readonly asKilledAccount: {668    readonly account: AccountId32;669  } & Struct;670  readonly isRemarked: boolean;671  readonly asRemarked: {672    readonly sender: AccountId32;673    readonly hash_: H256;674  } & Struct;675  readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';676}677678/** @name FrameSystemEventRecord */679export interface FrameSystemEventRecord extends Struct {680  readonly phase: FrameSystemPhase;681  readonly event: Event;682  readonly topics: Vec<H256>;683}684685/** @name FrameSystemExtensionsCheckGenesis */686export interface FrameSystemExtensionsCheckGenesis extends Null {}687688/** @name FrameSystemExtensionsCheckNonce */689export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}690691/** @name FrameSystemExtensionsCheckSpecVersion */692export interface FrameSystemExtensionsCheckSpecVersion extends Null {}693694/** @name FrameSystemExtensionsCheckWeight */695export interface FrameSystemExtensionsCheckWeight extends Null {}696697/** @name FrameSystemLastRuntimeUpgradeInfo */698export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {699  readonly specVersion: Compact<u32>;700  readonly specName: Text;701}702703/** @name FrameSystemLimitsBlockLength */704export interface FrameSystemLimitsBlockLength extends Struct {705  readonly max: FrameSupportWeightsPerDispatchClassU32;706}707708/** @name FrameSystemLimitsBlockWeights */709export interface FrameSystemLimitsBlockWeights extends Struct {710  readonly baseBlock: u64;711  readonly maxBlock: u64;712  readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;713}714715/** @name FrameSystemLimitsWeightsPerClass */716export interface FrameSystemLimitsWeightsPerClass extends Struct {717  readonly baseExtrinsic: u64;718  readonly maxExtrinsic: Option<u64>;719  readonly maxTotal: Option<u64>;720  readonly reserved: Option<u64>;721}722723/** @name FrameSystemPhase */724export interface FrameSystemPhase extends Enum {725  readonly isApplyExtrinsic: boolean;726  readonly asApplyExtrinsic: u32;727  readonly isFinalization: boolean;728  readonly isInitialization: boolean;729  readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';730}731732/** @name OpalRuntimeOriginCaller */733export interface OpalRuntimeOriginCaller extends Enum {734  readonly isSystem: boolean;735  readonly asSystem: FrameSupportDispatchRawOrigin;736  readonly isVoid: boolean;737  readonly asVoid: SpCoreVoid;738  readonly isPolkadotXcm: boolean;739  readonly asPolkadotXcm: PalletXcmOrigin;740  readonly isCumulusXcm: boolean;741  readonly asCumulusXcm: CumulusPalletXcmOrigin;742  readonly isEthereum: boolean;743  readonly asEthereum: PalletEthereumRawOrigin;744  readonly type: 'System' | 'Void' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum';745}746747/** @name OpalRuntimeRuntime */748export interface OpalRuntimeRuntime extends Null {}749750/** @name OrmlVestingModuleCall */751export interface OrmlVestingModuleCall extends Enum {752  readonly isClaim: boolean;753  readonly isVestedTransfer: boolean;754  readonly asVestedTransfer: {755    readonly dest: MultiAddress;756    readonly schedule: OrmlVestingVestingSchedule;757  } & Struct;758  readonly isUpdateVestingSchedules: boolean;759  readonly asUpdateVestingSchedules: {760    readonly who: MultiAddress;761    readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;762  } & Struct;763  readonly isClaimFor: boolean;764  readonly asClaimFor: {765    readonly dest: MultiAddress;766  } & Struct;767  readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';768}769770/** @name OrmlVestingModuleError */771export interface OrmlVestingModuleError extends Enum {772  readonly isZeroVestingPeriod: boolean;773  readonly isZeroVestingPeriodCount: boolean;774  readonly isInsufficientBalanceToLock: boolean;775  readonly isTooManyVestingSchedules: boolean;776  readonly isAmountLow: boolean;777  readonly isMaxVestingSchedulesExceeded: boolean;778  readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';779}780781/** @name OrmlVestingModuleEvent */782export interface OrmlVestingModuleEvent extends Enum {783  readonly isVestingScheduleAdded: boolean;784  readonly asVestingScheduleAdded: {785    readonly from: AccountId32;786    readonly to: AccountId32;787    readonly vestingSchedule: OrmlVestingVestingSchedule;788  } & Struct;789  readonly isClaimed: boolean;790  readonly asClaimed: {791    readonly who: AccountId32;792    readonly amount: u128;793  } & Struct;794  readonly isVestingSchedulesUpdated: boolean;795  readonly asVestingSchedulesUpdated: {796    readonly who: AccountId32;797  } & Struct;798  readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';799}800801/** @name OrmlVestingVestingSchedule */802export interface OrmlVestingVestingSchedule extends Struct {803  readonly start: u32;804  readonly period: u32;805  readonly periodCount: u32;806  readonly perPeriod: Compact<u128>;807}808809/** @name PalletAppPromotionCall */810export interface PalletAppPromotionCall extends Enum {811  readonly isSetAdminAddress: boolean;812  readonly asSetAdminAddress: {813    readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;814  } & Struct;815  readonly isStake: boolean;816  readonly asStake: {817    readonly amount: u128;818  } & Struct;819  readonly isUnstake: boolean;820  readonly isSponsorCollection: boolean;821  readonly asSponsorCollection: {822    readonly collectionId: u32;823  } & Struct;824  readonly isStopSponsoringCollection: boolean;825  readonly asStopSponsoringCollection: {826    readonly collectionId: u32;827  } & Struct;828  readonly isSponsorConract: boolean;829  readonly asSponsorConract: {830    readonly contractId: H160;831  } & Struct;832  readonly isStopSponsoringContract: boolean;833  readonly asStopSponsoringContract: {834    readonly contractId: H160;835  } & Struct;836  readonly isPayoutStakers: boolean;837  readonly asPayoutStakers: {838    readonly stakersNumber: Option<u8>;839  } & Struct;840  readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorConract' | 'StopSponsoringContract' | 'PayoutStakers';841}842843/** @name PalletAppPromotionError */844export interface PalletAppPromotionError extends Enum {845  readonly isAdminNotSet: boolean;846  readonly isNoPermission: boolean;847  readonly isNotSufficientFounds: boolean;848  readonly isPendingForBlockOverflow: boolean;849  readonly isInvalidArgument: boolean;850  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'PendingForBlockOverflow' | 'InvalidArgument';851}852853/** @name PalletAppPromotionEvent */854export interface PalletAppPromotionEvent extends Enum {855  readonly isStakingRecalculation: boolean;856  readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;857  readonly type: 'StakingRecalculation';858}859860/** @name PalletBalancesAccountData */861export interface PalletBalancesAccountData extends Struct {862  readonly free: u128;863  readonly reserved: u128;864  readonly miscFrozen: u128;865  readonly feeFrozen: u128;866}867868/** @name PalletBalancesBalanceLock */869export interface PalletBalancesBalanceLock extends Struct {870  readonly id: U8aFixed;871  readonly amount: u128;872  readonly reasons: PalletBalancesReasons;873}874875/** @name PalletBalancesCall */876export interface PalletBalancesCall extends Enum {877  readonly isTransfer: boolean;878  readonly asTransfer: {879    readonly dest: MultiAddress;880    readonly value: Compact<u128>;881  } & Struct;882  readonly isSetBalance: boolean;883  readonly asSetBalance: {884    readonly who: MultiAddress;885    readonly newFree: Compact<u128>;886    readonly newReserved: Compact<u128>;887  } & Struct;888  readonly isForceTransfer: boolean;889  readonly asForceTransfer: {890    readonly source: MultiAddress;891    readonly dest: MultiAddress;892    readonly value: Compact<u128>;893  } & Struct;894  readonly isTransferKeepAlive: boolean;895  readonly asTransferKeepAlive: {896    readonly dest: MultiAddress;897    readonly value: Compact<u128>;898  } & Struct;899  readonly isTransferAll: boolean;900  readonly asTransferAll: {901    readonly dest: MultiAddress;902    readonly keepAlive: bool;903  } & Struct;904  readonly isForceUnreserve: boolean;905  readonly asForceUnreserve: {906    readonly who: MultiAddress;907    readonly amount: u128;908  } & Struct;909  readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';910}911912/** @name PalletBalancesError */913export interface PalletBalancesError extends Enum {914  readonly isVestingBalance: boolean;915  readonly isLiquidityRestrictions: boolean;916  readonly isInsufficientBalance: boolean;917  readonly isExistentialDeposit: boolean;918  readonly isKeepAlive: boolean;919  readonly isExistingVestingSchedule: boolean;920  readonly isDeadAccount: boolean;921  readonly isTooManyReserves: boolean;922  readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';923}924925/** @name PalletBalancesEvent */926export interface PalletBalancesEvent extends Enum {927  readonly isEndowed: boolean;928  readonly asEndowed: {929    readonly account: AccountId32;930    readonly freeBalance: u128;931  } & Struct;932  readonly isDustLost: boolean;933  readonly asDustLost: {934    readonly account: AccountId32;935    readonly amount: u128;936  } & Struct;937  readonly isTransfer: boolean;938  readonly asTransfer: {939    readonly from: AccountId32;940    readonly to: AccountId32;941    readonly amount: u128;942  } & Struct;943  readonly isBalanceSet: boolean;944  readonly asBalanceSet: {945    readonly who: AccountId32;946    readonly free: u128;947    readonly reserved: u128;948  } & Struct;949  readonly isReserved: boolean;950  readonly asReserved: {951    readonly who: AccountId32;952    readonly amount: u128;953  } & Struct;954  readonly isUnreserved: boolean;955  readonly asUnreserved: {956    readonly who: AccountId32;957    readonly amount: u128;958  } & Struct;959  readonly isReserveRepatriated: boolean;960  readonly asReserveRepatriated: {961    readonly from: AccountId32;962    readonly to: AccountId32;963    readonly amount: u128;964    readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;965  } & Struct;966  readonly isDeposit: boolean;967  readonly asDeposit: {968    readonly who: AccountId32;969    readonly amount: u128;970  } & Struct;971  readonly isWithdraw: boolean;972  readonly asWithdraw: {973    readonly who: AccountId32;974    readonly amount: u128;975  } & Struct;976  readonly isSlashed: boolean;977  readonly asSlashed: {978    readonly who: AccountId32;979    readonly amount: u128;980  } & Struct;981  readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';982}983984/** @name PalletBalancesReasons */985export interface PalletBalancesReasons extends Enum {986  readonly isFee: boolean;987  readonly isMisc: boolean;988  readonly isAll: boolean;989  readonly type: 'Fee' | 'Misc' | 'All';990}991992/** @name PalletBalancesReleases */993export interface PalletBalancesReleases extends Enum {994  readonly isV100: boolean;995  readonly isV200: boolean;996  readonly type: 'V100' | 'V200';997}998999/** @name PalletBalancesReserveData */1000export interface PalletBalancesReserveData extends Struct {1001  readonly id: U8aFixed;1002  readonly amount: u128;1003}10041005/** @name PalletCommonError */1006export interface PalletCommonError extends Enum {1007  readonly isCollectionNotFound: boolean;1008  readonly isMustBeTokenOwner: boolean;1009  readonly isNoPermission: boolean;1010  readonly isCantDestroyNotEmptyCollection: boolean;1011  readonly isPublicMintingNotAllowed: boolean;1012  readonly isAddressNotInAllowlist: boolean;1013  readonly isCollectionNameLimitExceeded: boolean;1014  readonly isCollectionDescriptionLimitExceeded: boolean;1015  readonly isCollectionTokenPrefixLimitExceeded: boolean;1016  readonly isTotalCollectionsLimitExceeded: boolean;1017  readonly isCollectionAdminCountExceeded: boolean;1018  readonly isCollectionLimitBoundsExceeded: boolean;1019  readonly isOwnerPermissionsCantBeReverted: boolean;1020  readonly isTransferNotAllowed: boolean;1021  readonly isAccountTokenLimitExceeded: boolean;1022  readonly isCollectionTokenLimitExceeded: boolean;1023  readonly isMetadataFlagFrozen: boolean;1024  readonly isTokenNotFound: boolean;1025  readonly isTokenValueTooLow: boolean;1026  readonly isApprovedValueTooLow: boolean;1027  readonly isCantApproveMoreThanOwned: boolean;1028  readonly isAddressIsZero: boolean;1029  readonly isUnsupportedOperation: boolean;1030  readonly isNotSufficientFounds: boolean;1031  readonly isUserIsNotAllowedToNest: boolean;1032  readonly isSourceCollectionIsNotAllowedToNest: boolean;1033  readonly isCollectionFieldSizeExceeded: boolean;1034  readonly isNoSpaceForProperty: boolean;1035  readonly isPropertyLimitReached: boolean;1036  readonly isPropertyKeyIsTooLong: boolean;1037  readonly isInvalidCharacterInPropertyKey: boolean;1038  readonly isEmptyPropertyKey: boolean;1039  readonly isCollectionIsExternal: boolean;1040  readonly isCollectionIsInternal: boolean;1041  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';1042}10431044/** @name PalletCommonEvent */1045export interface PalletCommonEvent extends Enum {1046  readonly isCollectionCreated: boolean;1047  readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1048  readonly isCollectionDestroyed: boolean;1049  readonly asCollectionDestroyed: u32;1050  readonly isItemCreated: boolean;1051  readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1052  readonly isItemDestroyed: boolean;1053  readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1054  readonly isTransfer: boolean;1055  readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1056  readonly isApproved: boolean;1057  readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1058  readonly isCollectionPropertySet: boolean;1059  readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1060  readonly isCollectionPropertyDeleted: boolean;1061  readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1062  readonly isTokenPropertySet: boolean;1063  readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1064  readonly isTokenPropertyDeleted: boolean;1065  readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1066  readonly isPropertyPermissionSet: boolean;1067  readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1068  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';1069}10701071/** @name PalletConfigurationCall */1072export interface PalletConfigurationCall extends Enum {1073  readonly isSetWeightToFeeCoefficientOverride: boolean;1074  readonly asSetWeightToFeeCoefficientOverride: {1075    readonly coeff: Option<u32>;1076  } & Struct;1077  readonly isSetMinGasPriceOverride: boolean;1078  readonly asSetMinGasPriceOverride: {1079    readonly coeff: Option<u64>;1080  } & Struct;1081  readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride';1082}10831084/** @name PalletEthereumCall */1085export interface PalletEthereumCall extends Enum {1086  readonly isTransact: boolean;1087  readonly asTransact: {1088    readonly transaction: EthereumTransactionTransactionV2;1089  } & Struct;1090  readonly type: 'Transact';1091}10921093/** @name PalletEthereumError */1094export interface PalletEthereumError extends Enum {1095  readonly isInvalidSignature: boolean;1096  readonly isPreLogExists: boolean;1097  readonly type: 'InvalidSignature' | 'PreLogExists';1098}10991100/** @name PalletEthereumEvent */1101export interface PalletEthereumEvent extends Enum {1102  readonly isExecuted: boolean;1103  readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;1104  readonly type: 'Executed';1105}11061107/** @name PalletEthereumFakeTransactionFinalizer */1108export interface PalletEthereumFakeTransactionFinalizer extends Null {}11091110/** @name PalletEthereumRawOrigin */1111export interface PalletEthereumRawOrigin extends Enum {1112  readonly isEthereumTransaction: boolean;1113  readonly asEthereumTransaction: H160;1114  readonly type: 'EthereumTransaction';1115}11161117/** @name PalletEvmAccountBasicCrossAccountIdRepr */1118export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1119  readonly isSubstrate: boolean;1120  readonly asSubstrate: AccountId32;1121  readonly isEthereum: boolean;1122  readonly asEthereum: H160;1123  readonly type: 'Substrate' | 'Ethereum';1124}11251126/** @name PalletEvmCall */1127export interface PalletEvmCall extends Enum {1128  readonly isWithdraw: boolean;1129  readonly asWithdraw: {1130    readonly address: H160;1131    readonly value: u128;1132  } & Struct;1133  readonly isCall: boolean;1134  readonly asCall: {1135    readonly source: H160;1136    readonly target: H160;1137    readonly input: Bytes;1138    readonly value: U256;1139    readonly gasLimit: u64;1140    readonly maxFeePerGas: U256;1141    readonly maxPriorityFeePerGas: Option<U256>;1142    readonly nonce: Option<U256>;1143    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1144  } & Struct;1145  readonly isCreate: boolean;1146  readonly asCreate: {1147    readonly source: H160;1148    readonly init: Bytes;1149    readonly value: U256;1150    readonly gasLimit: u64;1151    readonly maxFeePerGas: U256;1152    readonly maxPriorityFeePerGas: Option<U256>;1153    readonly nonce: Option<U256>;1154    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1155  } & Struct;1156  readonly isCreate2: boolean;1157  readonly asCreate2: {1158    readonly source: H160;1159    readonly init: Bytes;1160    readonly salt: H256;1161    readonly value: U256;1162    readonly gasLimit: u64;1163    readonly maxFeePerGas: U256;1164    readonly maxPriorityFeePerGas: Option<U256>;1165    readonly nonce: Option<U256>;1166    readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1167  } & Struct;1168  readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1169}11701171/** @name PalletEvmCoderSubstrateError */1172export interface PalletEvmCoderSubstrateError extends Enum {1173  readonly isOutOfGas: boolean;1174  readonly isOutOfFund: boolean;1175  readonly type: 'OutOfGas' | 'OutOfFund';1176}11771178/** @name PalletEvmContractHelpersError */1179export interface PalletEvmContractHelpersError extends Enum {1180  readonly isNoPermission: boolean;1181  readonly isNoPendingSponsor: boolean;1182  readonly type: 'NoPermission' | 'NoPendingSponsor';1183}11841185/** @name PalletEvmContractHelpersSponsoringModeT */1186export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1187  readonly isDisabled: boolean;1188  readonly isAllowlisted: boolean;1189  readonly isGenerous: boolean;1190  readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1191}11921193/** @name PalletEvmError */1194export interface PalletEvmError extends Enum {1195  readonly isBalanceLow: boolean;1196  readonly isFeeOverflow: boolean;1197  readonly isPaymentOverflow: boolean;1198  readonly isWithdrawFailed: boolean;1199  readonly isGasPriceTooLow: boolean;1200  readonly isInvalidNonce: boolean;1201  readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1202}12031204/** @name PalletEvmEvent */1205export interface PalletEvmEvent extends Enum {1206  readonly isLog: boolean;1207  readonly asLog: EthereumLog;1208  readonly isCreated: boolean;1209  readonly asCreated: H160;1210  readonly isCreatedFailed: boolean;1211  readonly asCreatedFailed: H160;1212  readonly isExecuted: boolean;1213  readonly asExecuted: H160;1214  readonly isExecutedFailed: boolean;1215  readonly asExecutedFailed: H160;1216  readonly isBalanceDeposit: boolean;1217  readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1218  readonly isBalanceWithdraw: boolean;1219  readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1220  readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1221}12221223/** @name PalletEvmMigrationCall */1224export interface PalletEvmMigrationCall extends Enum {1225  readonly isBegin: boolean;1226  readonly asBegin: {1227    readonly address: H160;1228  } & Struct;1229  readonly isSetData: boolean;1230  readonly asSetData: {1231    readonly address: H160;1232    readonly data: Vec<ITuple<[H256, H256]>>;1233  } & Struct;1234  readonly isFinish: boolean;1235  readonly asFinish: {1236    readonly address: H160;1237    readonly code: Bytes;1238  } & Struct;1239  readonly type: 'Begin' | 'SetData' | 'Finish';1240}12411242/** @name PalletEvmMigrationError */1243export interface PalletEvmMigrationError extends Enum {1244  readonly isAccountNotEmpty: boolean;1245  readonly isAccountIsNotMigrating: boolean;1246  readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1247}12481249/** @name PalletFungibleError */1250export interface PalletFungibleError extends Enum {1251  readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1252  readonly isFungibleItemsHaveNoId: boolean;1253  readonly isFungibleItemsDontHaveData: boolean;1254  readonly isFungibleDisallowsNesting: boolean;1255  readonly isSettingPropertiesNotAllowed: boolean;1256  readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1257}12581259/** @name PalletInflationCall */1260export interface PalletInflationCall extends Enum {1261  readonly isStartInflation: boolean;1262  readonly asStartInflation: {1263    readonly inflationStartRelayBlock: u32;1264  } & Struct;1265  readonly type: 'StartInflation';1266}12671268/** @name PalletNonfungibleError */1269export interface PalletNonfungibleError extends Enum {1270  readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1271  readonly isNonfungibleItemsHaveNoAmount: boolean;1272  readonly isCantBurnNftWithChildren: boolean;1273  readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';1274}12751276/** @name PalletNonfungibleItemData */1277export interface PalletNonfungibleItemData extends Struct {1278  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1279}12801281/** @name PalletRefungibleError */1282export interface PalletRefungibleError extends Enum {1283  readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1284  readonly isWrongRefungiblePieces: boolean;1285  readonly isRepartitionWhileNotOwningAllPieces: boolean;1286  readonly isRefungibleDisallowsNesting: boolean;1287  readonly isSettingPropertiesNotAllowed: boolean;1288  readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1289}12901291/** @name PalletRefungibleItemData */1292export interface PalletRefungibleItemData extends Struct {1293  readonly constData: Bytes;1294}12951296/** @name PalletRmrkCoreCall */1297export interface PalletRmrkCoreCall extends Enum {1298  readonly isCreateCollection: boolean;1299  readonly asCreateCollection: {1300    readonly metadata: Bytes;1301    readonly max: Option<u32>;1302    readonly symbol: Bytes;1303  } & Struct;1304  readonly isDestroyCollection: boolean;1305  readonly asDestroyCollection: {1306    readonly collectionId: u32;1307  } & Struct;1308  readonly isChangeCollectionIssuer: boolean;1309  readonly asChangeCollectionIssuer: {1310    readonly collectionId: u32;1311    readonly newIssuer: MultiAddress;1312  } & Struct;1313  readonly isLockCollection: boolean;1314  readonly asLockCollection: {1315    readonly collectionId: u32;1316  } & Struct;1317  readonly isMintNft: boolean;1318  readonly asMintNft: {1319    readonly owner: Option<AccountId32>;1320    readonly collectionId: u32;1321    readonly recipient: Option<AccountId32>;1322    readonly royaltyAmount: Option<Permill>;1323    readonly metadata: Bytes;1324    readonly transferable: bool;1325    readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;1326  } & Struct;1327  readonly isBurnNft: boolean;1328  readonly asBurnNft: {1329    readonly collectionId: u32;1330    readonly nftId: u32;1331    readonly maxBurns: u32;1332  } & Struct;1333  readonly isSend: boolean;1334  readonly asSend: {1335    readonly rmrkCollectionId: u32;1336    readonly rmrkNftId: u32;1337    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1338  } & Struct;1339  readonly isAcceptNft: boolean;1340  readonly asAcceptNft: {1341    readonly rmrkCollectionId: u32;1342    readonly rmrkNftId: u32;1343    readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;1344  } & Struct;1345  readonly isRejectNft: boolean;1346  readonly asRejectNft: {1347    readonly rmrkCollectionId: u32;1348    readonly rmrkNftId: u32;1349  } & Struct;1350  readonly isAcceptResource: boolean;1351  readonly asAcceptResource: {1352    readonly rmrkCollectionId: u32;1353    readonly rmrkNftId: u32;1354    readonly resourceId: u32;1355  } & Struct;1356  readonly isAcceptResourceRemoval: boolean;1357  readonly asAcceptResourceRemoval: {1358    readonly rmrkCollectionId: u32;1359    readonly rmrkNftId: u32;1360    readonly resourceId: u32;1361  } & Struct;1362  readonly isSetProperty: boolean;1363  readonly asSetProperty: {1364    readonly rmrkCollectionId: Compact<u32>;1365    readonly maybeNftId: Option<u32>;1366    readonly key: Bytes;1367    readonly value: Bytes;1368  } & Struct;1369  readonly isSetPriority: boolean;1370  readonly asSetPriority: {1371    readonly rmrkCollectionId: u32;1372    readonly rmrkNftId: u32;1373    readonly priorities: Vec<u32>;1374  } & Struct;1375  readonly isAddBasicResource: boolean;1376  readonly asAddBasicResource: {1377    readonly rmrkCollectionId: u32;1378    readonly nftId: u32;1379    readonly resource: RmrkTraitsResourceBasicResource;1380  } & Struct;1381  readonly isAddComposableResource: boolean;1382  readonly asAddComposableResource: {1383    readonly rmrkCollectionId: u32;1384    readonly nftId: u32;1385    readonly resource: RmrkTraitsResourceComposableResource;1386  } & Struct;1387  readonly isAddSlotResource: boolean;1388  readonly asAddSlotResource: {1389    readonly rmrkCollectionId: u32;1390    readonly nftId: u32;1391    readonly resource: RmrkTraitsResourceSlotResource;1392  } & Struct;1393  readonly isRemoveResource: boolean;1394  readonly asRemoveResource: {1395    readonly rmrkCollectionId: u32;1396    readonly nftId: u32;1397    readonly resourceId: u32;1398  } & Struct;1399  readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';1400}14011402/** @name PalletRmrkCoreError */1403export interface PalletRmrkCoreError extends Enum {1404  readonly isCorruptedCollectionType: boolean;1405  readonly isRmrkPropertyKeyIsTooLong: boolean;1406  readonly isRmrkPropertyValueIsTooLong: boolean;1407  readonly isRmrkPropertyIsNotFound: boolean;1408  readonly isUnableToDecodeRmrkData: boolean;1409  readonly isCollectionNotEmpty: boolean;1410  readonly isNoAvailableCollectionId: boolean;1411  readonly isNoAvailableNftId: boolean;1412  readonly isCollectionUnknown: boolean;1413  readonly isNoPermission: boolean;1414  readonly isNonTransferable: boolean;1415  readonly isCollectionFullOrLocked: boolean;1416  readonly isResourceDoesntExist: boolean;1417  readonly isCannotSendToDescendentOrSelf: boolean;1418  readonly isCannotAcceptNonOwnedNft: boolean;1419  readonly isCannotRejectNonOwnedNft: boolean;1420  readonly isCannotRejectNonPendingNft: boolean;1421  readonly isResourceNotPending: boolean;1422  readonly isNoAvailableResourceId: boolean;1423  readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';1424}14251426/** @name PalletRmrkCoreEvent */1427export interface PalletRmrkCoreEvent extends Enum {1428  readonly isCollectionCreated: boolean;1429  readonly asCollectionCreated: {1430    readonly issuer: AccountId32;1431    readonly collectionId: u32;1432  } & Struct;1433  readonly isCollectionDestroyed: boolean;1434  readonly asCollectionDestroyed: {1435    readonly issuer: AccountId32;1436    readonly collectionId: u32;1437  } & Struct;1438  readonly isIssuerChanged: boolean;1439  readonly asIssuerChanged: {1440    readonly oldIssuer: AccountId32;1441    readonly newIssuer: AccountId32;1442    readonly collectionId: u32;1443  } & Struct;1444  readonly isCollectionLocked: boolean;1445  readonly asCollectionLocked: {1446    readonly issuer: AccountId32;1447    readonly collectionId: u32;1448  } & Struct;1449  readonly isNftMinted: boolean;1450  readonly asNftMinted: {1451    readonly owner: AccountId32;1452    readonly collectionId: u32;1453    readonly nftId: u32;1454  } & Struct;1455  readonly isNftBurned: boolean;1456  readonly asNftBurned: {1457    readonly owner: AccountId32;1458    readonly nftId: u32;1459  } & Struct;1460  readonly isNftSent: boolean;1461  readonly asNftSent: {1462    readonly sender: AccountId32;1463    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1464    readonly collectionId: u32;1465    readonly nftId: u32;1466    readonly approvalRequired: bool;1467  } & Struct;1468  readonly isNftAccepted: boolean;1469  readonly asNftAccepted: {1470    readonly sender: AccountId32;1471    readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1472    readonly collectionId: u32;1473    readonly nftId: u32;1474  } & Struct;1475  readonly isNftRejected: boolean;1476  readonly asNftRejected: {1477    readonly sender: AccountId32;1478    readonly collectionId: u32;1479    readonly nftId: u32;1480  } & Struct;1481  readonly isPropertySet: boolean;1482  readonly asPropertySet: {1483    readonly collectionId: u32;1484    readonly maybeNftId: Option<u32>;1485    readonly key: Bytes;1486    readonly value: Bytes;1487  } & Struct;1488  readonly isResourceAdded: boolean;1489  readonly asResourceAdded: {1490    readonly nftId: u32;1491    readonly resourceId: u32;1492  } & Struct;1493  readonly isResourceRemoval: boolean;1494  readonly asResourceRemoval: {1495    readonly nftId: u32;1496    readonly resourceId: u32;1497  } & Struct;1498  readonly isResourceAccepted: boolean;1499  readonly asResourceAccepted: {1500    readonly nftId: u32;1501    readonly resourceId: u32;1502  } & Struct;1503  readonly isResourceRemovalAccepted: boolean;1504  readonly asResourceRemovalAccepted: {1505    readonly nftId: u32;1506    readonly resourceId: u32;1507  } & Struct;1508  readonly isPrioritySet: boolean;1509  readonly asPrioritySet: {1510    readonly collectionId: u32;1511    readonly nftId: u32;1512  } & Struct;1513  readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1514}15151516/** @name PalletRmrkEquipCall */1517export interface PalletRmrkEquipCall extends Enum {1518  readonly isCreateBase: boolean;1519  readonly asCreateBase: {1520    readonly baseType: Bytes;1521    readonly symbol: Bytes;1522    readonly parts: Vec<RmrkTraitsPartPartType>;1523  } & Struct;1524  readonly isThemeAdd: boolean;1525  readonly asThemeAdd: {1526    readonly baseId: u32;1527    readonly theme: RmrkTraitsTheme;1528  } & Struct;1529  readonly isEquippable: boolean;1530  readonly asEquippable: {1531    readonly baseId: u32;1532    readonly slotId: u32;1533    readonly equippables: RmrkTraitsPartEquippableList;1534  } & Struct;1535  readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';1536}15371538/** @name PalletRmrkEquipError */1539export interface PalletRmrkEquipError extends Enum {1540  readonly isPermissionError: boolean;1541  readonly isNoAvailableBaseId: boolean;1542  readonly isNoAvailablePartId: boolean;1543  readonly isBaseDoesntExist: boolean;1544  readonly isNeedsDefaultThemeFirst: boolean;1545  readonly isPartDoesntExist: boolean;1546  readonly isNoEquippableOnFixedPart: boolean;1547  readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';1548}15491550/** @name PalletRmrkEquipEvent */1551export interface PalletRmrkEquipEvent extends Enum {1552  readonly isBaseCreated: boolean;1553  readonly asBaseCreated: {1554    readonly issuer: AccountId32;1555    readonly baseId: u32;1556  } & Struct;1557  readonly isEquippablesUpdated: boolean;1558  readonly asEquippablesUpdated: {1559    readonly baseId: u32;1560    readonly slotId: u32;1561  } & Struct;1562  readonly type: 'BaseCreated' | 'EquippablesUpdated';1563}15641565/** @name PalletStructureCall */1566export interface PalletStructureCall extends Null {}15671568/** @name PalletStructureError */1569export interface PalletStructureError extends Enum {1570  readonly isOuroborosDetected: boolean;1571  readonly isDepthLimit: boolean;1572  readonly isBreadthLimit: boolean;1573  readonly isTokenNotFound: boolean;1574  readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';1575}15761577/** @name PalletStructureEvent */1578export interface PalletStructureEvent extends Enum {1579  readonly isExecuted: boolean;1580  readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1581  readonly type: 'Executed';1582}15831584/** @name PalletSudoCall */1585export interface PalletSudoCall extends Enum {1586  readonly isSudo: boolean;1587  readonly asSudo: {1588    readonly call: Call;1589  } & Struct;1590  readonly isSudoUncheckedWeight: boolean;1591  readonly asSudoUncheckedWeight: {1592    readonly call: Call;1593    readonly weight: u64;1594  } & Struct;1595  readonly isSetKey: boolean;1596  readonly asSetKey: {1597    readonly new_: MultiAddress;1598  } & Struct;1599  readonly isSudoAs: boolean;1600  readonly asSudoAs: {1601    readonly who: MultiAddress;1602    readonly call: Call;1603  } & Struct;1604  readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1605}16061607/** @name PalletSudoError */1608export interface PalletSudoError extends Enum {1609  readonly isRequireSudo: boolean;1610  readonly type: 'RequireSudo';1611}16121613/** @name PalletSudoEvent */1614export interface PalletSudoEvent extends Enum {1615  readonly isSudid: boolean;1616  readonly asSudid: {1617    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1618  } & Struct;1619  readonly isKeyChanged: boolean;1620  readonly asKeyChanged: {1621    readonly oldSudoer: Option<AccountId32>;1622  } & Struct;1623  readonly isSudoAsDone: boolean;1624  readonly asSudoAsDone: {1625    readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1626  } & Struct;1627  readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1628}16291630/** @name PalletTemplateTransactionPaymentCall */1631export interface PalletTemplateTransactionPaymentCall extends Null {}16321633/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1634export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}16351636/** @name PalletTimestampCall */1637export interface PalletTimestampCall extends Enum {1638  readonly isSet: boolean;1639  readonly asSet: {1640    readonly now: Compact<u64>;1641  } & Struct;1642  readonly type: 'Set';1643}16441645/** @name PalletTransactionPaymentEvent */1646export interface PalletTransactionPaymentEvent extends Enum {1647  readonly isTransactionFeePaid: boolean;1648  readonly asTransactionFeePaid: {1649    readonly who: AccountId32;1650    readonly actualFee: u128;1651    readonly tip: u128;1652  } & Struct;1653  readonly type: 'TransactionFeePaid';1654}16551656/** @name PalletTransactionPaymentReleases */1657export interface PalletTransactionPaymentReleases extends Enum {1658  readonly isV1Ancient: boolean;1659  readonly isV2: boolean;1660  readonly type: 'V1Ancient' | 'V2';1661}16621663/** @name PalletTreasuryCall */1664export interface PalletTreasuryCall extends Enum {1665  readonly isProposeSpend: boolean;1666  readonly asProposeSpend: {1667    readonly value: Compact<u128>;1668    readonly beneficiary: MultiAddress;1669  } & Struct;1670  readonly isRejectProposal: boolean;1671  readonly asRejectProposal: {1672    readonly proposalId: Compact<u32>;1673  } & Struct;1674  readonly isApproveProposal: boolean;1675  readonly asApproveProposal: {1676    readonly proposalId: Compact<u32>;1677  } & Struct;1678  readonly isSpend: boolean;1679  readonly asSpend: {1680    readonly amount: Compact<u128>;1681    readonly beneficiary: MultiAddress;1682  } & Struct;1683  readonly isRemoveApproval: boolean;1684  readonly asRemoveApproval: {1685    readonly proposalId: Compact<u32>;1686  } & Struct;1687  readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1688}16891690/** @name PalletTreasuryError */1691export interface PalletTreasuryError extends Enum {1692  readonly isInsufficientProposersBalance: boolean;1693  readonly isInvalidIndex: boolean;1694  readonly isTooManyApprovals: boolean;1695  readonly isInsufficientPermission: boolean;1696  readonly isProposalNotApproved: boolean;1697  readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1698}16991700/** @name PalletTreasuryEvent */1701export interface PalletTreasuryEvent extends Enum {1702  readonly isProposed: boolean;1703  readonly asProposed: {1704    readonly proposalIndex: u32;1705  } & Struct;1706  readonly isSpending: boolean;1707  readonly asSpending: {1708    readonly budgetRemaining: u128;1709  } & Struct;1710  readonly isAwarded: boolean;1711  readonly asAwarded: {1712    readonly proposalIndex: u32;1713    readonly award: u128;1714    readonly account: AccountId32;1715  } & Struct;1716  readonly isRejected: boolean;1717  readonly asRejected: {1718    readonly proposalIndex: u32;1719    readonly slashed: u128;1720  } & Struct;1721  readonly isBurnt: boolean;1722  readonly asBurnt: {1723    readonly burntFunds: u128;1724  } & Struct;1725  readonly isRollover: boolean;1726  readonly asRollover: {1727    readonly rolloverBalance: u128;1728  } & Struct;1729  readonly isDeposit: boolean;1730  readonly asDeposit: {1731    readonly value: u128;1732  } & Struct;1733  readonly isSpendApproved: boolean;1734  readonly asSpendApproved: {1735    readonly proposalIndex: u32;1736    readonly amount: u128;1737    readonly beneficiary: AccountId32;1738  } & Struct;1739  readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';1740}17411742/** @name PalletTreasuryProposal */1743export interface PalletTreasuryProposal extends Struct {1744  readonly proposer: AccountId32;1745  readonly value: u128;1746  readonly beneficiary: AccountId32;1747  readonly bond: u128;1748}17491750/** @name PalletUniqueCall */1751export interface PalletUniqueCall extends Enum {1752  readonly isCreateCollection: boolean;1753  readonly asCreateCollection: {1754    readonly collectionName: Vec<u16>;1755    readonly collectionDescription: Vec<u16>;1756    readonly tokenPrefix: Bytes;1757    readonly mode: UpDataStructsCollectionMode;1758  } & Struct;1759  readonly isCreateCollectionEx: boolean;1760  readonly asCreateCollectionEx: {1761    readonly data: UpDataStructsCreateCollectionData;1762  } & Struct;1763  readonly isDestroyCollection: boolean;1764  readonly asDestroyCollection: {1765    readonly collectionId: u32;1766  } & Struct;1767  readonly isAddToAllowList: boolean;1768  readonly asAddToAllowList: {1769    readonly collectionId: u32;1770    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1771  } & Struct;1772  readonly isRemoveFromAllowList: boolean;1773  readonly asRemoveFromAllowList: {1774    readonly collectionId: u32;1775    readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1776  } & Struct;1777  readonly isChangeCollectionOwner: boolean;1778  readonly asChangeCollectionOwner: {1779    readonly collectionId: u32;1780    readonly newOwner: AccountId32;1781  } & Struct;1782  readonly isAddCollectionAdmin: boolean;1783  readonly asAddCollectionAdmin: {1784    readonly collectionId: u32;1785    readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1786  } & Struct;1787  readonly isRemoveCollectionAdmin: boolean;1788  readonly asRemoveCollectionAdmin: {1789    readonly collectionId: u32;1790    readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1791  } & Struct;1792  readonly isSetCollectionSponsor: boolean;1793  readonly asSetCollectionSponsor: {1794    readonly collectionId: u32;1795    readonly newSponsor: AccountId32;1796  } & Struct;1797  readonly isConfirmSponsorship: boolean;1798  readonly asConfirmSponsorship: {1799    readonly collectionId: u32;1800  } & Struct;1801  readonly isRemoveCollectionSponsor: boolean;1802  readonly asRemoveCollectionSponsor: {1803    readonly collectionId: u32;1804  } & Struct;1805  readonly isCreateItem: boolean;1806  readonly asCreateItem: {1807    readonly collectionId: u32;1808    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1809    readonly data: UpDataStructsCreateItemData;1810  } & Struct;1811  readonly isCreateMultipleItems: boolean;1812  readonly asCreateMultipleItems: {1813    readonly collectionId: u32;1814    readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1815    readonly itemsData: Vec<UpDataStructsCreateItemData>;1816  } & Struct;1817  readonly isSetCollectionProperties: boolean;1818  readonly asSetCollectionProperties: {1819    readonly collectionId: u32;1820    readonly properties: Vec<UpDataStructsProperty>;1821  } & Struct;1822  readonly isDeleteCollectionProperties: boolean;1823  readonly asDeleteCollectionProperties: {1824    readonly collectionId: u32;1825    readonly propertyKeys: Vec<Bytes>;1826  } & Struct;1827  readonly isSetTokenProperties: boolean;1828  readonly asSetTokenProperties: {1829    readonly collectionId: u32;1830    readonly tokenId: u32;1831    readonly properties: Vec<UpDataStructsProperty>;1832  } & Struct;1833  readonly isDeleteTokenProperties: boolean;1834  readonly asDeleteTokenProperties: {1835    readonly collectionId: u32;1836    readonly tokenId: u32;1837    readonly propertyKeys: Vec<Bytes>;1838  } & Struct;1839  readonly isSetTokenPropertyPermissions: boolean;1840  readonly asSetTokenPropertyPermissions: {1841    readonly collectionId: u32;1842    readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1843  } & Struct;1844  readonly isCreateMultipleItemsEx: boolean;1845  readonly asCreateMultipleItemsEx: {1846    readonly collectionId: u32;1847    readonly data: UpDataStructsCreateItemExData;1848  } & Struct;1849  readonly isSetTransfersEnabledFlag: boolean;1850  readonly asSetTransfersEnabledFlag: {1851    readonly collectionId: u32;1852    readonly value: bool;1853  } & Struct;1854  readonly isBurnItem: boolean;1855  readonly asBurnItem: {1856    readonly collectionId: u32;1857    readonly itemId: u32;1858    readonly value: u128;1859  } & Struct;1860  readonly isBurnFrom: boolean;1861  readonly asBurnFrom: {1862    readonly collectionId: u32;1863    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1864    readonly itemId: u32;1865    readonly value: u128;1866  } & Struct;1867  readonly isTransfer: boolean;1868  readonly asTransfer: {1869    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1870    readonly collectionId: u32;1871    readonly itemId: u32;1872    readonly value: u128;1873  } & Struct;1874  readonly isApprove: boolean;1875  readonly asApprove: {1876    readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1877    readonly collectionId: u32;1878    readonly itemId: u32;1879    readonly amount: u128;1880  } & Struct;1881  readonly isTransferFrom: boolean;1882  readonly asTransferFrom: {1883    readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1884    readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1885    readonly collectionId: u32;1886    readonly itemId: u32;1887    readonly value: u128;1888  } & Struct;1889  readonly isSetCollectionLimits: boolean;1890  readonly asSetCollectionLimits: {1891    readonly collectionId: u32;1892    readonly newLimit: UpDataStructsCollectionLimits;1893  } & Struct;1894  readonly isSetCollectionPermissions: boolean;1895  readonly asSetCollectionPermissions: {1896    readonly collectionId: u32;1897    readonly newPermission: UpDataStructsCollectionPermissions;1898  } & Struct;1899  readonly isRepartition: boolean;1900  readonly asRepartition: {1901    readonly collectionId: u32;1902    readonly tokenId: u32;1903    readonly amount: u128;1904  } & Struct;1905  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';1906}19071908/** @name PalletUniqueError */1909export interface PalletUniqueError extends Enum {1910  readonly isCollectionDecimalPointLimitExceeded: boolean;1911  readonly isConfirmUnsetSponsorFail: boolean;1912  readonly isEmptyArgument: boolean;1913  readonly isRepartitionCalledOnNonRefungibleCollection: boolean;1914  readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';1915}19161917/** @name PalletUniqueRawEvent */1918export interface PalletUniqueRawEvent extends Enum {1919  readonly isCollectionSponsorRemoved: boolean;1920  readonly asCollectionSponsorRemoved: u32;1921  readonly isCollectionAdminAdded: boolean;1922  readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1923  readonly isCollectionOwnedChanged: boolean;1924  readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1925  readonly isCollectionSponsorSet: boolean;1926  readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1927  readonly isSponsorshipConfirmed: boolean;1928  readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1929  readonly isCollectionAdminRemoved: boolean;1930  readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1931  readonly isAllowListAddressRemoved: boolean;1932  readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1933  readonly isAllowListAddressAdded: boolean;1934  readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1935  readonly isCollectionLimitSet: boolean;1936  readonly asCollectionLimitSet: u32;1937  readonly isCollectionPermissionSet: boolean;1938  readonly asCollectionPermissionSet: u32;1939  readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet';1940}19411942/** @name PalletUniqueSchedulerCall */1943export interface PalletUniqueSchedulerCall extends Enum {1944  readonly isScheduleNamed: boolean;1945  readonly asScheduleNamed: {1946    readonly id: U8aFixed;1947    readonly when: u32;1948    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;1949    readonly priority: u8;1950    readonly call: FrameSupportScheduleMaybeHashed;1951  } & Struct;1952  readonly isCancelNamed: boolean;1953  readonly asCancelNamed: {1954    readonly id: U8aFixed;1955  } & Struct;1956  readonly isScheduleNamedAfter: boolean;1957  readonly asScheduleNamedAfter: {1958    readonly id: U8aFixed;1959    readonly after: u32;1960    readonly maybePeriodic: Option<ITuple<[u32, u32]>>;1961    readonly priority: u8;1962    readonly call: FrameSupportScheduleMaybeHashed;1963  } & Struct;1964  readonly type: 'ScheduleNamed' | 'CancelNamed' | 'ScheduleNamedAfter';1965}19661967/** @name PalletUniqueSchedulerError */1968export interface PalletUniqueSchedulerError extends Enum {1969  readonly isFailedToSchedule: boolean;1970  readonly isNotFound: boolean;1971  readonly isTargetBlockNumberInPast: boolean;1972  readonly isRescheduleNoChange: boolean;1973  readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange';1974}19751976/** @name PalletUniqueSchedulerEvent */1977export interface PalletUniqueSchedulerEvent extends Enum {1978  readonly isScheduled: boolean;1979  readonly asScheduled: {1980    readonly when: u32;1981    readonly index: u32;1982  } & Struct;1983  readonly isCanceled: boolean;1984  readonly asCanceled: {1985    readonly when: u32;1986    readonly index: u32;1987  } & Struct;1988  readonly isDispatched: boolean;1989  readonly asDispatched: {1990    readonly task: ITuple<[u32, u32]>;1991    readonly id: Option<U8aFixed>;1992    readonly result: Result<Null, SpRuntimeDispatchError>;1993  } & Struct;1994  readonly isCallLookupFailed: boolean;1995  readonly asCallLookupFailed: {1996    readonly task: ITuple<[u32, u32]>;1997    readonly id: Option<U8aFixed>;1998    readonly error: FrameSupportScheduleLookupError;1999  } & Struct;2000  readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed';2001}20022003/** @name PalletUniqueSchedulerScheduledV3 */2004export interface PalletUniqueSchedulerScheduledV3 extends Struct {2005  readonly maybeId: Option<U8aFixed>;2006  readonly priority: u8;2007  readonly call: FrameSupportScheduleMaybeHashed;2008  readonly maybePeriodic: Option<ITuple<[u32, u32]>>;2009  readonly origin: OpalRuntimeOriginCaller;2010}20112012/** @name PalletXcmCall */2013export interface PalletXcmCall extends Enum {2014  readonly isSend: boolean;2015  readonly asSend: {2016    readonly dest: XcmVersionedMultiLocation;2017    readonly message: XcmVersionedXcm;2018  } & Struct;2019  readonly isTeleportAssets: boolean;2020  readonly asTeleportAssets: {2021    readonly dest: XcmVersionedMultiLocation;2022    readonly beneficiary: XcmVersionedMultiLocation;2023    readonly assets: XcmVersionedMultiAssets;2024    readonly feeAssetItem: u32;2025  } & Struct;2026  readonly isReserveTransferAssets: boolean;2027  readonly asReserveTransferAssets: {2028    readonly dest: XcmVersionedMultiLocation;2029    readonly beneficiary: XcmVersionedMultiLocation;2030    readonly assets: XcmVersionedMultiAssets;2031    readonly feeAssetItem: u32;2032  } & Struct;2033  readonly isExecute: boolean;2034  readonly asExecute: {2035    readonly message: XcmVersionedXcm;2036    readonly maxWeight: u64;2037  } & Struct;2038  readonly isForceXcmVersion: boolean;2039  readonly asForceXcmVersion: {2040    readonly location: XcmV1MultiLocation;2041    readonly xcmVersion: u32;2042  } & Struct;2043  readonly isForceDefaultXcmVersion: boolean;2044  readonly asForceDefaultXcmVersion: {2045    readonly maybeXcmVersion: Option<u32>;2046  } & Struct;2047  readonly isForceSubscribeVersionNotify: boolean;2048  readonly asForceSubscribeVersionNotify: {2049    readonly location: XcmVersionedMultiLocation;2050  } & Struct;2051  readonly isForceUnsubscribeVersionNotify: boolean;2052  readonly asForceUnsubscribeVersionNotify: {2053    readonly location: XcmVersionedMultiLocation;2054  } & Struct;2055  readonly isLimitedReserveTransferAssets: boolean;2056  readonly asLimitedReserveTransferAssets: {2057    readonly dest: XcmVersionedMultiLocation;2058    readonly beneficiary: XcmVersionedMultiLocation;2059    readonly assets: XcmVersionedMultiAssets;2060    readonly feeAssetItem: u32;2061    readonly weightLimit: XcmV2WeightLimit;2062  } & Struct;2063  readonly isLimitedTeleportAssets: boolean;2064  readonly asLimitedTeleportAssets: {2065    readonly dest: XcmVersionedMultiLocation;2066    readonly beneficiary: XcmVersionedMultiLocation;2067    readonly assets: XcmVersionedMultiAssets;2068    readonly feeAssetItem: u32;2069    readonly weightLimit: XcmV2WeightLimit;2070  } & Struct;2071  readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2072}20732074/** @name PalletXcmError */2075export interface PalletXcmError extends Enum {2076  readonly isUnreachable: boolean;2077  readonly isSendFailure: boolean;2078  readonly isFiltered: boolean;2079  readonly isUnweighableMessage: boolean;2080  readonly isDestinationNotInvertible: boolean;2081  readonly isEmpty: boolean;2082  readonly isCannotReanchor: boolean;2083  readonly isTooManyAssets: boolean;2084  readonly isInvalidOrigin: boolean;2085  readonly isBadVersion: boolean;2086  readonly isBadLocation: boolean;2087  readonly isNoSubscription: boolean;2088  readonly isAlreadySubscribed: boolean;2089  readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';2090}20912092/** @name PalletXcmEvent */2093export interface PalletXcmEvent extends Enum {2094  readonly isAttempted: boolean;2095  readonly asAttempted: XcmV2TraitsOutcome;2096  readonly isSent: boolean;2097  readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;2098  readonly isUnexpectedResponse: boolean;2099  readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;2100  readonly isResponseReady: boolean;2101  readonly asResponseReady: ITuple<[u64, XcmV2Response]>;2102  readonly isNotified: boolean;2103  readonly asNotified: ITuple<[u64, u8, u8]>;2104  readonly isNotifyOverweight: boolean;2105  readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;2106  readonly isNotifyDispatchError: boolean;2107  readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;2108  readonly isNotifyDecodeFailed: boolean;2109  readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;2110  readonly isInvalidResponder: boolean;2111  readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;2112  readonly isInvalidResponderVersion: boolean;2113  readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;2114  readonly isResponseTaken: boolean;2115  readonly asResponseTaken: u64;2116  readonly isAssetsTrapped: boolean;2117  readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;2118  readonly isVersionChangeNotified: boolean;2119  readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;2120  readonly isSupportedVersionChanged: boolean;2121  readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;2122  readonly isNotifyTargetSendFail: boolean;2123  readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;2124  readonly isNotifyTargetMigrationFail: boolean;2125  readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;2126  readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';2127}21282129/** @name PalletXcmOrigin */2130export interface PalletXcmOrigin extends Enum {2131  readonly isXcm: boolean;2132  readonly asXcm: XcmV1MultiLocation;2133  readonly isResponse: boolean;2134  readonly asResponse: XcmV1MultiLocation;2135  readonly type: 'Xcm' | 'Response';2136}21372138/** @name PhantomTypeUpDataStructs */2139export interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild]>> {}21402141/** @name PolkadotCorePrimitivesInboundDownwardMessage */2142export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {2143  readonly sentAt: u32;2144  readonly msg: Bytes;2145}21462147/** @name PolkadotCorePrimitivesInboundHrmpMessage */2148export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {2149  readonly sentAt: u32;2150  readonly data: Bytes;2151}21522153/** @name PolkadotCorePrimitivesOutboundHrmpMessage */2154export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {2155  readonly recipient: u32;2156  readonly data: Bytes;2157}21582159/** @name PolkadotParachainPrimitivesXcmpMessageFormat */2160export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {2161  readonly isConcatenatedVersionedXcm: boolean;2162  readonly isConcatenatedEncodedBlob: boolean;2163  readonly isSignals: boolean;2164  readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';2165}21662167/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */2168export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {2169  readonly maxCodeSize: u32;2170  readonly maxHeadDataSize: u32;2171  readonly maxUpwardQueueCount: u32;2172  readonly maxUpwardQueueSize: u32;2173  readonly maxUpwardMessageSize: u32;2174  readonly maxUpwardMessageNumPerCandidate: u32;2175  readonly hrmpMaxMessageNumPerCandidate: u32;2176  readonly validationUpgradeCooldown: u32;2177  readonly validationUpgradeDelay: u32;2178}21792180/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */2181export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {2182  readonly maxCapacity: u32;2183  readonly maxTotalSize: u32;2184  readonly maxMessageSize: u32;2185  readonly msgCount: u32;2186  readonly totalSize: u32;2187  readonly mqcHead: Option<H256>;2188}21892190/** @name PolkadotPrimitivesV2PersistedValidationData */2191export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {2192  readonly parentHead: Bytes;2193  readonly relayParentNumber: u32;2194  readonly relayParentStorageRoot: H256;2195  readonly maxPovSize: u32;2196}21972198/** @name PolkadotPrimitivesV2UpgradeRestriction */2199export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {2200  readonly isPresent: boolean;2201  readonly type: 'Present';2202}22032204/** @name RmrkTraitsBaseBaseInfo */2205export interface RmrkTraitsBaseBaseInfo extends Struct {2206  readonly issuer: AccountId32;2207  readonly baseType: Bytes;2208  readonly symbol: Bytes;2209}22102211/** @name RmrkTraitsCollectionCollectionInfo */2212export interface RmrkTraitsCollectionCollectionInfo extends Struct {2213  readonly issuer: AccountId32;2214  readonly metadata: Bytes;2215  readonly max: Option<u32>;2216  readonly symbol: Bytes;2217  readonly nftsCount: u32;2218}22192220/** @name RmrkTraitsNftAccountIdOrCollectionNftTuple */2221export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {2222  readonly isAccountId: boolean;2223  readonly asAccountId: AccountId32;2224  readonly isCollectionAndNftTuple: boolean;2225  readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;2226  readonly type: 'AccountId' | 'CollectionAndNftTuple';2227}22282229/** @name RmrkTraitsNftNftChild */2230export interface RmrkTraitsNftNftChild extends Struct {2231  readonly collectionId: u32;2232  readonly nftId: u32;2233}22342235/** @name RmrkTraitsNftNftInfo */2236export interface RmrkTraitsNftNftInfo extends Struct {2237  readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2238  readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;2239  readonly metadata: Bytes;2240  readonly equipped: bool;2241  readonly pending: bool;2242}22432244/** @name RmrkTraitsNftRoyaltyInfo */2245export interface RmrkTraitsNftRoyaltyInfo extends Struct {2246  readonly recipient: AccountId32;2247  readonly amount: Permill;2248}22492250/** @name RmrkTraitsPartEquippableList */2251export interface RmrkTraitsPartEquippableList extends Enum {2252  readonly isAll: boolean;2253  readonly isEmpty: boolean;2254  readonly isCustom: boolean;2255  readonly asCustom: Vec<u32>;2256  readonly type: 'All' | 'Empty' | 'Custom';2257}22582259/** @name RmrkTraitsPartFixedPart */2260export interface RmrkTraitsPartFixedPart extends Struct {2261  readonly id: u32;2262  readonly z: u32;2263  readonly src: Bytes;2264}22652266/** @name RmrkTraitsPartPartType */2267export interface RmrkTraitsPartPartType extends Enum {2268  readonly isFixedPart: boolean;2269  readonly asFixedPart: RmrkTraitsPartFixedPart;2270  readonly isSlotPart: boolean;2271  readonly asSlotPart: RmrkTraitsPartSlotPart;2272  readonly type: 'FixedPart' | 'SlotPart';2273}22742275/** @name RmrkTraitsPartSlotPart */2276export interface RmrkTraitsPartSlotPart extends Struct {2277  readonly id: u32;2278  readonly equippable: RmrkTraitsPartEquippableList;2279  readonly src: Bytes;2280  readonly z: u32;2281}22822283/** @name RmrkTraitsPropertyPropertyInfo */2284export interface RmrkTraitsPropertyPropertyInfo extends Struct {2285  readonly key: Bytes;2286  readonly value: Bytes;2287}22882289/** @name RmrkTraitsResourceBasicResource */2290export interface RmrkTraitsResourceBasicResource extends Struct {2291  readonly src: Option<Bytes>;2292  readonly metadata: Option<Bytes>;2293  readonly license: Option<Bytes>;2294  readonly thumb: Option<Bytes>;2295}22962297/** @name RmrkTraitsResourceComposableResource */2298export interface RmrkTraitsResourceComposableResource extends Struct {2299  readonly parts: Vec<u32>;2300  readonly base: u32;2301  readonly src: Option<Bytes>;2302  readonly metadata: Option<Bytes>;2303  readonly license: Option<Bytes>;2304  readonly thumb: Option<Bytes>;2305}23062307/** @name RmrkTraitsResourceResourceInfo */2308export interface RmrkTraitsResourceResourceInfo extends Struct {2309  readonly id: u32;2310  readonly resource: RmrkTraitsResourceResourceTypes;2311  readonly pending: bool;2312  readonly pendingRemoval: bool;2313}23142315/** @name RmrkTraitsResourceResourceTypes */2316export interface RmrkTraitsResourceResourceTypes extends Enum {2317  readonly isBasic: boolean;2318  readonly asBasic: RmrkTraitsResourceBasicResource;2319  readonly isComposable: boolean;2320  readonly asComposable: RmrkTraitsResourceComposableResource;2321  readonly isSlot: boolean;2322  readonly asSlot: RmrkTraitsResourceSlotResource;2323  readonly type: 'Basic' | 'Composable' | 'Slot';2324}23252326/** @name RmrkTraitsResourceSlotResource */2327export interface RmrkTraitsResourceSlotResource extends Struct {2328  readonly base: u32;2329  readonly src: Option<Bytes>;2330  readonly metadata: Option<Bytes>;2331  readonly slot: u32;2332  readonly license: Option<Bytes>;2333  readonly thumb: Option<Bytes>;2334}23352336/** @name RmrkTraitsTheme */2337export interface RmrkTraitsTheme extends Struct {2338  readonly name: Bytes;2339  readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2340  readonly inherit: bool;2341}23422343/** @name RmrkTraitsThemeThemeProperty */2344export interface RmrkTraitsThemeThemeProperty extends Struct {2345  readonly key: Bytes;2346  readonly value: Bytes;2347}23482349/** @name SpCoreEcdsaSignature */2350export interface SpCoreEcdsaSignature extends U8aFixed {}23512352/** @name SpCoreEd25519Signature */2353export interface SpCoreEd25519Signature extends U8aFixed {}23542355/** @name SpCoreSr25519Signature */2356export interface SpCoreSr25519Signature extends U8aFixed {}23572358/** @name SpCoreVoid */2359export interface SpCoreVoid extends Null {}23602361/** @name SpRuntimeArithmeticError */2362export interface SpRuntimeArithmeticError extends Enum {2363  readonly isUnderflow: boolean;2364  readonly isOverflow: boolean;2365  readonly isDivisionByZero: boolean;2366  readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';2367}23682369/** @name SpRuntimeDigest */2370export interface SpRuntimeDigest extends Struct {2371  readonly logs: Vec<SpRuntimeDigestDigestItem>;2372}23732374/** @name SpRuntimeDigestDigestItem */2375export interface SpRuntimeDigestDigestItem extends Enum {2376  readonly isOther: boolean;2377  readonly asOther: Bytes;2378  readonly isConsensus: boolean;2379  readonly asConsensus: ITuple<[U8aFixed, Bytes]>;2380  readonly isSeal: boolean;2381  readonly asSeal: ITuple<[U8aFixed, Bytes]>;2382  readonly isPreRuntime: boolean;2383  readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;2384  readonly isRuntimeEnvironmentUpdated: boolean;2385  readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';2386}23872388/** @name SpRuntimeDispatchError */2389export interface SpRuntimeDispatchError extends Enum {2390  readonly isOther: boolean;2391  readonly isCannotLookup: boolean;2392  readonly isBadOrigin: boolean;2393  readonly isModule: boolean;2394  readonly asModule: SpRuntimeModuleError;2395  readonly isConsumerRemaining: boolean;2396  readonly isNoProviders: boolean;2397  readonly isTooManyConsumers: boolean;2398  readonly isToken: boolean;2399  readonly asToken: SpRuntimeTokenError;2400  readonly isArithmetic: boolean;2401  readonly asArithmetic: SpRuntimeArithmeticError;2402  readonly isTransactional: boolean;2403  readonly asTransactional: SpRuntimeTransactionalError;2404  readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';2405}24062407/** @name SpRuntimeModuleError */2408export interface SpRuntimeModuleError extends Struct {2409  readonly index: u8;2410  readonly error: U8aFixed;2411}24122413/** @name SpRuntimeMultiSignature */2414export interface SpRuntimeMultiSignature extends Enum {2415  readonly isEd25519: boolean;2416  readonly asEd25519: SpCoreEd25519Signature;2417  readonly isSr25519: boolean;2418  readonly asSr25519: SpCoreSr25519Signature;2419  readonly isEcdsa: boolean;2420  readonly asEcdsa: SpCoreEcdsaSignature;2421  readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';2422}24232424/** @name SpRuntimeTokenError */2425export interface SpRuntimeTokenError extends Enum {2426  readonly isNoFunds: boolean;2427  readonly isWouldDie: boolean;2428  readonly isBelowMinimum: boolean;2429  readonly isCannotCreate: boolean;2430  readonly isUnknownAsset: boolean;2431  readonly isFrozen: boolean;2432  readonly isUnsupported: boolean;2433  readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';2434}24352436/** @name SpRuntimeTransactionalError */2437export interface SpRuntimeTransactionalError extends Enum {2438  readonly isLimitReached: boolean;2439  readonly isNoLayer: boolean;2440  readonly type: 'LimitReached' | 'NoLayer';2441}24422443/** @name SpTrieStorageProof */2444export interface SpTrieStorageProof extends Struct {2445  readonly trieNodes: BTreeSet<Bytes>;2446}24472448/** @name SpVersionRuntimeVersion */2449export interface SpVersionRuntimeVersion extends Struct {2450  readonly specName: Text;2451  readonly implName: Text;2452  readonly authoringVersion: u32;2453  readonly specVersion: u32;2454  readonly implVersion: u32;2455  readonly apis: Vec<ITuple<[U8aFixed, u32]>>;2456  readonly transactionVersion: u32;2457  readonly stateVersion: u8;2458}24592460/** @name UpDataStructsAccessMode */2461export interface UpDataStructsAccessMode extends Enum {2462  readonly isNormal: boolean;2463  readonly isAllowList: boolean;2464  readonly type: 'Normal' | 'AllowList';2465}24662467/** @name UpDataStructsCollection */2468export interface UpDataStructsCollection extends Struct {2469  readonly owner: AccountId32;2470  readonly mode: UpDataStructsCollectionMode;2471  readonly name: Vec<u16>;2472  readonly description: Vec<u16>;2473  readonly tokenPrefix: Bytes;2474  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2475  readonly limits: UpDataStructsCollectionLimits;2476  readonly permissions: UpDataStructsCollectionPermissions;2477  readonly externalCollection: bool;2478}24792480/** @name UpDataStructsCollectionLimits */2481export interface UpDataStructsCollectionLimits extends Struct {2482  readonly accountTokenOwnershipLimit: Option<u32>;2483  readonly sponsoredDataSize: Option<u32>;2484  readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2485  readonly tokenLimit: Option<u32>;2486  readonly sponsorTransferTimeout: Option<u32>;2487  readonly sponsorApproveTimeout: Option<u32>;2488  readonly ownerCanTransfer: Option<bool>;2489  readonly ownerCanDestroy: Option<bool>;2490  readonly transfersEnabled: Option<bool>;2491}24922493/** @name UpDataStructsCollectionMode */2494export interface UpDataStructsCollectionMode extends Enum {2495  readonly isNft: boolean;2496  readonly isFungible: boolean;2497  readonly asFungible: u8;2498  readonly isReFungible: boolean;2499  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2500}25012502/** @name UpDataStructsCollectionPermissions */2503export interface UpDataStructsCollectionPermissions extends Struct {2504  readonly access: Option<UpDataStructsAccessMode>;2505  readonly mintMode: Option<bool>;2506  readonly nesting: Option<UpDataStructsNestingPermissions>;2507}25082509/** @name UpDataStructsCollectionStats */2510export interface UpDataStructsCollectionStats extends Struct {2511  readonly created: u32;2512  readonly destroyed: u32;2513  readonly alive: u32;2514}25152516/** @name UpDataStructsCreateCollectionData */2517export interface UpDataStructsCreateCollectionData extends Struct {2518  readonly mode: UpDataStructsCollectionMode;2519  readonly access: Option<UpDataStructsAccessMode>;2520  readonly name: Vec<u16>;2521  readonly description: Vec<u16>;2522  readonly tokenPrefix: Bytes;2523  readonly pendingSponsor: Option<AccountId32>;2524  readonly limits: Option<UpDataStructsCollectionLimits>;2525  readonly permissions: Option<UpDataStructsCollectionPermissions>;2526  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2527  readonly properties: Vec<UpDataStructsProperty>;2528}25292530/** @name UpDataStructsCreateFungibleData */2531export interface UpDataStructsCreateFungibleData extends Struct {2532  readonly value: u128;2533}25342535/** @name UpDataStructsCreateItemData */2536export interface UpDataStructsCreateItemData extends Enum {2537  readonly isNft: boolean;2538  readonly asNft: UpDataStructsCreateNftData;2539  readonly isFungible: boolean;2540  readonly asFungible: UpDataStructsCreateFungibleData;2541  readonly isReFungible: boolean;2542  readonly asReFungible: UpDataStructsCreateReFungibleData;2543  readonly type: 'Nft' | 'Fungible' | 'ReFungible';2544}25452546/** @name UpDataStructsCreateItemExData */2547export interface UpDataStructsCreateItemExData extends Enum {2548  readonly isNft: boolean;2549  readonly asNft: Vec<UpDataStructsCreateNftExData>;2550  readonly isFungible: boolean;2551  readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2552  readonly isRefungibleMultipleItems: boolean;2553  readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2554  readonly isRefungibleMultipleOwners: boolean;2555  readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2556  readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2557}25582559/** @name UpDataStructsCreateNftData */2560export interface UpDataStructsCreateNftData extends Struct {2561  readonly properties: Vec<UpDataStructsProperty>;2562}25632564/** @name UpDataStructsCreateNftExData */2565export interface UpDataStructsCreateNftExData extends Struct {2566  readonly properties: Vec<UpDataStructsProperty>;2567  readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2568}25692570/** @name UpDataStructsCreateReFungibleData */2571export interface UpDataStructsCreateReFungibleData extends Struct {2572  readonly pieces: u128;2573  readonly properties: Vec<UpDataStructsProperty>;2574}25752576/** @name UpDataStructsCreateRefungibleExMultipleOwners */2577export interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2578  readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2579  readonly properties: Vec<UpDataStructsProperty>;2580}25812582/** @name UpDataStructsCreateRefungibleExSingleOwner */2583export interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2584  readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2585  readonly pieces: u128;2586  readonly properties: Vec<UpDataStructsProperty>;2587}25882589/** @name UpDataStructsNestingPermissions */2590export interface UpDataStructsNestingPermissions extends Struct {2591  readonly tokenOwner: bool;2592  readonly collectionAdmin: bool;2593  readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2594}25952596/** @name UpDataStructsOwnerRestrictedSet */2597export interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}25982599/** @name UpDataStructsProperties */2600export interface UpDataStructsProperties extends Struct {2601  readonly map: UpDataStructsPropertiesMapBoundedVec;2602  readonly consumedSpace: u32;2603  readonly spaceLimit: u32;2604}26052606/** @name UpDataStructsPropertiesMapBoundedVec */2607export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}26082609/** @name UpDataStructsPropertiesMapPropertyPermission */2610export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}26112612/** @name UpDataStructsProperty */2613export interface UpDataStructsProperty extends Struct {2614  readonly key: Bytes;2615  readonly value: Bytes;2616}26172618/** @name UpDataStructsPropertyKeyPermission */2619export interface UpDataStructsPropertyKeyPermission extends Struct {2620  readonly key: Bytes;2621  readonly permission: UpDataStructsPropertyPermission;2622}26232624/** @name UpDataStructsPropertyPermission */2625export interface UpDataStructsPropertyPermission extends Struct {2626  readonly mutable: bool;2627  readonly collectionAdmin: bool;2628  readonly tokenOwner: bool;2629}26302631/** @name UpDataStructsPropertyScope */2632export interface UpDataStructsPropertyScope extends Enum {2633  readonly isNone: boolean;2634  readonly isRmrk: boolean;2635  readonly type: 'None' | 'Rmrk';2636}26372638/** @name UpDataStructsRpcCollection */2639export interface UpDataStructsRpcCollection extends Struct {2640  readonly owner: AccountId32;2641  readonly mode: UpDataStructsCollectionMode;2642  readonly name: Vec<u16>;2643  readonly description: Vec<u16>;2644  readonly tokenPrefix: Bytes;2645  readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;2646  readonly limits: UpDataStructsCollectionLimits;2647  readonly permissions: UpDataStructsCollectionPermissions;2648  readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2649  readonly properties: Vec<UpDataStructsProperty>;2650  readonly readOnly: bool;2651}26522653/** @name UpDataStructsSponsoringRateLimit */2654export interface UpDataStructsSponsoringRateLimit extends Enum {2655  readonly isSponsoringDisabled: boolean;2656  readonly isBlocks: boolean;2657  readonly asBlocks: u32;2658  readonly type: 'SponsoringDisabled' | 'Blocks';2659}26602661/** @name UpDataStructsSponsorshipStateAccountId32 */2662export interface UpDataStructsSponsorshipStateAccountId32 extends Enum {2663  readonly isDisabled: boolean;2664  readonly isUnconfirmed: boolean;2665  readonly asUnconfirmed: AccountId32;2666  readonly isConfirmed: boolean;2667  readonly asConfirmed: AccountId32;2668  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2669}26702671/** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr */2672export interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {2673  readonly isDisabled: boolean;2674  readonly isUnconfirmed: boolean;2675  readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;2676  readonly isConfirmed: boolean;2677  readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;2678  readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2679}26802681/** @name UpDataStructsTokenChild */2682export interface UpDataStructsTokenChild extends Struct {2683  readonly token: u32;2684  readonly collection: u32;2685}26862687/** @name UpDataStructsTokenData */2688export interface UpDataStructsTokenData extends Struct {2689  readonly properties: Vec<UpDataStructsProperty>;2690  readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2691  readonly pieces: u128;2692}26932694/** @name XcmDoubleEncoded */2695export interface XcmDoubleEncoded extends Struct {2696  readonly encoded: Bytes;2697}26982699/** @name XcmV0Junction */2700export interface XcmV0Junction extends Enum {2701  readonly isParent: boolean;2702  readonly isParachain: boolean;2703  readonly asParachain: Compact<u32>;2704  readonly isAccountId32: boolean;2705  readonly asAccountId32: {2706    readonly network: XcmV0JunctionNetworkId;2707    readonly id: U8aFixed;2708  } & Struct;2709  readonly isAccountIndex64: boolean;2710  readonly asAccountIndex64: {2711    readonly network: XcmV0JunctionNetworkId;2712    readonly index: Compact<u64>;2713  } & Struct;2714  readonly isAccountKey20: boolean;2715  readonly asAccountKey20: {2716    readonly network: XcmV0JunctionNetworkId;2717    readonly key: U8aFixed;2718  } & Struct;2719  readonly isPalletInstance: boolean;2720  readonly asPalletInstance: u8;2721  readonly isGeneralIndex: boolean;2722  readonly asGeneralIndex: Compact<u128>;2723  readonly isGeneralKey: boolean;2724  readonly asGeneralKey: Bytes;2725  readonly isOnlyChild: boolean;2726  readonly isPlurality: boolean;2727  readonly asPlurality: {2728    readonly id: XcmV0JunctionBodyId;2729    readonly part: XcmV0JunctionBodyPart;2730  } & Struct;2731  readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2732}27332734/** @name XcmV0JunctionBodyId */2735export interface XcmV0JunctionBodyId extends Enum {2736  readonly isUnit: boolean;2737  readonly isNamed: boolean;2738  readonly asNamed: Bytes;2739  readonly isIndex: boolean;2740  readonly asIndex: Compact<u32>;2741  readonly isExecutive: boolean;2742  readonly isTechnical: boolean;2743  readonly isLegislative: boolean;2744  readonly isJudicial: boolean;2745  readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2746}27472748/** @name XcmV0JunctionBodyPart */2749export interface XcmV0JunctionBodyPart extends Enum {2750  readonly isVoice: boolean;2751  readonly isMembers: boolean;2752  readonly asMembers: {2753    readonly count: Compact<u32>;2754  } & Struct;2755  readonly isFraction: boolean;2756  readonly asFraction: {2757    readonly nom: Compact<u32>;2758    readonly denom: Compact<u32>;2759  } & Struct;2760  readonly isAtLeastProportion: boolean;2761  readonly asAtLeastProportion: {2762    readonly nom: Compact<u32>;2763    readonly denom: Compact<u32>;2764  } & Struct;2765  readonly isMoreThanProportion: boolean;2766  readonly asMoreThanProportion: {2767    readonly nom: Compact<u32>;2768    readonly denom: Compact<u32>;2769  } & Struct;2770  readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2771}27722773/** @name XcmV0JunctionNetworkId */2774export interface XcmV0JunctionNetworkId extends Enum {2775  readonly isAny: boolean;2776  readonly isNamed: boolean;2777  readonly asNamed: Bytes;2778  readonly isPolkadot: boolean;2779  readonly isKusama: boolean;2780  readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2781}27822783/** @name XcmV0MultiAsset */2784export interface XcmV0MultiAsset extends Enum {2785  readonly isNone: boolean;2786  readonly isAll: boolean;2787  readonly isAllFungible: boolean;2788  readonly isAllNonFungible: boolean;2789  readonly isAllAbstractFungible: boolean;2790  readonly asAllAbstractFungible: {2791    readonly id: Bytes;2792  } & Struct;2793  readonly isAllAbstractNonFungible: boolean;2794  readonly asAllAbstractNonFungible: {2795    readonly class: Bytes;2796  } & Struct;2797  readonly isAllConcreteFungible: boolean;2798  readonly asAllConcreteFungible: {2799    readonly id: XcmV0MultiLocation;2800  } & Struct;2801  readonly isAllConcreteNonFungible: boolean;2802  readonly asAllConcreteNonFungible: {2803    readonly class: XcmV0MultiLocation;2804  } & Struct;2805  readonly isAbstractFungible: boolean;2806  readonly asAbstractFungible: {2807    readonly id: Bytes;2808    readonly amount: Compact<u128>;2809  } & Struct;2810  readonly isAbstractNonFungible: boolean;2811  readonly asAbstractNonFungible: {2812    readonly class: Bytes;2813    readonly instance: XcmV1MultiassetAssetInstance;2814  } & Struct;2815  readonly isConcreteFungible: boolean;2816  readonly asConcreteFungible: {2817    readonly id: XcmV0MultiLocation;2818    readonly amount: Compact<u128>;2819  } & Struct;2820  readonly isConcreteNonFungible: boolean;2821  readonly asConcreteNonFungible: {2822    readonly class: XcmV0MultiLocation;2823    readonly instance: XcmV1MultiassetAssetInstance;2824  } & Struct;2825  readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2826}28272828/** @name XcmV0MultiLocation */2829export interface XcmV0MultiLocation extends Enum {2830  readonly isNull: boolean;2831  readonly isX1: boolean;2832  readonly asX1: XcmV0Junction;2833  readonly isX2: boolean;2834  readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2835  readonly isX3: boolean;2836  readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2837  readonly isX4: boolean;2838  readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2839  readonly isX5: boolean;2840  readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2841  readonly isX6: boolean;2842  readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2843  readonly isX7: boolean;2844  readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2845  readonly isX8: boolean;2846  readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2847  readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2848}28492850/** @name XcmV0Order */2851export interface XcmV0Order extends Enum {2852  readonly isNull: boolean;2853  readonly isDepositAsset: boolean;2854  readonly asDepositAsset: {2855    readonly assets: Vec<XcmV0MultiAsset>;2856    readonly dest: XcmV0MultiLocation;2857  } & Struct;2858  readonly isDepositReserveAsset: boolean;2859  readonly asDepositReserveAsset: {2860    readonly assets: Vec<XcmV0MultiAsset>;2861    readonly dest: XcmV0MultiLocation;2862    readonly effects: Vec<XcmV0Order>;2863  } & Struct;2864  readonly isExchangeAsset: boolean;2865  readonly asExchangeAsset: {2866    readonly give: Vec<XcmV0MultiAsset>;2867    readonly receive: Vec<XcmV0MultiAsset>;2868  } & Struct;2869  readonly isInitiateReserveWithdraw: boolean;2870  readonly asInitiateReserveWithdraw: {2871    readonly assets: Vec<XcmV0MultiAsset>;2872    readonly reserve: XcmV0MultiLocation;2873    readonly effects: Vec<XcmV0Order>;2874  } & Struct;2875  readonly isInitiateTeleport: boolean;2876  readonly asInitiateTeleport: {2877    readonly assets: Vec<XcmV0MultiAsset>;2878    readonly dest: XcmV0MultiLocation;2879    readonly effects: Vec<XcmV0Order>;2880  } & Struct;2881  readonly isQueryHolding: boolean;2882  readonly asQueryHolding: {2883    readonly queryId: Compact<u64>;2884    readonly dest: XcmV0MultiLocation;2885    readonly assets: Vec<XcmV0MultiAsset>;2886  } & Struct;2887  readonly isBuyExecution: boolean;2888  readonly asBuyExecution: {2889    readonly fees: XcmV0MultiAsset;2890    readonly weight: u64;2891    readonly debt: u64;2892    readonly haltOnError: bool;2893    readonly xcm: Vec<XcmV0Xcm>;2894  } & Struct;2895  readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2896}28972898/** @name XcmV0OriginKind */2899export interface XcmV0OriginKind extends Enum {2900  readonly isNative: boolean;2901  readonly isSovereignAccount: boolean;2902  readonly isSuperuser: boolean;2903  readonly isXcm: boolean;2904  readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2905}29062907/** @name XcmV0Response */2908export interface XcmV0Response extends Enum {2909  readonly isAssets: boolean;2910  readonly asAssets: Vec<XcmV0MultiAsset>;2911  readonly type: 'Assets';2912}29132914/** @name XcmV0Xcm */2915export interface XcmV0Xcm extends Enum {2916  readonly isWithdrawAsset: boolean;2917  readonly asWithdrawAsset: {2918    readonly assets: Vec<XcmV0MultiAsset>;2919    readonly effects: Vec<XcmV0Order>;2920  } & Struct;2921  readonly isReserveAssetDeposit: boolean;2922  readonly asReserveAssetDeposit: {2923    readonly assets: Vec<XcmV0MultiAsset>;2924    readonly effects: Vec<XcmV0Order>;2925  } & Struct;2926  readonly isTeleportAsset: boolean;2927  readonly asTeleportAsset: {2928    readonly assets: Vec<XcmV0MultiAsset>;2929    readonly effects: Vec<XcmV0Order>;2930  } & Struct;2931  readonly isQueryResponse: boolean;2932  readonly asQueryResponse: {2933    readonly queryId: Compact<u64>;2934    readonly response: XcmV0Response;2935  } & Struct;2936  readonly isTransferAsset: boolean;2937  readonly asTransferAsset: {2938    readonly assets: Vec<XcmV0MultiAsset>;2939    readonly dest: XcmV0MultiLocation;2940  } & Struct;2941  readonly isTransferReserveAsset: boolean;2942  readonly asTransferReserveAsset: {2943    readonly assets: Vec<XcmV0MultiAsset>;2944    readonly dest: XcmV0MultiLocation;2945    readonly effects: Vec<XcmV0Order>;2946  } & Struct;2947  readonly isTransact: boolean;2948  readonly asTransact: {2949    readonly originType: XcmV0OriginKind;2950    readonly requireWeightAtMost: u64;2951    readonly call: XcmDoubleEncoded;2952  } & Struct;2953  readonly isHrmpNewChannelOpenRequest: boolean;2954  readonly asHrmpNewChannelOpenRequest: {2955    readonly sender: Compact<u32>;2956    readonly maxMessageSize: Compact<u32>;2957    readonly maxCapacity: Compact<u32>;2958  } & Struct;2959  readonly isHrmpChannelAccepted: boolean;2960  readonly asHrmpChannelAccepted: {2961    readonly recipient: Compact<u32>;2962  } & Struct;2963  readonly isHrmpChannelClosing: boolean;2964  readonly asHrmpChannelClosing: {2965    readonly initiator: Compact<u32>;2966    readonly sender: Compact<u32>;2967    readonly recipient: Compact<u32>;2968  } & Struct;2969  readonly isRelayedFrom: boolean;2970  readonly asRelayedFrom: {2971    readonly who: XcmV0MultiLocation;2972    readonly message: XcmV0Xcm;2973  } & Struct;2974  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2975}29762977/** @name XcmV1Junction */2978export interface XcmV1Junction extends Enum {2979  readonly isParachain: boolean;2980  readonly asParachain: Compact<u32>;2981  readonly isAccountId32: boolean;2982  readonly asAccountId32: {2983    readonly network: XcmV0JunctionNetworkId;2984    readonly id: U8aFixed;2985  } & Struct;2986  readonly isAccountIndex64: boolean;2987  readonly asAccountIndex64: {2988    readonly network: XcmV0JunctionNetworkId;2989    readonly index: Compact<u64>;2990  } & Struct;2991  readonly isAccountKey20: boolean;2992  readonly asAccountKey20: {2993    readonly network: XcmV0JunctionNetworkId;2994    readonly key: U8aFixed;2995  } & Struct;2996  readonly isPalletInstance: boolean;2997  readonly asPalletInstance: u8;2998  readonly isGeneralIndex: boolean;2999  readonly asGeneralIndex: Compact<u128>;3000  readonly isGeneralKey: boolean;3001  readonly asGeneralKey: Bytes;3002  readonly isOnlyChild: boolean;3003  readonly isPlurality: boolean;3004  readonly asPlurality: {3005    readonly id: XcmV0JunctionBodyId;3006    readonly part: XcmV0JunctionBodyPart;3007  } & Struct;3008  readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';3009}30103011/** @name XcmV1MultiAsset */3012export interface XcmV1MultiAsset extends Struct {3013  readonly id: XcmV1MultiassetAssetId;3014  readonly fun: XcmV1MultiassetFungibility;3015}30163017/** @name XcmV1MultiassetAssetId */3018export interface XcmV1MultiassetAssetId extends Enum {3019  readonly isConcrete: boolean;3020  readonly asConcrete: XcmV1MultiLocation;3021  readonly isAbstract: boolean;3022  readonly asAbstract: Bytes;3023  readonly type: 'Concrete' | 'Abstract';3024}30253026/** @name XcmV1MultiassetAssetInstance */3027export interface XcmV1MultiassetAssetInstance extends Enum {3028  readonly isUndefined: boolean;3029  readonly isIndex: boolean;3030  readonly asIndex: Compact<u128>;3031  readonly isArray4: boolean;3032  readonly asArray4: U8aFixed;3033  readonly isArray8: boolean;3034  readonly asArray8: U8aFixed;3035  readonly isArray16: boolean;3036  readonly asArray16: U8aFixed;3037  readonly isArray32: boolean;3038  readonly asArray32: U8aFixed;3039  readonly isBlob: boolean;3040  readonly asBlob: Bytes;3041  readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';3042}30433044/** @name XcmV1MultiassetFungibility */3045export interface XcmV1MultiassetFungibility extends Enum {3046  readonly isFungible: boolean;3047  readonly asFungible: Compact<u128>;3048  readonly isNonFungible: boolean;3049  readonly asNonFungible: XcmV1MultiassetAssetInstance;3050  readonly type: 'Fungible' | 'NonFungible';3051}30523053/** @name XcmV1MultiassetMultiAssetFilter */3054export interface XcmV1MultiassetMultiAssetFilter extends Enum {3055  readonly isDefinite: boolean;3056  readonly asDefinite: XcmV1MultiassetMultiAssets;3057  readonly isWild: boolean;3058  readonly asWild: XcmV1MultiassetWildMultiAsset;3059  readonly type: 'Definite' | 'Wild';3060}30613062/** @name XcmV1MultiassetMultiAssets */3063export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}30643065/** @name XcmV1MultiassetWildFungibility */3066export interface XcmV1MultiassetWildFungibility extends Enum {3067  readonly isFungible: boolean;3068  readonly isNonFungible: boolean;3069  readonly type: 'Fungible' | 'NonFungible';3070}30713072/** @name XcmV1MultiassetWildMultiAsset */3073export interface XcmV1MultiassetWildMultiAsset extends Enum {3074  readonly isAll: boolean;3075  readonly isAllOf: boolean;3076  readonly asAllOf: {3077    readonly id: XcmV1MultiassetAssetId;3078    readonly fun: XcmV1MultiassetWildFungibility;3079  } & Struct;3080  readonly type: 'All' | 'AllOf';3081}30823083/** @name XcmV1MultiLocation */3084export interface XcmV1MultiLocation extends Struct {3085  readonly parents: u8;3086  readonly interior: XcmV1MultilocationJunctions;3087}30883089/** @name XcmV1MultilocationJunctions */3090export interface XcmV1MultilocationJunctions extends Enum {3091  readonly isHere: boolean;3092  readonly isX1: boolean;3093  readonly asX1: XcmV1Junction;3094  readonly isX2: boolean;3095  readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;3096  readonly isX3: boolean;3097  readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3098  readonly isX4: boolean;3099  readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3100  readonly isX5: boolean;3101  readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3102  readonly isX6: boolean;3103  readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3104  readonly isX7: boolean;3105  readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3106  readonly isX8: boolean;3107  readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;3108  readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';3109}31103111/** @name XcmV1Order */3112export interface XcmV1Order extends Enum {3113  readonly isNoop: boolean;3114  readonly isDepositAsset: boolean;3115  readonly asDepositAsset: {3116    readonly assets: XcmV1MultiassetMultiAssetFilter;3117    readonly maxAssets: u32;3118    readonly beneficiary: XcmV1MultiLocation;3119  } & Struct;3120  readonly isDepositReserveAsset: boolean;3121  readonly asDepositReserveAsset: {3122    readonly assets: XcmV1MultiassetMultiAssetFilter;3123    readonly maxAssets: u32;3124    readonly dest: XcmV1MultiLocation;3125    readonly effects: Vec<XcmV1Order>;3126  } & Struct;3127  readonly isExchangeAsset: boolean;3128  readonly asExchangeAsset: {3129    readonly give: XcmV1MultiassetMultiAssetFilter;3130    readonly receive: XcmV1MultiassetMultiAssets;3131  } & Struct;3132  readonly isInitiateReserveWithdraw: boolean;3133  readonly asInitiateReserveWithdraw: {3134    readonly assets: XcmV1MultiassetMultiAssetFilter;3135    readonly reserve: XcmV1MultiLocation;3136    readonly effects: Vec<XcmV1Order>;3137  } & Struct;3138  readonly isInitiateTeleport: boolean;3139  readonly asInitiateTeleport: {3140    readonly assets: XcmV1MultiassetMultiAssetFilter;3141    readonly dest: XcmV1MultiLocation;3142    readonly effects: Vec<XcmV1Order>;3143  } & Struct;3144  readonly isQueryHolding: boolean;3145  readonly asQueryHolding: {3146    readonly queryId: Compact<u64>;3147    readonly dest: XcmV1MultiLocation;3148    readonly assets: XcmV1MultiassetMultiAssetFilter;3149  } & Struct;3150  readonly isBuyExecution: boolean;3151  readonly asBuyExecution: {3152    readonly fees: XcmV1MultiAsset;3153    readonly weight: u64;3154    readonly debt: u64;3155    readonly haltOnError: bool;3156    readonly instructions: Vec<XcmV1Xcm>;3157  } & Struct;3158  readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';3159}31603161/** @name XcmV1Response */3162export interface XcmV1Response extends Enum {3163  readonly isAssets: boolean;3164  readonly asAssets: XcmV1MultiassetMultiAssets;3165  readonly isVersion: boolean;3166  readonly asVersion: u32;3167  readonly type: 'Assets' | 'Version';3168}31693170/** @name XcmV1Xcm */3171export interface XcmV1Xcm extends Enum {3172  readonly isWithdrawAsset: boolean;3173  readonly asWithdrawAsset: {3174    readonly assets: XcmV1MultiassetMultiAssets;3175    readonly effects: Vec<XcmV1Order>;3176  } & Struct;3177  readonly isReserveAssetDeposited: boolean;3178  readonly asReserveAssetDeposited: {3179    readonly assets: XcmV1MultiassetMultiAssets;3180    readonly effects: Vec<XcmV1Order>;3181  } & Struct;3182  readonly isReceiveTeleportedAsset: boolean;3183  readonly asReceiveTeleportedAsset: {3184    readonly assets: XcmV1MultiassetMultiAssets;3185    readonly effects: Vec<XcmV1Order>;3186  } & Struct;3187  readonly isQueryResponse: boolean;3188  readonly asQueryResponse: {3189    readonly queryId: Compact<u64>;3190    readonly response: XcmV1Response;3191  } & Struct;3192  readonly isTransferAsset: boolean;3193  readonly asTransferAsset: {3194    readonly assets: XcmV1MultiassetMultiAssets;3195    readonly beneficiary: XcmV1MultiLocation;3196  } & Struct;3197  readonly isTransferReserveAsset: boolean;3198  readonly asTransferReserveAsset: {3199    readonly assets: XcmV1MultiassetMultiAssets;3200    readonly dest: XcmV1MultiLocation;3201    readonly effects: Vec<XcmV1Order>;3202  } & Struct;3203  readonly isTransact: boolean;3204  readonly asTransact: {3205    readonly originType: XcmV0OriginKind;3206    readonly requireWeightAtMost: u64;3207    readonly call: XcmDoubleEncoded;3208  } & Struct;3209  readonly isHrmpNewChannelOpenRequest: boolean;3210  readonly asHrmpNewChannelOpenRequest: {3211    readonly sender: Compact<u32>;3212    readonly maxMessageSize: Compact<u32>;3213    readonly maxCapacity: Compact<u32>;3214  } & Struct;3215  readonly isHrmpChannelAccepted: boolean;3216  readonly asHrmpChannelAccepted: {3217    readonly recipient: Compact<u32>;3218  } & Struct;3219  readonly isHrmpChannelClosing: boolean;3220  readonly asHrmpChannelClosing: {3221    readonly initiator: Compact<u32>;3222    readonly sender: Compact<u32>;3223    readonly recipient: Compact<u32>;3224  } & Struct;3225  readonly isRelayedFrom: boolean;3226  readonly asRelayedFrom: {3227    readonly who: XcmV1MultilocationJunctions;3228    readonly message: XcmV1Xcm;3229  } & Struct;3230  readonly isSubscribeVersion: boolean;3231  readonly asSubscribeVersion: {3232    readonly queryId: Compact<u64>;3233    readonly maxResponseWeight: Compact<u64>;3234  } & Struct;3235  readonly isUnsubscribeVersion: boolean;3236  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';3237}32383239/** @name XcmV2Instruction */3240export interface XcmV2Instruction extends Enum {3241  readonly isWithdrawAsset: boolean;3242  readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;3243  readonly isReserveAssetDeposited: boolean;3244  readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;3245  readonly isReceiveTeleportedAsset: boolean;3246  readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;3247  readonly isQueryResponse: boolean;3248  readonly asQueryResponse: {3249    readonly queryId: Compact<u64>;3250    readonly response: XcmV2Response;3251    readonly maxWeight: Compact<u64>;3252  } & Struct;3253  readonly isTransferAsset: boolean;3254  readonly asTransferAsset: {3255    readonly assets: XcmV1MultiassetMultiAssets;3256    readonly beneficiary: XcmV1MultiLocation;3257  } & Struct;3258  readonly isTransferReserveAsset: boolean;3259  readonly asTransferReserveAsset: {3260    readonly assets: XcmV1MultiassetMultiAssets;3261    readonly dest: XcmV1MultiLocation;3262    readonly xcm: XcmV2Xcm;3263  } & Struct;3264  readonly isTransact: boolean;3265  readonly asTransact: {3266    readonly originType: XcmV0OriginKind;3267    readonly requireWeightAtMost: Compact<u64>;3268    readonly call: XcmDoubleEncoded;3269  } & Struct;3270  readonly isHrmpNewChannelOpenRequest: boolean;3271  readonly asHrmpNewChannelOpenRequest: {3272    readonly sender: Compact<u32>;3273    readonly maxMessageSize: Compact<u32>;3274    readonly maxCapacity: Compact<u32>;3275  } & Struct;3276  readonly isHrmpChannelAccepted: boolean;3277  readonly asHrmpChannelAccepted: {3278    readonly recipient: Compact<u32>;3279  } & Struct;3280  readonly isHrmpChannelClosing: boolean;3281  readonly asHrmpChannelClosing: {3282    readonly initiator: Compact<u32>;3283    readonly sender: Compact<u32>;3284    readonly recipient: Compact<u32>;3285  } & Struct;3286  readonly isClearOrigin: boolean;3287  readonly isDescendOrigin: boolean;3288  readonly asDescendOrigin: XcmV1MultilocationJunctions;3289  readonly isReportError: boolean;3290  readonly asReportError: {3291    readonly queryId: Compact<u64>;3292    readonly dest: XcmV1MultiLocation;3293    readonly maxResponseWeight: Compact<u64>;3294  } & Struct;3295  readonly isDepositAsset: boolean;3296  readonly asDepositAsset: {3297    readonly assets: XcmV1MultiassetMultiAssetFilter;3298    readonly maxAssets: Compact<u32>;3299    readonly beneficiary: XcmV1MultiLocation;3300  } & Struct;3301  readonly isDepositReserveAsset: boolean;3302  readonly asDepositReserveAsset: {3303    readonly assets: XcmV1MultiassetMultiAssetFilter;3304    readonly maxAssets: Compact<u32>;3305    readonly dest: XcmV1MultiLocation;3306    readonly xcm: XcmV2Xcm;3307  } & Struct;3308  readonly isExchangeAsset: boolean;3309  readonly asExchangeAsset: {3310    readonly give: XcmV1MultiassetMultiAssetFilter;3311    readonly receive: XcmV1MultiassetMultiAssets;3312  } & Struct;3313  readonly isInitiateReserveWithdraw: boolean;3314  readonly asInitiateReserveWithdraw: {3315    readonly assets: XcmV1MultiassetMultiAssetFilter;3316    readonly reserve: XcmV1MultiLocation;3317    readonly xcm: XcmV2Xcm;3318  } & Struct;3319  readonly isInitiateTeleport: boolean;3320  readonly asInitiateTeleport: {3321    readonly assets: XcmV1MultiassetMultiAssetFilter;3322    readonly dest: XcmV1MultiLocation;3323    readonly xcm: XcmV2Xcm;3324  } & Struct;3325  readonly isQueryHolding: boolean;3326  readonly asQueryHolding: {3327    readonly queryId: Compact<u64>;3328    readonly dest: XcmV1MultiLocation;3329    readonly assets: XcmV1MultiassetMultiAssetFilter;3330    readonly maxResponseWeight: Compact<u64>;3331  } & Struct;3332  readonly isBuyExecution: boolean;3333  readonly asBuyExecution: {3334    readonly fees: XcmV1MultiAsset;3335    readonly weightLimit: XcmV2WeightLimit;3336  } & Struct;3337  readonly isRefundSurplus: boolean;3338  readonly isSetErrorHandler: boolean;3339  readonly asSetErrorHandler: XcmV2Xcm;3340  readonly isSetAppendix: boolean;3341  readonly asSetAppendix: XcmV2Xcm;3342  readonly isClearError: boolean;3343  readonly isClaimAsset: boolean;3344  readonly asClaimAsset: {3345    readonly assets: XcmV1MultiassetMultiAssets;3346    readonly ticket: XcmV1MultiLocation;3347  } & Struct;3348  readonly isTrap: boolean;3349  readonly asTrap: Compact<u64>;3350  readonly isSubscribeVersion: boolean;3351  readonly asSubscribeVersion: {3352    readonly queryId: Compact<u64>;3353    readonly maxResponseWeight: Compact<u64>;3354  } & Struct;3355  readonly isUnsubscribeVersion: boolean;3356  readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';3357}33583359/** @name XcmV2Response */3360export interface XcmV2Response extends Enum {3361  readonly isNull: boolean;3362  readonly isAssets: boolean;3363  readonly asAssets: XcmV1MultiassetMultiAssets;3364  readonly isExecutionResult: boolean;3365  readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;3366  readonly isVersion: boolean;3367  readonly asVersion: u32;3368  readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';3369}33703371/** @name XcmV2TraitsError */3372export interface XcmV2TraitsError extends Enum {3373  readonly isOverflow: boolean;3374  readonly isUnimplemented: boolean;3375  readonly isUntrustedReserveLocation: boolean;3376  readonly isUntrustedTeleportLocation: boolean;3377  readonly isMultiLocationFull: boolean;3378  readonly isMultiLocationNotInvertible: boolean;3379  readonly isBadOrigin: boolean;3380  readonly isInvalidLocation: boolean;3381  readonly isAssetNotFound: boolean;3382  readonly isFailedToTransactAsset: boolean;3383  readonly isNotWithdrawable: boolean;3384  readonly isLocationCannotHold: boolean;3385  readonly isExceedsMaxMessageSize: boolean;3386  readonly isDestinationUnsupported: boolean;3387  readonly isTransport: boolean;3388  readonly isUnroutable: boolean;3389  readonly isUnknownClaim: boolean;3390  readonly isFailedToDecode: boolean;3391  readonly isMaxWeightInvalid: boolean;3392  readonly isNotHoldingFees: boolean;3393  readonly isTooExpensive: boolean;3394  readonly isTrap: boolean;3395  readonly asTrap: u64;3396  readonly isUnhandledXcmVersion: boolean;3397  readonly isWeightLimitReached: boolean;3398  readonly asWeightLimitReached: u64;3399  readonly isBarrier: boolean;3400  readonly isWeightNotComputable: boolean;3401  readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';3402}34033404/** @name XcmV2TraitsOutcome */3405export interface XcmV2TraitsOutcome extends Enum {3406  readonly isComplete: boolean;3407  readonly asComplete: u64;3408  readonly isIncomplete: boolean;3409  readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;3410  readonly isError: boolean;3411  readonly asError: XcmV2TraitsError;3412  readonly type: 'Complete' | 'Incomplete' | 'Error';3413}34143415/** @name XcmV2WeightLimit */3416export interface XcmV2WeightLimit extends Enum {3417  readonly isUnlimited: boolean;3418  readonly isLimited: boolean;3419  readonly asLimited: Compact<u64>;3420  readonly type: 'Unlimited' | 'Limited';3421}34223423/** @name XcmV2Xcm */3424export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}34253426/** @name XcmVersionedMultiAssets */3427export interface XcmVersionedMultiAssets extends Enum {3428  readonly isV0: boolean;3429  readonly asV0: Vec<XcmV0MultiAsset>;3430  readonly isV1: boolean;3431  readonly asV1: XcmV1MultiassetMultiAssets;3432  readonly type: 'V0' | 'V1';3433}34343435/** @name XcmVersionedMultiLocation */3436export interface XcmVersionedMultiLocation extends Enum {3437  readonly isV0: boolean;3438  readonly asV0: XcmV0MultiLocation;3439  readonly isV1: boolean;3440  readonly asV1: XcmV1MultiLocation;3441  readonly type: 'V0' | 'V1';3442}34433444/** @name XcmVersionedXcm */3445export interface XcmVersionedXcm extends Enum {3446  readonly isV0: boolean;3447  readonly asV0: XcmV0Xcm;3448  readonly isV1: boolean;3449  readonly asV1: XcmV1Xcm;3450  readonly isV2: boolean;3451  readonly asV2: XcmV2Xcm;3452  readonly type: 'V0' | 'V1' | 'V2';3453}34543455export type PHANTOM_DEFAULT = 'default';
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -1061,7 +1061,10 @@
    **/
   PalletAppPromotionEvent: {
     _enum: {
-      StakingRecalculation: '(AccountId32,u128,u128)'
+      StakingRecalculation: '(AccountId32,u128,u128)',
+      Stake: '(AccountId32,u128)',
+      Unstake: '(AccountId32,u128)',
+      SetAdmin: 'AccountId32'
     }
   },
   /**
@@ -3102,7 +3105,7 @@
    * Lookup415: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
-    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFounds', 'PendingForBlockOverflow', 'InvalidArgument']
+    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'InvalidArgument']
   },
   /**
    * Lookup418: pallet_evm::pallet::Error<T>
modifiedtests/src/interfaces/types-lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1202,7 +1202,13 @@
   interface PalletAppPromotionEvent extends Enum {
     readonly isStakingRecalculation: boolean;
     readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;
-    readonly type: 'StakingRecalculation';
+    readonly isStake: boolean;
+    readonly asStake: ITuple<[AccountId32, u128]>;
+    readonly isUnstake: boolean;
+    readonly asUnstake: ITuple<[AccountId32, u128]>;
+    readonly isSetAdmin: boolean;
+    readonly asSetAdmin: AccountId32;
+    readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';
   }
 
   /** @name PalletEvmEvent (104) */
@@ -3290,10 +3296,10 @@
   interface PalletAppPromotionError extends Enum {
     readonly isAdminNotSet: boolean;
     readonly isNoPermission: boolean;
-    readonly isNotSufficientFounds: boolean;
+    readonly isNotSufficientFunds: boolean;
     readonly isPendingForBlockOverflow: boolean;
     readonly isInvalidArgument: boolean;
-    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFounds' | 'PendingForBlockOverflow' | 'InvalidArgument';
+    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'InvalidArgument';
   }
 
   /** @name PalletEvmError (418) */