git.delta.rocks / unique-network / refs/commits / 35da4ee40eea

difftreelog

code refactor & comments

PraetorP2022-09-08parent: #f980616.patch.diff
in: master

12 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -12147,7 +12147,7 @@
 
 [[package]]
 name = "uc-rpc"
-version = "0.1.3"
+version = "0.1.4"
 dependencies = [
  "anyhow",
  "app-promotion-rpc",
modifiedclient/rpc/CHANGELOG.mddiffbeforeafterboth
--- a/client/rpc/CHANGELOG.md
+++ b/client/rpc/CHANGELOG.md
@@ -3,15 +3,21 @@
 All notable changes to this project will be documented in this file.
 
 <!-- bureaucrate goes here -->
+
+## [v0.1.4] 2022-09-08
+
+### Added
+-  Support RPC for `AppPromotion` pallet. 
+
 ## [v0.1.3] 2022-08-16
 
 ### Other changes
 
-- build: Upgrade polkadot to v0.9.27 2c498572636f2b34d53b1c51b7283a761a7dc90a
+-   build: Upgrade polkadot to v0.9.27 2c498572636f2b34d53b1c51b7283a761a7dc90a
 
-- build: Upgrade polkadot to v0.9.26 85515e54c4ca1b82a2630034e55dcc804c643bf8
+-   build: Upgrade polkadot to v0.9.26 85515e54c4ca1b82a2630034e55dcc804c643bf8
 
-- build: Upgrade polkadot to v0.9.25 cdfb9bdc7b205ff1b5134f034ef9973d769e5e6b
+-   build: Upgrade polkadot to v0.9.25 cdfb9bdc7b205ff1b5134f034ef9973d769e5e6b
 
 ## [0.1.2] - 2022-08-12
 
modifiedclient/rpc/Cargo.tomldiffbeforeafterboth
--- a/client/rpc/Cargo.toml
+++ b/client/rpc/Cargo.toml
@@ -1,6 +1,6 @@
 [package]
 name = "uc-rpc"
-version = "0.1.3"
+version = "0.1.4"
 license = "GPLv3"
 edition = "2021"
 
modifiedpallets/app-promotion/src/lib.rsdiffbeforeafterboth
--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -22,9 +22,6 @@
 //!
 //! ### Dispatchable Functions
 //!
-//! * `start_inflation` - This method sets the inflation start date. Can be only called once.
-//! Inflation start block can be backdated and will catch up. The method will create Treasury
-//!	account if it does not exist and perform the first inflation deposit.
 
 // #![recursion_limit = "1024"]
 #![cfg_attr(not(feature = "std"), no_std)]
@@ -48,7 +45,6 @@
 use pallet_balances::BalanceLock;
 pub use types::*;
 
-// use up_common::constants::{DAYS, UNIQUE};
 use up_data_structs::CollectionId;
 
 use frame_support::{
@@ -87,16 +83,20 @@
 
 	#[pallet::config]
 	pub trait Config: frame_system::Config + pallet_evm::account::Config {
+		/// Type to interact with the native token
 		type Currency: ExtendedLockableCurrency<Self::AccountId>
 			+ ReservableCurrency<Self::AccountId>;
 
+		/// Type for interacting with collections
 		type CollectionHandler: CollectionHandler<
 			AccountId = Self::AccountId,
 			CollectionId = CollectionId,
 		>;
 
+		/// Type for interacting with conrtacts
 		type ContractHandler: ContractHandler<AccountId = Self::CrossAccountId, ContractId = H160>;
 
+		/// ID for treasury
 		type TreasuryAccountId: Get<Self::AccountId>;
 
 		/// The app's pallet id, used for deriving its sovereign account ID.
@@ -106,15 +106,18 @@
 		/// In relay blocks.
 		#[pallet::constant]
 		type RecalculationInterval: Get<Self::BlockNumber>;
-		/// In relay blocks.
+
+		/// In parachain blocks.
 		#[pallet::constant]
 		type PendingInterval: Get<Self::BlockNumber>;
 
+		/// Rate of return for interval in blocks defined in `RecalculationInterval`.
 		#[pallet::constant]
-		type Nominal: Get<BalanceOf<Self>>;
+		type IntervalIncome: Get<Perbill>;
 
+		/// Decimals for the `Currency`.
 		#[pallet::constant]
-		type IntervalIncome: Get<Perbill>;
+		type Nominal: Get<BalanceOf<Self>>;
 
 		/// Weight information for extrinsics in this pallet.
 		type WeightInfo: WeightInfo;
@@ -133,6 +136,12 @@
 	#[pallet::event]
 	#[pallet::generate_deposit(fn deposit_event)]
 	pub enum Event<T: Config> {
+		/// Staking recalculation was performed
+		///
+		/// # Arguments
+		/// * AccountId: ID of the staker.
+		/// * Balance : recalculation base
+		/// * Balance : total income
 		StakingRecalculation(
 			/// An recalculated staker
 			T::AccountId,
@@ -141,22 +150,42 @@
 			/// Amount of accrued interest
 			BalanceOf<T>,
 		),
+		
+		/// Staking was performed
+		///
+		/// # Arguments
+		/// * AccountId: ID of the staker
+		/// * Balance : staking amount
 		Stake(T::AccountId, BalanceOf<T>),
+		
+		/// Unstaking was performed
+		///
+		/// # Arguments
+		/// * AccountId: ID of the staker
+		/// * Balance : unstaking amount
 		Unstake(T::AccountId, BalanceOf<T>),
+		
+		/// The admin was set
+		///
+		/// # Arguments
+		/// * AccountId: ID of the admin
 		SetAdmin(T::AccountId),
 	}
 
 	#[pallet::error]
 	pub enum Error<T> {
-		/// Error due to action requiring admin to be set
+		/// Error due to action requiring admin to be set.
 		AdminNotSet,
-		/// No permission to perform an action
+		/// No permission to perform an action.
 		NoPermission,
-		/// Insufficient funds to perform an action
+		/// Insufficient funds to perform an action.
 		NotSufficientFunds,
+		/// Occurs when a pending unstake cannot be added in this block. PENDING_LIMIT_PER_BLOCK` limits exceeded.
 		PendingForBlockOverflow,
-		/// An error related to the fact that an invalid argument was passed to perform an action
+		/// The error is due to the fact that the collection/contract must already be sponsored in order to perform the action.
 		SponsorNotSet,
+		/// Errors caused by incorrect actions with a locked balance.
+		IncorrectLockedBalanceOperation,
 	}
 
 	#[pallet::storage]
@@ -189,7 +218,7 @@
 		ValueQuery,
 	>;
 
-	/// Stores hash a record for which the last revenue recalculation was performed.
+	/// Stores a key for record for which the next revenue recalculation would be performed.
 	/// If `None`, then recalculation has not yet been performed or calculations have been completed for all stakers.
 	#[pallet::storage]
 	#[pallet::getter(fn get_next_calculated_record)]
@@ -198,6 +227,9 @@
 
 	#[pallet::hooks]
 	impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
+		/// Block overflow is impossible due to the fact that the unstake algorithm in on_initialize
+		/// implies the execution of a strictly limited number of relatively lightweight operations.
+		/// A separate benchmark has been implemented to scale the weight depending on the number of pendings.
 		fn on_initialize(current_block_number: T::BlockNumber) -> Weight
 		where
 			<T as frame_system::Config>::BlockNumber: From<u32>,
@@ -242,15 +274,13 @@
 			);
 
 			ensure!(
-				amount >= Into::<BalanceOf<T>>::into(100u128) * T::Nominal::get(),
+				amount >= <BalanceOf<T>>::from(100u128) * T::Nominal::get(),
 				ArithmeticError::Underflow
 			);
 
 			let balance =
 				<<T as Config>::Currency as Currency<T::AccountId>>::free_balance(&staker_id);
 
-			// ensure!(balance >= amount, ArithmeticError::Underflow);
-
 			<<T as Config>::Currency as Currency<T::AccountId>>::ensure_can_withdraw(
 				&staker_id,
 				amount,
@@ -325,7 +355,7 @@
 
 			<PendingUnstake<T>>::insert(block, pendings);
 
-			Self::unlock_balance_unchecked(&staker_id, total_staked);
+			Self::unlock_balance(&staker_id, total_staked)?;
 
 			<T::Currency as ReservableCurrency<T::AccountId>>::reserve(&staker_id, total_staked)?;
 
@@ -400,8 +430,9 @@
 			);
 
 			ensure!(
-				T::ContractHandler::sponsor(contract_id)?.ok_or(<Error<T>>::SponsorNotSet)?
-					== T::CrossAccountId::from_sub(Self::account_id()),
+				T::ContractHandler::sponsor(contract_id)?
+					.ok_or(<Error<T>>::SponsorNotSet)?
+					.as_sub() == &Self::account_id(),
 				<Error<T>>::NoPermission
 			);
 			T::ContractHandler::remove_contract_sponsor(contract_id)
@@ -469,77 +500,9 @@
 			// 					/ T::RecalculationInterval::get())
 			// 				.into() + 1,
 			// 				&mut income_acc,
-			// 			);
-			// 		}
-			// 	}
-			// }
-
-			// {
-			// 	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()?;
 			// }
 
 			{
@@ -620,10 +583,20 @@
 		T::PalletId::get().into_account_truncating()
 	}
 
-	fn unlock_balance_unchecked(staker: &T::AccountId, amount: BalanceOf<T>) {
-		let mut locked_balance = Self::get_locked_balance(staker).map(|l| l.amount).unwrap();
-		locked_balance -= amount;
-		Self::set_lock_unchecked(staker, locked_balance);
+	fn unlock_balance(staker: &T::AccountId, amount: BalanceOf<T>) -> DispatchResult {
+		let locked_balance = Self::get_locked_balance(staker)
+			.map(|l| l.amount)
+			.ok_or(<Error<T>>::IncorrectLockedBalanceOperation)?;
+
+		// It is understood that we cannot unlock more funds than were locked by staking.
+		// Therefore, if implemented correctly, this error should not occur.
+		Self::set_lock_unchecked(
+			staker,
+			locked_balance
+				.checked_sub(&amount)
+				.ok_or(ArithmeticError::Underflow)?,
+		);
+		Ok(())
 	}
 
 	fn add_lock_balance(staker: &T::AccountId, amount: BalanceOf<T>) -> DispatchResult {
@@ -745,6 +718,9 @@
 where
 	<<T as Config>::Currency as Currency<T::AccountId>>::Balance: Sum,
 {
+	/// Since user funds are not transferred anywhere by staking, overflow protection is provided
+	/// at the level of the associated type `Balance` of `Currency` trait. In order to overflow,
+	/// the staker must have more funds on his account than the maximum set for `Balance` type.
 	pub fn cross_id_pending_unstake(staker: Option<T::CrossAccountId>) -> BalanceOf<T> {
 		staker.map_or(
 			PendingUnstake::<T>::iter_values()
modifiedpallets/unique/CHANGELOG.mddiffbeforeafterboth
--- a/pallets/unique/CHANGELOG.md
+++ b/pallets/unique/CHANGELOG.md
@@ -8,6 +8,8 @@
 
 ### Added
 
+-   Methods `force_set_sponsor` , `force_remove_collection_sponsor` to be able to administer sponsorships with other pallets. Added to implement `AppPromotion` pallet logic.
+
 ## [v0.1.3] 2022-08-16
 
 ### Other changes
modifiedtests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -16,14 +16,20 @@
 declare module '@polkadot/api-base/types/consts' {
   interface AugmentedConsts<ApiType extends ApiTypes> {
     appPromotion: {
+      /**
+       * Rate of return for interval in blocks defined in `RecalculationInterval`.
+       **/
       intervalIncome: Perbill & AugmentedConst<ApiType>;
+      /**
+       * Decimals for the `Currency`.
+       **/
       nominal: u128 & AugmentedConst<ApiType>;
       /**
        * The app's pallet id, used for deriving its sovereign account ID.
        **/
       palletId: FrameSupportPalletId & AugmentedConst<ApiType>;
       /**
-       * In relay blocks.
+       * In parachain blocks.
        **/
       pendingInterval: u32 & 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
@@ -13,23 +13,30 @@
   interface AugmentedErrors<ApiType extends ApiTypes> {
     appPromotion: {
       /**
-       * Error due to action requiring admin to be set
+       * Error due to action requiring admin to be set.
        **/
       AdminNotSet: AugmentedError<ApiType>;
       /**
-       * An error related to the fact that an invalid argument was passed to perform an action
+       * Errors caused by incorrect actions with a locked balance.
        **/
-      InvalidArgument: AugmentedError<ApiType>;
+      IncorrectLockedBalanceOperation: AugmentedError<ApiType>;
       /**
-       * No permission to perform an action
+       * No permission to perform an action.
        **/
       NoPermission: AugmentedError<ApiType>;
       /**
-       * Insufficient funds to perform an action
+       * Insufficient funds to perform an action.
        **/
       NotSufficientFunds: AugmentedError<ApiType>;
+      /**
+       * Occurs when a pending unstake cannot be added in this block. PENDING_LIMIT_PER_BLOCK` limits exceeded.
+       **/
       PendingForBlockOverflow: AugmentedError<ApiType>;
       /**
+       * The error is due to the fact that the collection/contract must already be sponsored in order to perform the action.
+       **/
+      SponsorNotSet: AugmentedError<ApiType>;
+      /**
        * Generic error
        **/
       [key: string]: AugmentedError<ApiType>;
modifiedtests/src/interfaces/augment-api-events.tsdiffbeforeafterboth
--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -16,9 +16,37 @@
 declare module '@polkadot/api-base/types/events' {
   interface AugmentedEvents<ApiType extends ApiTypes> {
     appPromotion: {
+      /**
+       * The admin was set
+       * 
+       * # Arguments
+       * * AccountId: ID of the admin
+       **/
       SetAdmin: AugmentedEvent<ApiType, [AccountId32]>;
+      /**
+       * Staking was performed
+       * 
+       * # Arguments
+       * * AccountId: ID of the staker
+       * * Balance : staking amount
+       **/
       Stake: AugmentedEvent<ApiType, [AccountId32, u128]>;
+      /**
+       * Staking recalculation was performed
+       * 
+       * # Arguments
+       * * AccountId: ID of the staker.
+       * * Balance : recalculation base
+       * * Balance : total income
+       **/
       StakingRecalculation: AugmentedEvent<ApiType, [AccountId32, u128, u128]>;
+      /**
+       * Unstaking was performed
+       * 
+       * # Arguments
+       * * AccountId: ID of the staker
+       * * Balance : unstaking amount
+       **/
       Unstake: AugmentedEvent<ApiType, [AccountId32, u128]>;
       /**
        * Generic event
modifiedtests/src/interfaces/augment-api-query.tsdiffbeforeafterboth
before · tests/src/interfaces/augment-api-query.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/api-base/types/storage';78import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';9import type { BTreeMap, Bytes, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';10import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';11import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';12import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerScheduledV3, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild } from '@polkadot/types/lookup';13import type { Observable } from '@polkadot/types/types';1415export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;16export type __QueryableStorageEntry<ApiType extends ApiTypes> = QueryableStorageEntry<ApiType>;1718declare module '@polkadot/api-base/types/storage' {19  interface AugmentedQueries<ApiType extends ApiTypes> {20    appPromotion: {21      admin: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;22      /**23       * Stores hash a record for which the last revenue recalculation was performed.24       * If `None`, then recalculation has not yet been performed or calculations have been completed for all stakers.25       **/26      nextCalculatedRecord: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[AccountId32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;27      /**28       * Amount of tokens pending unstake per user per block.29       **/30      pendingUnstake: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[AccountId32, u128]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;31      /**32       * Amount of tokens staked by account in the blocknumber.33       **/34      staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[u128, u32]>>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;35      /**36       * Amount of stakes for an Account37       **/38      stakesPerAccount: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u8>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;39      totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;40      /**41       * Generic query42       **/43      [key: string]: QueryableStorageEntry<ApiType>;44    };45    balances: {46      /**47       * The Balances pallet example of storing the balance of an account.48       * 49       * # Example50       * 51       * ```nocompile52       * impl pallet_balances::Config for Runtime {53       * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>54       * }55       * ```56       * 57       * You can also store the balance of an account in the `System` pallet.58       * 59       * # Example60       * 61       * ```nocompile62       * impl pallet_balances::Config for Runtime {63       * type AccountStore = System64       * }65       * ```66       * 67       * But this comes with tradeoffs, storing account balances in the system pallet stores68       * `frame_system` data alongside the account data contrary to storing account balances in the69       * `Balances` pallet, which uses a `StorageMap` to store balances data only.70       * NOTE: This is only used in the case that this pallet is used to store balances.71       **/72      account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;73      /**74       * Any liquidity locks on some account balances.75       * NOTE: Should only be accessed when setting, changing and freeing a lock.76       **/77      locks: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesBalanceLock>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;78      /**79       * Named reserves on some account balances.80       **/81      reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;82      /**83       * Storage version of the pallet.84       * 85       * This is set to v2.0.0 for new networks.86       **/87      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;88      /**89       * The total units issued in the system.90       **/91      totalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;92      /**93       * Generic query94       **/95      [key: string]: QueryableStorageEntry<ApiType>;96    };97    charging: {98      /**99       * Generic query100       **/101      [key: string]: QueryableStorageEntry<ApiType>;102    };103    common: {104      /**105       * Storage of the amount of collection admins.106       **/107      adminAmount: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;108      /**109       * Allowlisted collection users.110       **/111      allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;112      /**113       * Storage of collection info.114       **/115      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;116      /**117       * Storage of collection properties.118       **/119      collectionProperties: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;120      /**121       * Storage of token property permissions of a collection.122       **/123      collectionPropertyPermissions: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<BTreeMap<Bytes, UpDataStructsPropertyPermission>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;124      /**125       * Storage of the count of created collections. Essentially contains the last collection ID.126       **/127      createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;128      /**129       * Storage of the count of deleted collections.130       **/131      destroyedCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;132      /**133       * Not used by code, exists only to provide some types to metadata.134       **/135      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;136      /**137       * List of collection admins.138       **/139      isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;140      /**141       * Generic query142       **/143      [key: string]: QueryableStorageEntry<ApiType>;144    };145    configuration: {146      minGasPriceOverride: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;147      weightToFeeCoefficientOverride: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;148      /**149       * Generic query150       **/151      [key: string]: QueryableStorageEntry<ApiType>;152    };153    dmpQueue: {154      /**155       * The configuration.156       **/157      configuration: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;158      /**159       * The overweight messages.160       **/161      overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;162      /**163       * The page index.164       **/165      pageIndex: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueuePageIndexData>, []> & QueryableStorageEntry<ApiType, []>;166      /**167       * The queue pages.168       **/169      pages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, Bytes]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;170      /**171       * Generic query172       **/173      [key: string]: QueryableStorageEntry<ApiType>;174    };175    ethereum: {176      blockHash: AugmentedQuery<ApiType, (arg: U256 | AnyNumber | Uint8Array) => Observable<H256>, [U256]> & QueryableStorageEntry<ApiType, [U256]>;177      /**178       * The current Ethereum block.179       **/180      currentBlock: AugmentedQuery<ApiType, () => Observable<Option<EthereumBlock>>, []> & QueryableStorageEntry<ApiType, []>;181      /**182       * The current Ethereum receipts.183       **/184      currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;185      /**186       * The current transaction statuses.187       **/188      currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;189      /**190       * Injected transactions should have unique nonce, here we store current191       **/192      injectedNonce: AugmentedQuery<ApiType, () => Observable<U256>, []> & QueryableStorageEntry<ApiType, []>;193      /**194       * Current building block's transactions and receipts.195       **/196      pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;197      /**198       * Generic query199       **/200      [key: string]: QueryableStorageEntry<ApiType>;201    };202    evm: {203      accountCodes: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Bytes>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;204      accountStorages: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<H256>, [H160, H256]> & QueryableStorageEntry<ApiType, [H160, H256]>;205      /**206       * Written on log, reset after transaction207       * Should be empty between transactions208       **/209      currentLogs: AugmentedQuery<ApiType, () => Observable<Vec<EthereumLog>>, []> & QueryableStorageEntry<ApiType, []>;210      /**211       * Generic query212       **/213      [key: string]: QueryableStorageEntry<ApiType>;214    };215    evmCoderSubstrate: {216      /**217       * Generic query218       **/219      [key: string]: QueryableStorageEntry<ApiType>;220    };221    evmContractHelpers: {222      /**223       * Storage for users that allowed for sponsorship.224       * 225       * ### Usage226       * Prefer to delete record from storage if user no more allowed for sponsorship.227       * 228       * * **Key1** - contract address.229       * * **Key2** - user that allowed for sponsorship.230       * * **Value** - allowance for sponsorship.231       **/232      allowlist: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<bool>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;233      /**234       * Storege for contracts with [`Allowlisted`](SponsoringModeT::Allowlisted) sponsoring mode.235       * 236       * ### Usage237       * Prefer to delete collection from storage if mode chaged to non `Allowlisted`, than set **Value** to **false**.238       * 239       * * **Key** - contract address.240       * * **Value** - is contract in [`Allowlisted`](SponsoringModeT::Allowlisted) mode.241       **/242      allowlistEnabled: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;243      /**244       * Store owner for contract.245       * 246       * * **Key** - contract address.247       * * **Value** - owner for contract.248       **/249      owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;250      selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;251      /**252       * Storage for last sponsored block.253       * 254       * * **Key1** - contract address.255       * * **Key2** - sponsored user address.256       * * **Value** - last sponsored block number.257       **/258      sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;259      /**260       * Store for contract sponsorship state.261       * 262       * * **Key** - contract address.263       * * **Value** - sponsorship state.264       **/265      sponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<UpDataStructsSponsorshipStateBasicCrossAccountIdRepr>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;266      /**267       * Store for sponsoring mode.268       * 269       * ### Usage270       * Prefer to delete collection from storage if mode chaged to [`Disabled`](SponsoringModeT::Disabled).271       * 272       * * **Key** - contract address.273       * * **Value** - [`sponsoring mode`](SponsoringModeT).274       **/275      sponsoringMode: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmContractHelpersSponsoringModeT>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;276      /**277       * Storage for sponsoring rate limit in blocks.278       * 279       * * **Key** - contract address.280       * * **Value** - amount of sponsored blocks.281       **/282      sponsoringRateLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<u32>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;283      /**284       * Generic query285       **/286      [key: string]: QueryableStorageEntry<ApiType>;287    };288    evmMigration: {289      migrationPending: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;290      /**291       * Generic query292       **/293      [key: string]: QueryableStorageEntry<ApiType>;294    };295    fungible: {296      /**297       * Storage for assets delegated to a limited extent to other users.298       **/299      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;300      /**301       * Amount of tokens owned by an account inside a collection.302       **/303      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;304      /**305       * Total amount of fungible tokens inside a collection.306       **/307      totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;308      /**309       * Generic query310       **/311      [key: string]: QueryableStorageEntry<ApiType>;312    };313    inflation: {314      /**315       * Current inflation for `InflationBlockInterval` number of blocks316       **/317      blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;318      /**319       * Next target (relay) block when inflation will be applied320       **/321      nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;322      /**323       * Next target (relay) block when inflation is recalculated324       **/325      nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;326      /**327       * Relay block when inflation has started328       **/329      startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;330      /**331       * starting year total issuance332       **/333      startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;334      /**335       * Generic query336       **/337      [key: string]: QueryableStorageEntry<ApiType>;338    };339    nonfungible: {340      /**341       * Amount of tokens owned by an account in a collection.342       **/343      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;344      /**345       * Allowance set by a token owner for another user to perform one of certain transactions on a token.346       **/347      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;348      /**349       * Used to enumerate tokens owned by account.350       **/351      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;352      /**353       * Custom data of a token that is serialized to bytes,354       * primarily reserved for on-chain operations,355       * normally obscured from the external users.356       * 357       * Auxiliary properties are slightly different from358       * usual [`TokenProperties`] due to an unlimited number359       * and separately stored and written-to key-value pairs.360       * 361       * Currently used to store RMRK data.362       **/363      tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;364      /**365       * Used to enumerate token's children.366       **/367      tokenChildren: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<bool>, [u32, u32, ITuple<[u32, u32]>]> & QueryableStorageEntry<ApiType, [u32, u32, ITuple<[u32, u32]>]>;368      /**369       * Token data, used to partially describe a token.370       **/371      tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;372      /**373       * Map of key-value pairs, describing the metadata of a token.374       **/375      tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;376      /**377       * Amount of burnt tokens in a collection.378       **/379      tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;380      /**381       * Total amount of minted tokens in a collection.382       **/383      tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;384      /**385       * Generic query386       **/387      [key: string]: QueryableStorageEntry<ApiType>;388    };389    parachainInfo: {390      parachainId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;391      /**392       * Generic query393       **/394      [key: string]: QueryableStorageEntry<ApiType>;395    };396    parachainSystem: {397      /**398       * The number of HRMP messages we observed in `on_initialize` and thus used that number for399       * announcing the weight of `on_initialize` and `on_finalize`.400       **/401      announcedHrmpMessagesPerCandidate: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;402      /**403       * The next authorized upgrade, if there is one.404       **/405      authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;406      /**407       * A custom head data that should be returned as result of `validate_block`.408       * 409       * See [`Pallet::set_custom_validation_head_data`] for more information.410       **/411      customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;412      /**413       * Were the validation data set to notify the relay chain?414       **/415      didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;416      /**417       * The parachain host configuration that was obtained from the relay parent.418       * 419       * This field is meant to be updated each block with the validation data inherent. Therefore,420       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.421       * 422       * This data is also absent from the genesis.423       **/424      hostConfiguration: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2AbridgedHostConfiguration>>, []> & QueryableStorageEntry<ApiType, []>;425      /**426       * HRMP messages that were sent in a block.427       * 428       * This will be cleared in `on_initialize` of each new block.429       **/430      hrmpOutboundMessages: AugmentedQuery<ApiType, () => Observable<Vec<PolkadotCorePrimitivesOutboundHrmpMessage>>, []> & QueryableStorageEntry<ApiType, []>;431      /**432       * HRMP watermark that was set in a block.433       * 434       * This will be cleared in `on_initialize` of each new block.435       **/436      hrmpWatermark: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;437      /**438       * The last downward message queue chain head we have observed.439       * 440       * This value is loaded before and saved after processing inbound downward messages carried441       * by the system inherent.442       **/443      lastDmqMqcHead: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;444      /**445       * The message queue chain heads we have observed per each channel incoming channel.446       * 447       * This value is loaded before and saved after processing inbound downward messages carried448       * by the system inherent.449       **/450      lastHrmpMqcHeads: AugmentedQuery<ApiType, () => Observable<BTreeMap<u32, H256>>, []> & QueryableStorageEntry<ApiType, []>;451      /**452       * The relay chain block number associated with the last parachain block.453       **/454      lastRelayChainBlockNumber: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;455      /**456       * Validation code that is set by the parachain and is to be communicated to collator and457       * consequently the relay-chain.458       * 459       * This will be cleared in `on_initialize` of each new block if no other pallet already set460       * the value.461       **/462      newValidationCode: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;463      /**464       * Upward messages that are still pending and not yet send to the relay chain.465       **/466      pendingUpwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;467      /**468       * In case of a scheduled upgrade, this storage field contains the validation code to be applied.469       * 470       * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]471       * which will result the next block process with the new validation code. This concludes the upgrade process.472       * 473       * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE474       **/475      pendingValidationCode: AugmentedQuery<ApiType, () => Observable<Bytes>, []> & QueryableStorageEntry<ApiType, []>;476      /**477       * Number of downward messages processed in a block.478       * 479       * This will be cleared in `on_initialize` of each new block.480       **/481      processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;482      /**483       * The state proof for the last relay parent block.484       * 485       * This field is meant to be updated each block with the validation data inherent. Therefore,486       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.487       * 488       * This data is also absent from the genesis.489       **/490      relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;491      /**492       * The snapshot of some state related to messaging relevant to the current parachain as per493       * the relay parent.494       * 495       * This field is meant to be updated each block with the validation data inherent. Therefore,496       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.497       * 498       * This data is also absent from the genesis.499       **/500      relevantMessagingState: AugmentedQuery<ApiType, () => Observable<Option<CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot>>, []> & QueryableStorageEntry<ApiType, []>;501      /**502       * The weight we reserve at the beginning of the block for processing DMP messages. This503       * overrides the amount set in the Config trait.504       **/505      reservedDmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []> & QueryableStorageEntry<ApiType, []>;506      /**507       * The weight we reserve at the beginning of the block for processing XCMP messages. This508       * overrides the amount set in the Config trait.509       **/510      reservedXcmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []> & QueryableStorageEntry<ApiType, []>;511      /**512       * An option which indicates if the relay-chain restricts signalling a validation code upgrade.513       * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced514       * candidate will be invalid.515       * 516       * This storage item is a mirror of the corresponding value for the current parachain from the517       * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is518       * set after the inherent.519       **/520      upgradeRestrictionSignal: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2UpgradeRestriction>>, []> & QueryableStorageEntry<ApiType, []>;521      /**522       * Upward messages that were sent in a block.523       * 524       * This will be cleared in `on_initialize` of each new block.525       **/526      upwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;527      /**528       * The [`PersistedValidationData`] set for this block.529       * This value is expected to be set only once per block and it's never stored530       * in the trie.531       **/532      validationData: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2PersistedValidationData>>, []> & QueryableStorageEntry<ApiType, []>;533      /**534       * Generic query535       **/536      [key: string]: QueryableStorageEntry<ApiType>;537    };538    randomnessCollectiveFlip: {539      /**540       * Series of block headers from the last 81 blocks that acts as random seed material. This541       * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of542       * the oldest hash.543       **/544      randomMaterial: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;545      /**546       * Generic query547       **/548      [key: string]: QueryableStorageEntry<ApiType>;549    };550    refungible: {551      /**552       * Amount of tokens (not pieces) partially owned by an account within a collection.553       **/554      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;555      /**556       * Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.557       **/558      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;559      /**560       * Amount of token pieces owned by account.561       **/562      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;563      /**564       * Used to enumerate tokens owned by account.565       **/566      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;567      /**568       * Token data, used to partially describe a token.569       **/570      tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;571      /**572       * Amount of pieces a refungible token is split into.573       **/574      tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;575      /**576       * Amount of tokens burnt in a collection.577       **/578      tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;579      /**580       * Total amount of minted tokens in a collection.581       **/582      tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;583      /**584       * Total amount of pieces for token585       **/586      totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;587      /**588       * Generic query589       **/590      [key: string]: QueryableStorageEntry<ApiType>;591    };592    rmrkCore: {593      /**594       * Latest yet-unused collection ID.595       **/596      collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;597      /**598       * Mapping from RMRK collection ID to Unique's.599       **/600      uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;601      /**602       * Generic query603       **/604      [key: string]: QueryableStorageEntry<ApiType>;605    };606    rmrkEquip: {607      /**608       * Checkmark that a Base has a Theme NFT named "default".609       **/610      baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;611      /**612       * Map of a Base ID and a Part ID to an NFT in the Base collection serving as the Part.613       **/614      inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;615      /**616       * Generic query617       **/618      [key: string]: QueryableStorageEntry<ApiType>;619    };620    scheduler: {621      /**622       * Items to be executed, indexed by the block number that they should be executed on.623       **/624      agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletUniqueSchedulerScheduledV3>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;625      /**626       * Lookup from identity to the block number and index of the task.627       **/628      lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;629      /**630       * Generic query631       **/632      [key: string]: QueryableStorageEntry<ApiType>;633    };634    structure: {635      /**636       * Generic query637       **/638      [key: string]: QueryableStorageEntry<ApiType>;639    };640    sudo: {641      /**642       * The `AccountId` of the sudo key.643       **/644      key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;645      /**646       * Generic query647       **/648      [key: string]: QueryableStorageEntry<ApiType>;649    };650    system: {651      /**652       * The full account information for a particular account ID.653       **/654      account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<FrameSystemAccountInfo>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;655      /**656       * Total length (in bytes) for all extrinsics put together, for the current block.657       **/658      allExtrinsicsLen: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;659      /**660       * Map of block numbers to block hashes.661       **/662      blockHash: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<H256>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;663      /**664       * The current weight for the block.665       **/666      blockWeight: AugmentedQuery<ApiType, () => Observable<FrameSupportWeightsPerDispatchClassU64>, []> & QueryableStorageEntry<ApiType, []>;667      /**668       * Digest of the current block, also part of the block header.669       **/670      digest: AugmentedQuery<ApiType, () => Observable<SpRuntimeDigest>, []> & QueryableStorageEntry<ApiType, []>;671      /**672       * The number of events in the `Events<T>` list.673       **/674      eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;675      /**676       * Events deposited for the current block.677       * 678       * NOTE: The item is unbound and should therefore never be read on chain.679       * It could otherwise inflate the PoV size of a block.680       * 681       * Events have a large in-memory size. Box the events to not go out-of-memory682       * just in case someone still reads them from within the runtime.683       **/684      events: AugmentedQuery<ApiType, () => Observable<Vec<FrameSystemEventRecord>>, []> & QueryableStorageEntry<ApiType, []>;685      /**686       * Mapping between a topic (represented by T::Hash) and a vector of indexes687       * of events in the `<Events<T>>` list.688       * 689       * All topic vectors have deterministic storage locations depending on the topic. This690       * allows light-clients to leverage the changes trie storage tracking mechanism and691       * in case of changes fetch the list of events of interest.692       * 693       * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just694       * the `EventIndex` then in case if the topic has the same contents on the next block695       * no notification will be triggered thus the event might be lost.696       **/697      eventTopics: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;698      /**699       * The execution phase of the block.700       **/701      executionPhase: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemPhase>>, []> & QueryableStorageEntry<ApiType, []>;702      /**703       * Total extrinsics count for the current block.704       **/705      extrinsicCount: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;706      /**707       * Extrinsics data for the current block (maps an extrinsic's index to its data).708       **/709      extrinsicData: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;710      /**711       * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.712       **/713      lastRuntimeUpgrade: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemLastRuntimeUpgradeInfo>>, []> & QueryableStorageEntry<ApiType, []>;714      /**715       * The current block number being processed. Set by `execute_block`.716       **/717      number: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;718      /**719       * Hash of the previous block.720       **/721      parentHash: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;722      /**723       * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False724       * (default) if not.725       **/726      upgradedToTripleRefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;727      /**728       * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.729       **/730      upgradedToU32RefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;731      /**732       * Generic query733       **/734      [key: string]: QueryableStorageEntry<ApiType>;735    };736    timestamp: {737      /**738       * Did the timestamp get updated in this block?739       **/740      didUpdate: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;741      /**742       * Current time for the current block.743       **/744      now: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;745      /**746       * Generic query747       **/748      [key: string]: QueryableStorageEntry<ApiType>;749    };750    transactionPayment: {751      nextFeeMultiplier: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;752      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletTransactionPaymentReleases>, []> & QueryableStorageEntry<ApiType, []>;753      /**754       * Generic query755       **/756      [key: string]: QueryableStorageEntry<ApiType>;757    };758    treasury: {759      /**760       * Proposal indices that have been approved but not yet awarded.761       **/762      approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;763      /**764       * Number of proposals that have been made.765       **/766      proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;767      /**768       * Proposals that have been made.769       **/770      proposals: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletTreasuryProposal>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;771      /**772       * Generic query773       **/774      [key: string]: QueryableStorageEntry<ApiType>;775    };776    unique: {777      /**778       * Used for migrations779       **/780      chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;781      /**782       * (Collection id (controlled?2), who created (real))783       * TODO: Off chain worker should remove from this map when collection gets removed784       **/785      createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;786      /**787       * Last sponsoring of fungible tokens approval in a collection788       **/789      fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;790      /**791       * Collection id (controlled?2), owning user (real)792       **/793      fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;794      /**795       * Last sponsoring of NFT approval in a collection796       **/797      nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;798      /**799       * Collection id (controlled?2), token id (controlled?2)800       **/801      nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;802      /**803       * Last sponsoring of RFT approval in a collection804       **/805      refungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;806      /**807       * Collection id (controlled?2), token id (controlled?2)808       **/809      reFungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;810      /**811       * Last sponsoring of token property setting // todo:doc rephrase this and the following812       **/813      tokenPropertyBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;814      /**815       * Variable metadata sponsoring816       * Collection id (controlled?2), token id (controlled?2)817       **/818      variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;819      /**820       * Generic query821       **/822      [key: string]: QueryableStorageEntry<ApiType>;823    };824    vesting: {825      /**826       * Vesting schedules of an account.827       * 828       * VestingSchedules: map AccountId => Vec<VestingSchedule>829       **/830      vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;831      /**832       * Generic query833       **/834      [key: string]: QueryableStorageEntry<ApiType>;835    };836    xcmpQueue: {837      /**838       * Inbound aggregate XCMP messages. It can only be one per ParaId/block.839       **/840      inboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;841      /**842       * Status of the inbound XCMP channels.843       **/844      inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;845      /**846       * The messages outbound in a given XCMP channel.847       **/848      outboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u16 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u16]> & QueryableStorageEntry<ApiType, [u32, u16]>;849      /**850       * The non-empty XCMP channels in order of becoming non-empty, and the index of the first851       * and last outbound message. If the two indices are equal, then it indicates an empty852       * queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater853       * than 65535 items. Queue indices for normal messages begin at one; zero is reserved in854       * case of the need to send a high-priority signal message this block.855       * The bool is true if there is a signal message waiting to be sent.856       **/857      outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;858      /**859       * The messages that exceeded max individual message weight budget.860       * 861       * These message stay in this storage map until they are manually dispatched via862       * `service_overweight`.863       **/864      overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;865      /**866       * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next867       * available free overweight index.868       **/869      overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;870      /**871       * The configuration which controls the dynamics of the outbound queue.872       **/873      queueConfig: AugmentedQuery<ApiType, () => Observable<CumulusPalletXcmpQueueQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;874      /**875       * Whether or not the XCMP queue is suspended from executing incoming XCMs or not.876       **/877      queueSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;878      /**879       * Any signal messages waiting to be sent.880       **/881      signalMessages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;882      /**883       * Generic query884       **/885      [key: string]: QueryableStorageEntry<ApiType>;886    };887  } // AugmentedQueries888} // declare module
after · tests/src/interfaces/augment-api-query.ts
1// Auto-generated via `yarn polkadot-types-from-chain`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/api-base/types/storage';78import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types';9import type { BTreeMap, Bytes, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';10import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';11import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';12import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportWeightsPerDispatchClassU64, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerScheduledV3, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild } from '@polkadot/types/lookup';13import type { Observable } from '@polkadot/types/types';1415export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;16export type __QueryableStorageEntry<ApiType extends ApiTypes> = QueryableStorageEntry<ApiType>;1718declare module '@polkadot/api-base/types/storage' {19  interface AugmentedQueries<ApiType extends ApiTypes> {20    appPromotion: {21      admin: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;22      /**23       * Stores a key for record for which the next revenue recalculation would be performed.24       * If `None`, then recalculation has not yet been performed or calculations have been completed for all stakers.25       **/26      nextCalculatedRecord: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[AccountId32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;27      pendingUnstake: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[AccountId32, u128]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;28      /**29       * Amount of tokens staked by account in the blocknumber.30       **/31      staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[u128, u32]>>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;32      /**33       * Amount of stakes for an Account34       **/35      stakesPerAccount: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u8>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;36      totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;37      /**38       * Generic query39       **/40      [key: string]: QueryableStorageEntry<ApiType>;41    };42    balances: {43      /**44       * The Balances pallet example of storing the balance of an account.45       * 46       * # Example47       * 48       * ```nocompile49       * impl pallet_balances::Config for Runtime {50       * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>51       * }52       * ```53       * 54       * You can also store the balance of an account in the `System` pallet.55       * 56       * # Example57       * 58       * ```nocompile59       * impl pallet_balances::Config for Runtime {60       * type AccountStore = System61       * }62       * ```63       * 64       * But this comes with tradeoffs, storing account balances in the system pallet stores65       * `frame_system` data alongside the account data contrary to storing account balances in the66       * `Balances` pallet, which uses a `StorageMap` to store balances data only.67       * NOTE: This is only used in the case that this pallet is used to store balances.68       **/69      account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;70      /**71       * Any liquidity locks on some account balances.72       * NOTE: Should only be accessed when setting, changing and freeing a lock.73       **/74      locks: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesBalanceLock>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;75      /**76       * Named reserves on some account balances.77       **/78      reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;79      /**80       * Storage version of the pallet.81       * 82       * This is set to v2.0.0 for new networks.83       **/84      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;85      /**86       * The total units issued in the system.87       **/88      totalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;89      /**90       * Generic query91       **/92      [key: string]: QueryableStorageEntry<ApiType>;93    };94    charging: {95      /**96       * Generic query97       **/98      [key: string]: QueryableStorageEntry<ApiType>;99    };100    common: {101      /**102       * Storage of the amount of collection admins.103       **/104      adminAmount: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;105      /**106       * Allowlisted collection users.107       **/108      allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;109      /**110       * Storage of collection info.111       **/112      collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;113      /**114       * Storage of collection properties.115       **/116      collectionProperties: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;117      /**118       * Storage of token property permissions of a collection.119       **/120      collectionPropertyPermissions: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<BTreeMap<Bytes, UpDataStructsPropertyPermission>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;121      /**122       * Storage of the count of created collections. Essentially contains the last collection ID.123       **/124      createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;125      /**126       * Storage of the count of deleted collections.127       **/128      destroyedCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;129      /**130       * Not used by code, exists only to provide some types to metadata.131       **/132      dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;133      /**134       * List of collection admins.135       **/136      isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;137      /**138       * Generic query139       **/140      [key: string]: QueryableStorageEntry<ApiType>;141    };142    configuration: {143      minGasPriceOverride: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;144      weightToFeeCoefficientOverride: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;145      /**146       * Generic query147       **/148      [key: string]: QueryableStorageEntry<ApiType>;149    };150    dmpQueue: {151      /**152       * The configuration.153       **/154      configuration: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;155      /**156       * The overweight messages.157       **/158      overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;159      /**160       * The page index.161       **/162      pageIndex: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueuePageIndexData>, []> & QueryableStorageEntry<ApiType, []>;163      /**164       * The queue pages.165       **/166      pages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, Bytes]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;167      /**168       * Generic query169       **/170      [key: string]: QueryableStorageEntry<ApiType>;171    };172    ethereum: {173      blockHash: AugmentedQuery<ApiType, (arg: U256 | AnyNumber | Uint8Array) => Observable<H256>, [U256]> & QueryableStorageEntry<ApiType, [U256]>;174      /**175       * The current Ethereum block.176       **/177      currentBlock: AugmentedQuery<ApiType, () => Observable<Option<EthereumBlock>>, []> & QueryableStorageEntry<ApiType, []>;178      /**179       * The current Ethereum receipts.180       **/181      currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;182      /**183       * The current transaction statuses.184       **/185      currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;186      /**187       * Injected transactions should have unique nonce, here we store current188       **/189      injectedNonce: AugmentedQuery<ApiType, () => Observable<U256>, []> & QueryableStorageEntry<ApiType, []>;190      /**191       * Current building block's transactions and receipts.192       **/193      pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;194      /**195       * Generic query196       **/197      [key: string]: QueryableStorageEntry<ApiType>;198    };199    evm: {200      accountCodes: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Bytes>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;201      accountStorages: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<H256>, [H160, H256]> & QueryableStorageEntry<ApiType, [H160, H256]>;202      /**203       * Written on log, reset after transaction204       * Should be empty between transactions205       **/206      currentLogs: AugmentedQuery<ApiType, () => Observable<Vec<EthereumLog>>, []> & QueryableStorageEntry<ApiType, []>;207      /**208       * Generic query209       **/210      [key: string]: QueryableStorageEntry<ApiType>;211    };212    evmCoderSubstrate: {213      /**214       * Generic query215       **/216      [key: string]: QueryableStorageEntry<ApiType>;217    };218    evmContractHelpers: {219      /**220       * Storage for users that allowed for sponsorship.221       * 222       * ### Usage223       * Prefer to delete record from storage if user no more allowed for sponsorship.224       * 225       * * **Key1** - contract address.226       * * **Key2** - user that allowed for sponsorship.227       * * **Value** - allowance for sponsorship.228       **/229      allowlist: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<bool>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;230      /**231       * Storege for contracts with [`Allowlisted`](SponsoringModeT::Allowlisted) sponsoring mode.232       * 233       * ### Usage234       * Prefer to delete collection from storage if mode chaged to non `Allowlisted`, than set **Value** to **false**.235       * 236       * * **Key** - contract address.237       * * **Value** - is contract in [`Allowlisted`](SponsoringModeT::Allowlisted) mode.238       **/239      allowlistEnabled: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;240      /**241       * Store owner for contract.242       * 243       * * **Key** - contract address.244       * * **Value** - owner for contract.245       **/246      owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;247      selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;248      /**249       * Storage for last sponsored block.250       * 251       * * **Key1** - contract address.252       * * **Key2** - sponsored user address.253       * * **Value** - last sponsored block number.254       **/255      sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;256      /**257       * Store for contract sponsorship state.258       * 259       * * **Key** - contract address.260       * * **Value** - sponsorship state.261       **/262      sponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<UpDataStructsSponsorshipStateBasicCrossAccountIdRepr>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;263      /**264       * Store for sponsoring mode.265       * 266       * ### Usage267       * Prefer to delete collection from storage if mode chaged to [`Disabled`](SponsoringModeT::Disabled).268       * 269       * * **Key** - contract address.270       * * **Value** - [`sponsoring mode`](SponsoringModeT).271       **/272      sponsoringMode: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmContractHelpersSponsoringModeT>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;273      /**274       * Storage for sponsoring rate limit in blocks.275       * 276       * * **Key** - contract address.277       * * **Value** - amount of sponsored blocks.278       **/279      sponsoringRateLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<u32>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;280      /**281       * Generic query282       **/283      [key: string]: QueryableStorageEntry<ApiType>;284    };285    evmMigration: {286      migrationPending: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;287      /**288       * Generic query289       **/290      [key: string]: QueryableStorageEntry<ApiType>;291    };292    fungible: {293      /**294       * Storage for assets delegated to a limited extent to other users.295       **/296      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;297      /**298       * Amount of tokens owned by an account inside a collection.299       **/300      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;301      /**302       * Total amount of fungible tokens inside a collection.303       **/304      totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;305      /**306       * Generic query307       **/308      [key: string]: QueryableStorageEntry<ApiType>;309    };310    inflation: {311      /**312       * Current inflation for `InflationBlockInterval` number of blocks313       **/314      blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;315      /**316       * Next target (relay) block when inflation will be applied317       **/318      nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;319      /**320       * Next target (relay) block when inflation is recalculated321       **/322      nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;323      /**324       * Relay block when inflation has started325       **/326      startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;327      /**328       * starting year total issuance329       **/330      startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;331      /**332       * Generic query333       **/334      [key: string]: QueryableStorageEntry<ApiType>;335    };336    nonfungible: {337      /**338       * Amount of tokens owned by an account in a collection.339       **/340      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;341      /**342       * Allowance set by a token owner for another user to perform one of certain transactions on a token.343       **/344      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;345      /**346       * Used to enumerate tokens owned by account.347       **/348      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;349      /**350       * Custom data of a token that is serialized to bytes,351       * primarily reserved for on-chain operations,352       * normally obscured from the external users.353       * 354       * Auxiliary properties are slightly different from355       * usual [`TokenProperties`] due to an unlimited number356       * and separately stored and written-to key-value pairs.357       * 358       * Currently used to store RMRK data.359       **/360      tokenAuxProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: UpDataStructsPropertyScope | 'None' | 'Rmrk' | number | Uint8Array, arg4: Bytes | string | Uint8Array) => Observable<Option<Bytes>>, [u32, u32, UpDataStructsPropertyScope, Bytes]> & QueryableStorageEntry<ApiType, [u32, u32, UpDataStructsPropertyScope, Bytes]>;361      /**362       * Used to enumerate token's children.363       **/364      tokenChildren: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array]) => Observable<bool>, [u32, u32, ITuple<[u32, u32]>]> & QueryableStorageEntry<ApiType, [u32, u32, ITuple<[u32, u32]>]>;365      /**366       * Token data, used to partially describe a token.367       **/368      tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;369      /**370       * Map of key-value pairs, describing the metadata of a token.371       **/372      tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;373      /**374       * Amount of burnt tokens in a collection.375       **/376      tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;377      /**378       * Total amount of minted tokens in a collection.379       **/380      tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;381      /**382       * Generic query383       **/384      [key: string]: QueryableStorageEntry<ApiType>;385    };386    parachainInfo: {387      parachainId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;388      /**389       * Generic query390       **/391      [key: string]: QueryableStorageEntry<ApiType>;392    };393    parachainSystem: {394      /**395       * The number of HRMP messages we observed in `on_initialize` and thus used that number for396       * announcing the weight of `on_initialize` and `on_finalize`.397       **/398      announcedHrmpMessagesPerCandidate: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;399      /**400       * The next authorized upgrade, if there is one.401       **/402      authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;403      /**404       * A custom head data that should be returned as result of `validate_block`.405       * 406       * See [`Pallet::set_custom_validation_head_data`] for more information.407       **/408      customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;409      /**410       * Were the validation data set to notify the relay chain?411       **/412      didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;413      /**414       * The parachain host configuration that was obtained from the relay parent.415       * 416       * This field is meant to be updated each block with the validation data inherent. Therefore,417       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.418       * 419       * This data is also absent from the genesis.420       **/421      hostConfiguration: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2AbridgedHostConfiguration>>, []> & QueryableStorageEntry<ApiType, []>;422      /**423       * HRMP messages that were sent in a block.424       * 425       * This will be cleared in `on_initialize` of each new block.426       **/427      hrmpOutboundMessages: AugmentedQuery<ApiType, () => Observable<Vec<PolkadotCorePrimitivesOutboundHrmpMessage>>, []> & QueryableStorageEntry<ApiType, []>;428      /**429       * HRMP watermark that was set in a block.430       * 431       * This will be cleared in `on_initialize` of each new block.432       **/433      hrmpWatermark: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;434      /**435       * The last downward message queue chain head we have observed.436       * 437       * This value is loaded before and saved after processing inbound downward messages carried438       * by the system inherent.439       **/440      lastDmqMqcHead: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;441      /**442       * The message queue chain heads we have observed per each channel incoming channel.443       * 444       * This value is loaded before and saved after processing inbound downward messages carried445       * by the system inherent.446       **/447      lastHrmpMqcHeads: AugmentedQuery<ApiType, () => Observable<BTreeMap<u32, H256>>, []> & QueryableStorageEntry<ApiType, []>;448      /**449       * The relay chain block number associated with the last parachain block.450       **/451      lastRelayChainBlockNumber: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;452      /**453       * Validation code that is set by the parachain and is to be communicated to collator and454       * consequently the relay-chain.455       * 456       * This will be cleared in `on_initialize` of each new block if no other pallet already set457       * the value.458       **/459      newValidationCode: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;460      /**461       * Upward messages that are still pending and not yet send to the relay chain.462       **/463      pendingUpwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;464      /**465       * In case of a scheduled upgrade, this storage field contains the validation code to be applied.466       * 467       * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]468       * which will result the next block process with the new validation code. This concludes the upgrade process.469       * 470       * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE471       **/472      pendingValidationCode: AugmentedQuery<ApiType, () => Observable<Bytes>, []> & QueryableStorageEntry<ApiType, []>;473      /**474       * Number of downward messages processed in a block.475       * 476       * This will be cleared in `on_initialize` of each new block.477       **/478      processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;479      /**480       * The state proof for the last relay parent block.481       * 482       * This field is meant to be updated each block with the validation data inherent. Therefore,483       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.484       * 485       * This data is also absent from the genesis.486       **/487      relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;488      /**489       * The snapshot of some state related to messaging relevant to the current parachain as per490       * the relay parent.491       * 492       * This field is meant to be updated each block with the validation data inherent. Therefore,493       * before processing of the inherent, e.g. in `on_initialize` this data may be stale.494       * 495       * This data is also absent from the genesis.496       **/497      relevantMessagingState: AugmentedQuery<ApiType, () => Observable<Option<CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot>>, []> & QueryableStorageEntry<ApiType, []>;498      /**499       * The weight we reserve at the beginning of the block for processing DMP messages. This500       * overrides the amount set in the Config trait.501       **/502      reservedDmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []> & QueryableStorageEntry<ApiType, []>;503      /**504       * The weight we reserve at the beginning of the block for processing XCMP messages. This505       * overrides the amount set in the Config trait.506       **/507      reservedXcmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<u64>>, []> & QueryableStorageEntry<ApiType, []>;508      /**509       * An option which indicates if the relay-chain restricts signalling a validation code upgrade.510       * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced511       * candidate will be invalid.512       * 513       * This storage item is a mirror of the corresponding value for the current parachain from the514       * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is515       * set after the inherent.516       **/517      upgradeRestrictionSignal: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2UpgradeRestriction>>, []> & QueryableStorageEntry<ApiType, []>;518      /**519       * Upward messages that were sent in a block.520       * 521       * This will be cleared in `on_initialize` of each new block.522       **/523      upwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;524      /**525       * The [`PersistedValidationData`] set for this block.526       * This value is expected to be set only once per block and it's never stored527       * in the trie.528       **/529      validationData: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2PersistedValidationData>>, []> & QueryableStorageEntry<ApiType, []>;530      /**531       * Generic query532       **/533      [key: string]: QueryableStorageEntry<ApiType>;534    };535    randomnessCollectiveFlip: {536      /**537       * Series of block headers from the last 81 blocks that acts as random seed material. This538       * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of539       * the oldest hash.540       **/541      randomMaterial: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;542      /**543       * Generic query544       **/545      [key: string]: QueryableStorageEntry<ApiType>;546    };547    refungible: {548      /**549       * Amount of tokens (not pieces) partially owned by an account within a collection.550       **/551      accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;552      /**553       * Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.554       **/555      allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg4: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;556      /**557       * Amount of token pieces owned by account.558       **/559      balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr]>;560      /**561       * Used to enumerate tokens owned by account.562       **/563      owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;564      /**565       * Token data, used to partially describe a token.566       **/567      tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;568      /**569       * Amount of pieces a refungible token is split into.570       **/571      tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;572      /**573       * Amount of tokens burnt in a collection.574       **/575      tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;576      /**577       * Total amount of minted tokens in a collection.578       **/579      tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;580      /**581       * Total amount of pieces for token582       **/583      totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;584      /**585       * Generic query586       **/587      [key: string]: QueryableStorageEntry<ApiType>;588    };589    rmrkCore: {590      /**591       * Latest yet-unused collection ID.592       **/593      collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;594      /**595       * Mapping from RMRK collection ID to Unique's.596       **/597      uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;598      /**599       * Generic query600       **/601      [key: string]: QueryableStorageEntry<ApiType>;602    };603    rmrkEquip: {604      /**605       * Checkmark that a Base has a Theme NFT named "default".606       **/607      baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;608      /**609       * Map of a Base ID and a Part ID to an NFT in the Base collection serving as the Part.610       **/611      inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;612      /**613       * Generic query614       **/615      [key: string]: QueryableStorageEntry<ApiType>;616    };617    scheduler: {618      /**619       * Items to be executed, indexed by the block number that they should be executed on.620       **/621      agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletUniqueSchedulerScheduledV3>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;622      /**623       * Lookup from identity to the block number and index of the task.624       **/625      lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;626      /**627       * Generic query628       **/629      [key: string]: QueryableStorageEntry<ApiType>;630    };631    structure: {632      /**633       * Generic query634       **/635      [key: string]: QueryableStorageEntry<ApiType>;636    };637    sudo: {638      /**639       * The `AccountId` of the sudo key.640       **/641      key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;642      /**643       * Generic query644       **/645      [key: string]: QueryableStorageEntry<ApiType>;646    };647    system: {648      /**649       * The full account information for a particular account ID.650       **/651      account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<FrameSystemAccountInfo>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;652      /**653       * Total length (in bytes) for all extrinsics put together, for the current block.654       **/655      allExtrinsicsLen: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;656      /**657       * Map of block numbers to block hashes.658       **/659      blockHash: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<H256>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;660      /**661       * The current weight for the block.662       **/663      blockWeight: AugmentedQuery<ApiType, () => Observable<FrameSupportWeightsPerDispatchClassU64>, []> & QueryableStorageEntry<ApiType, []>;664      /**665       * Digest of the current block, also part of the block header.666       **/667      digest: AugmentedQuery<ApiType, () => Observable<SpRuntimeDigest>, []> & QueryableStorageEntry<ApiType, []>;668      /**669       * The number of events in the `Events<T>` list.670       **/671      eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;672      /**673       * Events deposited for the current block.674       * 675       * NOTE: The item is unbound and should therefore never be read on chain.676       * It could otherwise inflate the PoV size of a block.677       * 678       * Events have a large in-memory size. Box the events to not go out-of-memory679       * just in case someone still reads them from within the runtime.680       **/681      events: AugmentedQuery<ApiType, () => Observable<Vec<FrameSystemEventRecord>>, []> & QueryableStorageEntry<ApiType, []>;682      /**683       * Mapping between a topic (represented by T::Hash) and a vector of indexes684       * of events in the `<Events<T>>` list.685       * 686       * All topic vectors have deterministic storage locations depending on the topic. This687       * allows light-clients to leverage the changes trie storage tracking mechanism and688       * in case of changes fetch the list of events of interest.689       * 690       * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just691       * the `EventIndex` then in case if the topic has the same contents on the next block692       * no notification will be triggered thus the event might be lost.693       **/694      eventTopics: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;695      /**696       * The execution phase of the block.697       **/698      executionPhase: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemPhase>>, []> & QueryableStorageEntry<ApiType, []>;699      /**700       * Total extrinsics count for the current block.701       **/702      extrinsicCount: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;703      /**704       * Extrinsics data for the current block (maps an extrinsic's index to its data).705       **/706      extrinsicData: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;707      /**708       * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.709       **/710      lastRuntimeUpgrade: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemLastRuntimeUpgradeInfo>>, []> & QueryableStorageEntry<ApiType, []>;711      /**712       * The current block number being processed. Set by `execute_block`.713       **/714      number: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;715      /**716       * Hash of the previous block.717       **/718      parentHash: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;719      /**720       * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False721       * (default) if not.722       **/723      upgradedToTripleRefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;724      /**725       * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.726       **/727      upgradedToU32RefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;728      /**729       * Generic query730       **/731      [key: string]: QueryableStorageEntry<ApiType>;732    };733    timestamp: {734      /**735       * Did the timestamp get updated in this block?736       **/737      didUpdate: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;738      /**739       * Current time for the current block.740       **/741      now: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;742      /**743       * Generic query744       **/745      [key: string]: QueryableStorageEntry<ApiType>;746    };747    transactionPayment: {748      nextFeeMultiplier: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;749      storageVersion: AugmentedQuery<ApiType, () => Observable<PalletTransactionPaymentReleases>, []> & QueryableStorageEntry<ApiType, []>;750      /**751       * Generic query752       **/753      [key: string]: QueryableStorageEntry<ApiType>;754    };755    treasury: {756      /**757       * Proposal indices that have been approved but not yet awarded.758       **/759      approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;760      /**761       * Number of proposals that have been made.762       **/763      proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;764      /**765       * Proposals that have been made.766       **/767      proposals: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletTreasuryProposal>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;768      /**769       * Generic query770       **/771      [key: string]: QueryableStorageEntry<ApiType>;772    };773    unique: {774      /**775       * Used for migrations776       **/777      chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;778      /**779       * (Collection id (controlled?2), who created (real))780       * TODO: Off chain worker should remove from this map when collection gets removed781       **/782      createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;783      /**784       * Last sponsoring of fungible tokens approval in a collection785       **/786      fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;787      /**788       * Collection id (controlled?2), owning user (real)789       **/790      fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;791      /**792       * Last sponsoring of NFT approval in a collection793       **/794      nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;795      /**796       * Collection id (controlled?2), token id (controlled?2)797       **/798      nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;799      /**800       * Last sponsoring of RFT approval in a collection801       **/802      refungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;803      /**804       * Collection id (controlled?2), token id (controlled?2)805       **/806      reFungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array, arg3: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, u32, AccountId32]>;807      /**808       * Last sponsoring of token property setting // todo:doc rephrase this and the following809       **/810      tokenPropertyBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;811      /**812       * Variable metadata sponsoring813       * Collection id (controlled?2), token id (controlled?2)814       **/815      variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;816      /**817       * Generic query818       **/819      [key: string]: QueryableStorageEntry<ApiType>;820    };821    vesting: {822      /**823       * Vesting schedules of an account.824       * 825       * VestingSchedules: map AccountId => Vec<VestingSchedule>826       **/827      vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;828      /**829       * Generic query830       **/831      [key: string]: QueryableStorageEntry<ApiType>;832    };833    xcmpQueue: {834      /**835       * Inbound aggregate XCMP messages. It can only be one per ParaId/block.836       **/837      inboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;838      /**839       * Status of the inbound XCMP channels.840       **/841      inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;842      /**843       * The messages outbound in a given XCMP channel.844       **/845      outboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u16 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u16]> & QueryableStorageEntry<ApiType, [u32, u16]>;846      /**847       * The non-empty XCMP channels in order of becoming non-empty, and the index of the first848       * and last outbound message. If the two indices are equal, then it indicates an empty849       * queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater850       * than 65535 items. Queue indices for normal messages begin at one; zero is reserved in851       * case of the need to send a high-priority signal message this block.852       * The bool is true if there is a signal message waiting to be sent.853       **/854      outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;855      /**856       * The messages that exceeded max individual message weight budget.857       * 858       * These message stay in this storage map until they are manually dispatched via859       * `service_overweight`.860       **/861      overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;862      /**863       * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next864       * available free overweight index.865       **/866      overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;867      /**868       * The configuration which controls the dynamics of the outbound queue.869       **/870      queueConfig: AugmentedQuery<ApiType, () => Observable<CumulusPalletXcmpQueueQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;871      /**872       * Whether or not the XCMP queue is suspended from executing incoming XCMs or not.873       **/874      queueSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;875      /**876       * Any signal messages waiting to be sent.877       **/878      signalMessages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;879      /**880       * Generic query881       **/882      [key: string]: QueryableStorageEntry<ApiType>;883    };884  } // AugmentedQueries885} // declare module
modifiedtests/src/interfaces/default/types.tsdiffbeforeafterboth
--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -846,8 +846,9 @@
   readonly isNoPermission: boolean;
   readonly isNotSufficientFunds: boolean;
   readonly isPendingForBlockOverflow: boolean;
-  readonly isInvalidArgument: boolean;
-  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'InvalidArgument';
+  readonly isSponsorNotSet: boolean;
+  readonly isIncorrectLockedBalanceOperation: boolean;
+  readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
 }
 
 /** @name PalletAppPromotionEvent */
modifiedtests/src/interfaces/lookup.tsdiffbeforeafterboth
--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -3115,7 +3115,7 @@
    * Lookup416: pallet_app_promotion::pallet::Error<T>
    **/
   PalletAppPromotionError: {
-    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'InvalidArgument']
+    _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
   },
   /**
    * Lookup419: 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
@@ -3309,8 +3309,9 @@
     readonly isNoPermission: boolean;
     readonly isNotSufficientFunds: boolean;
     readonly isPendingForBlockOverflow: boolean;
-    readonly isInvalidArgument: boolean;
-    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'InvalidArgument';
+    readonly isSponsorNotSet: boolean;
+    readonly isIncorrectLockedBalanceOperation: boolean;
+    readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
   }
 
   /** @name PalletEvmError (419) */