difftreelog
added the ability to configure pallet `app-promotion` via the `configuration` palette
in: master
14 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5524,13 +5524,14 @@
[[package]]
name = "pallet-app-promotion"
-version = "0.1.0"
+version = "0.1.1"
dependencies = [
"frame-benchmarking",
"frame-support",
"frame-system",
"pallet-balances",
"pallet-common",
+ "pallet-configuration",
"pallet-evm",
"pallet-evm-contract-helpers",
"pallet-evm-migration",
@@ -5784,7 +5785,7 @@
[[package]]
name = "pallet-configuration"
-version = "0.1.1"
+version = "0.1.2"
dependencies = [
"fp-evm",
"frame-support",
pallets/app-promotion/CHANGELOG.mddiffbeforeafterboth--- /dev/null
+++ b/pallets/app-promotion/CHANGELOG.md
@@ -0,0 +1,11 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+
+<!-- bureaucrate goes here -->
+
+## [0.1.1] - 2022-12-13
+
+### Added
+
+- The ability to configure pallet `app-promotion` via the `configuration` palette
pallets/app-promotion/Cargo.tomldiffbeforeafterboth--- a/pallets/app-promotion/Cargo.toml
+++ b/pallets/app-promotion/Cargo.toml
@@ -9,7 +9,7 @@
license = 'GPLv3'
name = 'pallet-app-promotion'
repository = 'https://github.com/UniqueNetwork/unique-chain'
-version = '0.1.0'
+version = '0.1.1'
[package.metadata.docs.rs]
targets = ['x86_64-unknown-linux-gnu']
@@ -68,6 +68,7 @@
up-data-structs = { default-features = false, path = "../../primitives/data-structs" }
pallet-common = { default-features = false, path = "../common" }
+pallet-configuration = { default-features = false, path = "../configuration" }
pallet-unique = { default-features = false, path = "../unique" }
pallet-evm-contract-helpers = { default-features = false, path = "../evm-contract-helpers" }
pallet-evm-migration = { default-features = false, path = "../evm-migration" }
pallets/app-promotion/src/lib.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/lib.rs
+++ b/pallets/app-promotion/src/lib.rs
@@ -102,7 +102,9 @@
use frame_system::pallet_prelude::*;
#[pallet::config]
- pub trait Config: frame_system::Config + pallet_evm::Config {
+ pub trait Config:
+ frame_system::Config + pallet_evm::Config + pallet_configuration::Config
+ {
/// Type to interact with the native token
type Currency: ExtendedLockableCurrency<Self::AccountId>
+ ReservableCurrency<Self::AccountId>;
@@ -330,6 +332,7 @@
amount >= <BalanceOf<T>>::from(100u128) * T::Nominal::get(),
ArithmeticError::Underflow
);
+ let config = <PalletConfiguration<T>>::get();
let balance =
<<T as Config>::Currency as Currency<T::AccountId>>::free_balance(&staker_id);
@@ -351,7 +354,7 @@
// Calculation of the number of recalculation periods,
// after how much the first interest calculation should be performed for the stake
let recalculate_after_interval: T::BlockNumber =
- if block_number % T::RecalculationInterval::get() == 0u32.into() {
+ if block_number % config.recalculation_interval == 0u32.into() {
1u32.into()
} else {
2u32.into()
@@ -359,9 +362,9 @@
// Сalculation of the number of the relay block
// in which it is necessary to accrue remuneration for the stake.
- let recalc_block = (block_number / T::RecalculationInterval::get()
+ let recalc_block = (block_number / config.recalculation_interval
+ recalculate_after_interval)
- * T::RecalculationInterval::get();
+ * config.recalculation_interval;
<Staked<T>>::insert((&staker_id, block_number), {
let mut balance_and_recalc_block = <Staked<T>>::get((&staker_id, block_number));
@@ -393,9 +396,10 @@
#[pallet::weight(<T as Config>::WeightInfo::unstake())]
pub fn unstake(staker: OriginFor<T>) -> DispatchResultWithPostInfo {
let staker_id = ensure_signed(staker)?;
+ let config = <PalletConfiguration<T>>::get();
// calculate block number where the sum would be free
- let block = <frame_system::Pallet<T>>::block_number() + T::PendingInterval::get();
+ let block = <frame_system::Pallet<T>>::block_number() + config.pending_interval;
let mut pendings = <PendingUnstake<T>>::get(block);
@@ -568,15 +572,25 @@
admin_id == Admin::<T>::get().ok_or(Error::<T>::AdminNotSet)?,
Error::<T>::NoPermission
);
+ let config = <PalletConfiguration<T>>::get();
+ let mut stakers_number = stakers_number.unwrap_or(DEFAULT_NUMBER_PAYOUTS);
+
+ ensure!(
+ stakers_number <= config.max_stakers_per_calculation,
+ Error::<T>::NoPermission
+ );
+
// calculate the number of the current recalculation block,
// this is necessary in order to understand which stakers we should calculate interest
- let current_recalc_block =
- Self::get_current_recalc_block(T::RelayBlockNumberProvider::current_block_number());
+ let current_recalc_block = Self::get_current_recalc_block(
+ T::RelayBlockNumberProvider::current_block_number(),
+ &config,
+ );
// calculate the number of the next recalculation block,
// this value is set for the stakers to whom the recalculation will be performed
- let next_recalc_block = current_recalc_block + T::RecalculationInterval::get();
+ let next_recalc_block = current_recalc_block + config.recalculation_interval;
let mut storage_iterator = Self::get_next_calculated_key()
.map_or(Staked::<T>::iter(), |key| Staked::<T>::iter_from(key));
@@ -584,7 +598,6 @@
NextCalculatedRecord::<T>::set(None);
{
- 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());
@@ -644,8 +657,8 @@
next_recalc_block,
amount,
((current_recalc_block - next_recalc_block_for_stake)
- / T::RecalculationInterval::get())
- .into() + 1,
+ / config.recalculation_interval)
+ .into() + 1,
&mut *income_acc.borrow_mut(),
);
}
@@ -810,15 +823,19 @@
where
I: EncodeLike<BalanceOf<T>> + Balance,
{
+ let config = <PalletConfiguration<T>>::get();
let mut income = base;
- (0..iters).for_each(|_| income += T::IntervalIncome::get() * income);
+ (0..iters).for_each(|_| income += config.interval_income * income);
income - base
}
- fn get_current_recalc_block(current_relay_block: T::BlockNumber) -> T::BlockNumber {
- (current_relay_block / T::RecalculationInterval::get()) * T::RecalculationInterval::get()
+ fn get_current_recalc_block(
+ current_relay_block: T::BlockNumber,
+ config: &PalletConfiguration<T>,
+ ) -> T::BlockNumber {
+ (current_relay_block / config.recalculation_interval) * config.recalculation_interval
}
fn get_next_calculated_key() -> Option<Vec<u8>> {
pallets/app-promotion/src/types.rsdiffbeforeafterboth--- a/pallets/app-promotion/src/types.rs
+++ b/pallets/app-promotion/src/types.rs
@@ -4,10 +4,15 @@
use pallet_balances::{BalanceLock, Config as BalancesConfig, Pallet as PalletBalances};
use pallet_common::CollectionHandle;
-use sp_runtime::DispatchError;
+use sp_runtime::{DispatchError, Perbill};
use up_data_structs::{CollectionId};
use sp_std::borrow::ToOwned;
use pallet_evm_contract_helpers::{Pallet as EvmHelpersPallet, Config as EvmHelpersConfig};
+use pallet_configuration::{AppPromomotionConfigurationOverride};
+use sp_core::Get;
+
+const MAX_NUMBER_PAYOUTS: u8 = 100;
+pub(crate) const DEFAULT_NUMBER_PAYOUTS: u8 = 20;
/// This trait was defined because `LockableCurrency`
/// has no way to know the state of the lock for an account.
@@ -128,3 +133,24 @@
Ok(Self::get_sponsor(contract_address))
}
}
+pub(crate) struct PalletConfiguration<T: crate::Config> {
+ /// In relay blocks.
+ pub recalculation_interval: T::BlockNumber,
+ /// In parachain blocks.
+ pub pending_interval: T::BlockNumber,
+ /// Value for `RecalculationInterval` based on 0.05% per 24h.
+ pub interval_income: Perbill,
+ /// Maximum allowable number of stakers calculated per call of the `app-promotion::PayoutStakers` extrinsic.
+ pub max_stakers_per_calculation: u8,
+}
+impl<T: crate::Config> PalletConfiguration<T> {
+ pub fn get() -> Self {
+ let config = <AppPromomotionConfigurationOverride<T>>::get().unwrap_or_default();
+ Self {
+ recalculation_interval: config.0.unwrap_or(T::RecalculationInterval::get()),
+ pending_interval: config.2.unwrap_or(T::PendingInterval::get()),
+ interval_income: config.1.unwrap_or(T::IntervalIncome::get()),
+ max_stakers_per_calculation: config.3.unwrap_or(MAX_NUMBER_PAYOUTS),
+ }
+ }
+}
pallets/configuration/CHANGELOG.mddiffbeforeafterboth--- a/pallets/configuration/CHANGELOG.md
+++ b/pallets/configuration/CHANGELOG.md
@@ -1,4 +1,10 @@
<!-- bureaucrate goes here -->
+## [0.1.2] - 2022-12-13
+
+### Added
+
+- The ability to configure pallet `app-promotion` via the `configuration` palette
+
## [v0.1.1] 2022-08-16
### Other changes
pallets/configuration/Cargo.tomldiffbeforeafterboth--- a/pallets/configuration/Cargo.toml
+++ b/pallets/configuration/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "pallet-configuration"
-version = "0.1.1"
+version = "0.1.2"
edition = "2021"
[dependencies]
pallets/configuration/src/lib.rsdiffbeforeafterboth--- a/pallets/configuration/src/lib.rs
+++ b/pallets/configuration/src/lib.rs
@@ -51,6 +51,10 @@
#[pallet::constant]
type MaxOverridedAllowedLocations: Get<u32>;
+ #[pallet::constant]
+ type AppPromotionDailyRate: Get<Perbill>;
+ #[pallet::constant]
+ type DayRelayBlocks: Get<Self::BlockNumber>;
}
#[pallet::storage]
@@ -70,6 +74,17 @@
QueryKind = OptionQuery,
>;
+ #[pallet::storage]
+ pub type AppPromomotionConfigurationOverride<T: Config> = StorageValue<
+ Value = (
+ Option<T::BlockNumber>,
+ Option<Perbill>,
+ Option<T::BlockNumber>,
+ Option<u8>,
+ ),
+ QueryKind = OptionQuery,
+ >;
+
#[pallet::call]
impl<T: Config> Pallet<T> {
#[pallet::weight(T::DbWeight::get().writes(1))]
@@ -109,6 +124,39 @@
<XcmAllowedLocationsOverride<T>>::set(locations);
Ok(())
}
+
+ #[pallet::weight(T::DbWeight::get().writes(1))]
+ pub fn set_app_promotion_configuration_override(
+ origin: OriginFor<T>,
+ recalculation_interval: Option<T::BlockNumber>,
+ pending_interval: Option<T::BlockNumber>,
+ stakers_payout_limit: Option<u8>,
+ ) -> DispatchResult {
+ let _sender = ensure_root(origin)?;
+
+ if recalculation_interval.is_none()
+ && pending_interval.is_none()
+ && stakers_payout_limit.is_none()
+ {
+ <AppPromomotionConfigurationOverride<T>>::kill();
+ } else {
+ let mut current_config =
+ <AppPromomotionConfigurationOverride<T>>::take().unwrap_or_default();
+
+ recalculation_interval.map(|b| {
+ current_config.0 = Some(b);
+ current_config.1 = Some(
+ Perbill::from_rational(b, T::DayRelayBlocks::get())
+ * T::AppPromotionDailyRate::get(),
+ )
+ });
+ pending_interval.map(|b| current_config.2 = Some(b));
+ stakers_payout_limit.map(|p| current_config.3 = Some(p));
+ <AppPromomotionConfigurationOverride<T>>::set(Some(current_config));
+ }
+
+ Ok(())
+ }
}
#[pallet::pallet]
runtime/common/config/pallets/app_promotion.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/app_promotion.rs
+++ b/runtime/common/config/pallets/app_promotion.rs
@@ -26,16 +26,6 @@
types::Balance,
};
-#[cfg(all(not(feature = "unique-runtime"), not(feature = "quartz-runtime")))]
-parameter_types! {
- pub const AppPromotionId: PalletId = PalletId(*b"appstake");
- pub const RecalculationInterval: BlockNumber = 8;
- pub const PendingInterval: BlockNumber = 4;
- pub const Nominal: Balance = UNIQUE;
- pub IntervalIncome: Perbill = Perbill::from_rational(RecalculationInterval::get(), RELAY_DAYS) * Perbill::from_rational(5u32, 10_000);
-}
-
-#[cfg(any(feature = "unique-runtime", feature = "quartz-runtime"))]
parameter_types! {
pub const AppPromotionId: PalletId = PalletId(*b"appstake");
pub const RecalculationInterval: BlockNumber = RELAY_DAYS;
runtime/common/config/pallets/mod.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -33,6 +33,7 @@
use up_data_structs::{
mapping::{EvmTokenAddressMapping, CrossTokenAddressMapping},
};
+use sp_arithmetic::Perbill;
#[cfg(feature = "rmrk")]
pub mod rmrk;
@@ -98,10 +99,16 @@
type RefungibleExtensionsWeightInfo = CommonWeights<Self>;
}
+parameter_types! {
+ pub AppPromotionDailyRate: Perbill = Perbill::from_rational(5u32, 10_000);
+ pub const DayRelayBlocks: BlockNumber = RELAY_DAYS;
+}
impl pallet_configuration::Config for Runtime {
type DefaultWeightToFeeCoefficient = ConstU32<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>;
type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>;
type MaxOverridedAllowedLocations = ConstU32<16>;
+ type AppPromotionDailyRate = AppPromotionDailyRate;
+ type DayRelayBlocks = DayRelayBlocks;
}
impl pallet_maintenance::Config for Runtime {
tests/src/app-promotion.test.tsdiffbeforeafterboth--- a/tests/src/app-promotion.test.ts
+++ b/tests/src/app-promotion.test.ts
@@ -31,11 +31,14 @@
before(async function () {
await usingPlaygrounds(async (helper, privateKey) => {
requirePalletsOrSkip(this, helper, [Pallets.AppPromotion]);
+ const alice = await privateKey('//Alice');
donor = await privateKey({filename: __filename});
palletAddress = helper.arrange.calculatePalletAddress('appstake');
palletAdmin = await privateKey('//PromotionAdmin');
nominal = helper.balance.getOneTokenNominal();
accounts = await helper.arrange.createCrowd(100, 1000n, donor); // create accounts-pool to speed up tests
+ const api = helper.getApi();
+ await helper.signTransaction(alice, api.tx.sudo.sudo(api.tx.configuration.setAppPromotionConfigurationOverride(LOCKING_PERIOD, UNLOCKING_PERIOD, null)));
});
});
tests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-consts.ts
+++ b/tests/src/interfaces/augment-api-consts.ts
@@ -79,6 +79,8 @@
[key: string]: Codec;
};
configuration: {
+ appPromotionDailyRate: Perbill & AugmentedConst<ApiType>;
+ dayRelayBlocks: u32 & AugmentedConst<ApiType>;
defaultMinGasPrice: u64 & AugmentedConst<ApiType>;
defaultWeightToFeeCoefficient: u32 & AugmentedConst<ApiType>;
maxOverridedAllowedLocations: u32 & AugmentedConst<ApiType>;
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth1// 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, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerV2BlockAgenda, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } 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 /**22 * Stores the `admin` account. Some extrinsics can only be executed if they were signed by `admin`.23 **/24 admin: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;25 /**26 * Stores a key for record for which the next revenue recalculation would be performed.27 * If `None`, then recalculation has not yet been performed or calculations have been completed for all stakers.28 **/29 nextCalculatedRecord: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[AccountId32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;30 /**31 * Stores amount of stakes for an `Account`.32 * 33 * * **Key** - Staker account.34 * * **Value** - Amount of stakes.35 **/36 pendingUnstake: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[AccountId32, u128]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;37 /**38 * Stores the amount of tokens staked by account in the blocknumber.39 * 40 * * **Key1** - Staker account.41 * * **Key2** - Relay block number when the stake was made.42 * * **(Balance, BlockNumber)** - Balance of the stake.43 * The number of the relay block in which we must perform the interest recalculation44 **/45 staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[u128, u32]>>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;46 /**47 * Stores amount of stakes for an `Account`.48 * 49 * * **Key** - Staker account.50 * * **Value** - Amount of stakes.51 **/52 stakesPerAccount: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u8>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;53 /**54 * Stores the total staked amount.55 **/56 totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;57 /**58 * Generic query59 **/60 [key: string]: QueryableStorageEntry<ApiType>;61 };62 balances: {63 /**64 * The Balances pallet example of storing the balance of an account.65 * 66 * # Example67 * 68 * ```nocompile69 * impl pallet_balances::Config for Runtime {70 * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>71 * }72 * ```73 * 74 * You can also store the balance of an account in the `System` pallet.75 * 76 * # Example77 * 78 * ```nocompile79 * impl pallet_balances::Config for Runtime {80 * type AccountStore = System81 * }82 * ```83 * 84 * But this comes with tradeoffs, storing account balances in the system pallet stores85 * `frame_system` data alongside the account data contrary to storing account balances in the86 * `Balances` pallet, which uses a `StorageMap` to store balances data only.87 * NOTE: This is only used in the case that this pallet is used to store balances.88 **/89 account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;90 /**91 * Any liquidity locks on some account balances.92 * NOTE: Should only be accessed when setting, changing and freeing a lock.93 **/94 locks: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesBalanceLock>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;95 /**96 * Named reserves on some account balances.97 **/98 reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;99 /**100 * Storage version of the pallet.101 * 102 * This is set to v2.0.0 for new networks.103 **/104 storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;105 /**106 * The total units issued in the system.107 **/108 totalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;109 /**110 * Generic query111 **/112 [key: string]: QueryableStorageEntry<ApiType>;113 };114 charging: {115 /**116 * Generic query117 **/118 [key: string]: QueryableStorageEntry<ApiType>;119 };120 common: {121 /**122 * Storage of the amount of collection admins.123 **/124 adminAmount: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;125 /**126 * Allowlisted collection users.127 **/128 allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;129 /**130 * Storage of collection info.131 **/132 collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;133 /**134 * Storage of collection properties.135 **/136 collectionProperties: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;137 /**138 * Storage of token property permissions of a collection.139 **/140 collectionPropertyPermissions: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<BTreeMap<Bytes, UpDataStructsPropertyPermission>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;141 /**142 * Storage of the count of created collections. Essentially contains the last collection ID.143 **/144 createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;145 /**146 * Storage of the count of deleted collections.147 **/148 destroyedCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;149 /**150 * Not used by code, exists only to provide some types to metadata.151 **/152 dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;153 /**154 * List of collection admins.155 **/156 isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;157 /**158 * Generic query159 **/160 [key: string]: QueryableStorageEntry<ApiType>;161 };162 configuration: {163 minGasPriceOverride: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;164 weightToFeeCoefficientOverride: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;165 xcmAllowedLocationsOverride: AugmentedQuery<ApiType, () => Observable<Option<Vec<XcmV1MultiLocation>>>, []> & QueryableStorageEntry<ApiType, []>;166 /**167 * Generic query168 **/169 [key: string]: QueryableStorageEntry<ApiType>;170 };171 dmpQueue: {172 /**173 * The configuration.174 **/175 configuration: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;176 /**177 * The overweight messages.178 **/179 overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;180 /**181 * The page index.182 **/183 pageIndex: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueuePageIndexData>, []> & QueryableStorageEntry<ApiType, []>;184 /**185 * The queue pages.186 **/187 pages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, Bytes]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;188 /**189 * Generic query190 **/191 [key: string]: QueryableStorageEntry<ApiType>;192 };193 ethereum: {194 blockHash: AugmentedQuery<ApiType, (arg: U256 | AnyNumber | Uint8Array) => Observable<H256>, [U256]> & QueryableStorageEntry<ApiType, [U256]>;195 /**196 * The current Ethereum block.197 **/198 currentBlock: AugmentedQuery<ApiType, () => Observable<Option<EthereumBlock>>, []> & QueryableStorageEntry<ApiType, []>;199 /**200 * The current Ethereum receipts.201 **/202 currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;203 /**204 * The current transaction statuses.205 **/206 currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;207 /**208 * Injected transactions should have unique nonce, here we store current209 **/210 injectedNonce: AugmentedQuery<ApiType, () => Observable<U256>, []> & QueryableStorageEntry<ApiType, []>;211 /**212 * Current building block's transactions and receipts.213 **/214 pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;215 /**216 * Generic query217 **/218 [key: string]: QueryableStorageEntry<ApiType>;219 };220 evm: {221 accountCodes: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Bytes>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;222 accountStorages: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<H256>, [H160, H256]> & QueryableStorageEntry<ApiType, [H160, H256]>;223 /**224 * Written on log, reset after transaction225 * Should be empty between transactions226 **/227 currentLogs: AugmentedQuery<ApiType, () => Observable<Vec<EthereumLog>>, []> & QueryableStorageEntry<ApiType, []>;228 /**229 * Generic query230 **/231 [key: string]: QueryableStorageEntry<ApiType>;232 };233 evmCoderSubstrate: {234 /**235 * Generic query236 **/237 [key: string]: QueryableStorageEntry<ApiType>;238 };239 evmContractHelpers: {240 /**241 * Storage for users that allowed for sponsorship.242 * 243 * ### Usage244 * Prefer to delete record from storage if user no more allowed for sponsorship.245 * 246 * * **Key1** - contract address.247 * * **Key2** - user that allowed for sponsorship.248 * * **Value** - allowance for sponsorship.249 **/250 allowlist: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<bool>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;251 /**252 * Storege for contracts with [`Allowlisted`](SponsoringModeT::Allowlisted) sponsoring mode.253 * 254 * ### Usage255 * Prefer to delete collection from storage if mode chaged to non `Allowlisted`, than set **Value** to **false**.256 * 257 * * **Key** - contract address.258 * * **Value** - is contract in [`Allowlisted`](SponsoringModeT::Allowlisted) mode.259 **/260 allowlistEnabled: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;261 /**262 * Store owner for contract.263 * 264 * * **Key** - contract address.265 * * **Value** - owner for contract.266 **/267 owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;268 selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;269 sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;270 /**271 * Store for contract sponsorship state.272 * 273 * * **Key** - contract address.274 * * **Value** - sponsorship state.275 **/276 sponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<UpDataStructsSponsorshipStateBasicCrossAccountIdRepr>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;277 /**278 * Storage for last sponsored block.279 * 280 * * **Key1** - contract address.281 * * **Key2** - sponsored user address.282 * * **Value** - last sponsored block number.283 **/284 sponsoringFeeLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<BTreeMap<u32, U256>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;285 /**286 * Store for sponsoring mode.287 * 288 * ### Usage289 * Prefer to delete collection from storage if mode chaged to [`Disabled`](SponsoringModeT::Disabled).290 * 291 * * **Key** - contract address.292 * * **Value** - [`sponsoring mode`](SponsoringModeT).293 **/294 sponsoringMode: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmContractHelpersSponsoringModeT>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;295 /**296 * Storage for sponsoring rate limit in blocks.297 * 298 * * **Key** - contract address.299 * * **Value** - amount of sponsored blocks.300 **/301 sponsoringRateLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<u32>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;302 /**303 * Generic query304 **/305 [key: string]: QueryableStorageEntry<ApiType>;306 };307 evmMigration: {308 migrationPending: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;309 /**310 * Generic query311 **/312 [key: string]: QueryableStorageEntry<ApiType>;313 };314 foreignAssets: {315 /**316 * The storages for assets to fungible collection binding317 * 318 **/319 assetBinding: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;320 /**321 * The storages for AssetMetadatas.322 * 323 * AssetMetadatas: map AssetIds => Option<AssetMetadata>324 **/325 assetMetadatas: AugmentedQuery<ApiType, (arg: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Option<PalletForeignAssetsModuleAssetMetadata>>, [PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [PalletForeignAssetsAssetIds]>;326 /**327 * The storages for MultiLocations.328 * 329 * ForeignAssetLocations: map ForeignAssetId => Option<MultiLocation>330 **/331 foreignAssetLocations: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<XcmV1MultiLocation>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;332 /**333 * The storages for CurrencyIds.334 * 335 * LocationToCurrencyIds: map MultiLocation => Option<ForeignAssetId>336 **/337 locationToCurrencyIds: AugmentedQuery<ApiType, (arg: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array) => Observable<Option<u32>>, [XcmV1MultiLocation]> & QueryableStorageEntry<ApiType, [XcmV1MultiLocation]>;338 /**339 * Next available Foreign AssetId ID.340 * 341 * NextForeignAssetId: ForeignAssetId342 **/343 nextForeignAssetId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;344 /**345 * Generic query346 **/347 [key: string]: QueryableStorageEntry<ApiType>;348 };349 fungible: {350 /**351 * Storage for assets delegated to a limited extent to other users.352 **/353 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]>;354 /**355 * Amount of tokens owned by an account inside a collection.356 **/357 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;358 /**359 * Total amount of fungible tokens inside a collection.360 **/361 totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;362 /**363 * Generic query364 **/365 [key: string]: QueryableStorageEntry<ApiType>;366 };367 inflation: {368 /**369 * Current inflation for `InflationBlockInterval` number of blocks370 **/371 blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;372 /**373 * Next target (relay) block when inflation will be applied374 **/375 nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;376 /**377 * Next target (relay) block when inflation is recalculated378 **/379 nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;380 /**381 * Relay block when inflation has started382 **/383 startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;384 /**385 * starting year total issuance386 **/387 startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;388 /**389 * Generic query390 **/391 [key: string]: QueryableStorageEntry<ApiType>;392 };393 maintenance: {394 enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;395 /**396 * Generic query397 **/398 [key: string]: QueryableStorageEntry<ApiType>;399 };400 nonfungible: {401 /**402 * Amount of tokens owned by an account in a collection.403 **/404 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;405 /**406 * Allowance set by a token owner for another user to perform one of certain transactions on a token.407 **/408 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;409 /**410 * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.411 **/412 collectionAllowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;413 /**414 * Used to enumerate tokens owned by account.415 **/416 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]>;417 /**418 * Custom data of a token that is serialized to bytes,419 * primarily reserved for on-chain operations,420 * normally obscured from the external users.421 * 422 * Auxiliary properties are slightly different from423 * usual [`TokenProperties`] due to an unlimited number424 * and separately stored and written-to key-value pairs.425 * 426 * Currently used to store RMRK data.427 **/428 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]>;429 /**430 * Used to enumerate token's children.431 **/432 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]>]>;433 /**434 * Token data, used to partially describe a token.435 **/436 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;437 /**438 * Map of key-value pairs, describing the metadata of a token.439 **/440 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;441 /**442 * Amount of burnt tokens in a collection.443 **/444 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;445 /**446 * Total amount of minted tokens in a collection.447 **/448 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;449 /**450 * Generic query451 **/452 [key: string]: QueryableStorageEntry<ApiType>;453 };454 parachainInfo: {455 parachainId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;456 /**457 * Generic query458 **/459 [key: string]: QueryableStorageEntry<ApiType>;460 };461 parachainSystem: {462 /**463 * The number of HRMP messages we observed in `on_initialize` and thus used that number for464 * announcing the weight of `on_initialize` and `on_finalize`.465 **/466 announcedHrmpMessagesPerCandidate: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;467 /**468 * The next authorized upgrade, if there is one.469 **/470 authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;471 /**472 * A custom head data that should be returned as result of `validate_block`.473 * 474 * See [`Pallet::set_custom_validation_head_data`] for more information.475 **/476 customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;477 /**478 * Were the validation data set to notify the relay chain?479 **/480 didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;481 /**482 * The parachain host configuration that was obtained from the relay parent.483 * 484 * This field is meant to be updated each block with the validation data inherent. Therefore,485 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.486 * 487 * This data is also absent from the genesis.488 **/489 hostConfiguration: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2AbridgedHostConfiguration>>, []> & QueryableStorageEntry<ApiType, []>;490 /**491 * HRMP messages that were sent in a block.492 * 493 * This will be cleared in `on_initialize` of each new block.494 **/495 hrmpOutboundMessages: AugmentedQuery<ApiType, () => Observable<Vec<PolkadotCorePrimitivesOutboundHrmpMessage>>, []> & QueryableStorageEntry<ApiType, []>;496 /**497 * HRMP watermark that was set in a block.498 * 499 * This will be cleared in `on_initialize` of each new block.500 **/501 hrmpWatermark: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;502 /**503 * The last downward message queue chain head we have observed.504 * 505 * This value is loaded before and saved after processing inbound downward messages carried506 * by the system inherent.507 **/508 lastDmqMqcHead: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;509 /**510 * The message queue chain heads we have observed per each channel incoming channel.511 * 512 * This value is loaded before and saved after processing inbound downward messages carried513 * by the system inherent.514 **/515 lastHrmpMqcHeads: AugmentedQuery<ApiType, () => Observable<BTreeMap<u32, H256>>, []> & QueryableStorageEntry<ApiType, []>;516 /**517 * The relay chain block number associated with the last parachain block.518 **/519 lastRelayChainBlockNumber: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;520 /**521 * Validation code that is set by the parachain and is to be communicated to collator and522 * consequently the relay-chain.523 * 524 * This will be cleared in `on_initialize` of each new block if no other pallet already set525 * the value.526 **/527 newValidationCode: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;528 /**529 * Upward messages that are still pending and not yet send to the relay chain.530 **/531 pendingUpwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;532 /**533 * In case of a scheduled upgrade, this storage field contains the validation code to be applied.534 * 535 * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]536 * which will result the next block process with the new validation code. This concludes the upgrade process.537 * 538 * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE539 **/540 pendingValidationCode: AugmentedQuery<ApiType, () => Observable<Bytes>, []> & QueryableStorageEntry<ApiType, []>;541 /**542 * Number of downward messages processed in a block.543 * 544 * This will be cleared in `on_initialize` of each new block.545 **/546 processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;547 /**548 * The state proof for the last relay parent block.549 * 550 * This field is meant to be updated each block with the validation data inherent. Therefore,551 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.552 * 553 * This data is also absent from the genesis.554 **/555 relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;556 /**557 * The snapshot of some state related to messaging relevant to the current parachain as per558 * the relay parent.559 * 560 * This field is meant to be updated each block with the validation data inherent. Therefore,561 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.562 * 563 * This data is also absent from the genesis.564 **/565 relevantMessagingState: AugmentedQuery<ApiType, () => Observable<Option<CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot>>, []> & QueryableStorageEntry<ApiType, []>;566 /**567 * The weight we reserve at the beginning of the block for processing DMP messages. This568 * overrides the amount set in the Config trait.569 **/570 reservedDmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<SpWeightsWeightV2Weight>>, []> & QueryableStorageEntry<ApiType, []>;571 /**572 * The weight we reserve at the beginning of the block for processing XCMP messages. This573 * overrides the amount set in the Config trait.574 **/575 reservedXcmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<SpWeightsWeightV2Weight>>, []> & QueryableStorageEntry<ApiType, []>;576 /**577 * An option which indicates if the relay-chain restricts signalling a validation code upgrade.578 * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced579 * candidate will be invalid.580 * 581 * This storage item is a mirror of the corresponding value for the current parachain from the582 * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is583 * set after the inherent.584 **/585 upgradeRestrictionSignal: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2UpgradeRestriction>>, []> & QueryableStorageEntry<ApiType, []>;586 /**587 * Upward messages that were sent in a block.588 * 589 * This will be cleared in `on_initialize` of each new block.590 **/591 upwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;592 /**593 * The [`PersistedValidationData`] set for this block.594 * This value is expected to be set only once per block and it's never stored595 * in the trie.596 **/597 validationData: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2PersistedValidationData>>, []> & QueryableStorageEntry<ApiType, []>;598 /**599 * Generic query600 **/601 [key: string]: QueryableStorageEntry<ApiType>;602 };603 randomnessCollectiveFlip: {604 /**605 * Series of block headers from the last 81 blocks that acts as random seed material. This606 * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of607 * the oldest hash.608 **/609 randomMaterial: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;610 /**611 * Generic query612 **/613 [key: string]: QueryableStorageEntry<ApiType>;614 };615 refungible: {616 /**617 * Amount of tokens (not pieces) partially owned by an account within a collection.618 **/619 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;620 /**621 * Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.622 **/623 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]>;624 /**625 * Amount of token pieces owned by account.626 **/627 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]>;628 /**629 * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.630 **/631 collectionAllowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;632 /**633 * Used to enumerate tokens owned by account.634 **/635 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]>;636 /**637 * Token data, used to partially describe a token.638 **/639 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;640 /**641 * Amount of pieces a refungible token is split into.642 **/643 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;644 /**645 * Amount of tokens burnt in a collection.646 **/647 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;648 /**649 * Total amount of minted tokens in a collection.650 **/651 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;652 /**653 * Total amount of pieces for token654 **/655 totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;656 /**657 * Generic query658 **/659 [key: string]: QueryableStorageEntry<ApiType>;660 };661 rmrkCore: {662 /**663 * Latest yet-unused collection ID.664 **/665 collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;666 /**667 * Mapping from RMRK collection ID to Unique's.668 **/669 uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;670 /**671 * Generic query672 **/673 [key: string]: QueryableStorageEntry<ApiType>;674 };675 rmrkEquip: {676 /**677 * Checkmark that a Base has a Theme NFT named "default".678 **/679 baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;680 /**681 * Map of a Base ID and a Part ID to an NFT in the Base collection serving as the Part.682 **/683 inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;684 /**685 * Generic query686 **/687 [key: string]: QueryableStorageEntry<ApiType>;688 };689 scheduler: {690 /**691 * Items to be executed, indexed by the block number that they should be executed on.692 **/693 agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<PalletUniqueSchedulerV2BlockAgenda>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;694 /**695 * It contains the block number from which we should service tasks.696 * It's used for delaying the servicing of future blocks' agendas if we had overweight tasks.697 **/698 incompleteSince: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;699 /**700 * Lookup from a name to the block number and index of the task.701 **/702 lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;703 /**704 * Generic query705 **/706 [key: string]: QueryableStorageEntry<ApiType>;707 };708 structure: {709 /**710 * Generic query711 **/712 [key: string]: QueryableStorageEntry<ApiType>;713 };714 sudo: {715 /**716 * The `AccountId` of the sudo key.717 **/718 key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;719 /**720 * Generic query721 **/722 [key: string]: QueryableStorageEntry<ApiType>;723 };724 system: {725 /**726 * The full account information for a particular account ID.727 **/728 account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<FrameSystemAccountInfo>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;729 /**730 * Total length (in bytes) for all extrinsics put together, for the current block.731 **/732 allExtrinsicsLen: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;733 /**734 * Map of block numbers to block hashes.735 **/736 blockHash: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<H256>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;737 /**738 * The current weight for the block.739 **/740 blockWeight: AugmentedQuery<ApiType, () => Observable<FrameSupportDispatchPerDispatchClassWeight>, []> & QueryableStorageEntry<ApiType, []>;741 /**742 * Digest of the current block, also part of the block header.743 **/744 digest: AugmentedQuery<ApiType, () => Observable<SpRuntimeDigest>, []> & QueryableStorageEntry<ApiType, []>;745 /**746 * The number of events in the `Events<T>` list.747 **/748 eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;749 /**750 * Events deposited for the current block.751 * 752 * NOTE: The item is unbound and should therefore never be read on chain.753 * It could otherwise inflate the PoV size of a block.754 * 755 * Events have a large in-memory size. Box the events to not go out-of-memory756 * just in case someone still reads them from within the runtime.757 **/758 events: AugmentedQuery<ApiType, () => Observable<Vec<FrameSystemEventRecord>>, []> & QueryableStorageEntry<ApiType, []>;759 /**760 * Mapping between a topic (represented by T::Hash) and a vector of indexes761 * of events in the `<Events<T>>` list.762 * 763 * All topic vectors have deterministic storage locations depending on the topic. This764 * allows light-clients to leverage the changes trie storage tracking mechanism and765 * in case of changes fetch the list of events of interest.766 * 767 * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just768 * the `EventIndex` then in case if the topic has the same contents on the next block769 * no notification will be triggered thus the event might be lost.770 **/771 eventTopics: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;772 /**773 * The execution phase of the block.774 **/775 executionPhase: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemPhase>>, []> & QueryableStorageEntry<ApiType, []>;776 /**777 * Total extrinsics count for the current block.778 **/779 extrinsicCount: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;780 /**781 * Extrinsics data for the current block (maps an extrinsic's index to its data).782 **/783 extrinsicData: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;784 /**785 * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.786 **/787 lastRuntimeUpgrade: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemLastRuntimeUpgradeInfo>>, []> & QueryableStorageEntry<ApiType, []>;788 /**789 * The current block number being processed. Set by `execute_block`.790 **/791 number: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;792 /**793 * Hash of the previous block.794 **/795 parentHash: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;796 /**797 * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False798 * (default) if not.799 **/800 upgradedToTripleRefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;801 /**802 * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.803 **/804 upgradedToU32RefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;805 /**806 * Generic query807 **/808 [key: string]: QueryableStorageEntry<ApiType>;809 };810 testUtils: {811 enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;812 testValue: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;813 /**814 * Generic query815 **/816 [key: string]: QueryableStorageEntry<ApiType>;817 };818 timestamp: {819 /**820 * Did the timestamp get updated in this block?821 **/822 didUpdate: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;823 /**824 * Current time for the current block.825 **/826 now: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;827 /**828 * Generic query829 **/830 [key: string]: QueryableStorageEntry<ApiType>;831 };832 tokens: {833 /**834 * The balance of a token type under an account.835 * 836 * NOTE: If the total is ever zero, decrease account ref account.837 * 838 * NOTE: This is only used in the case that this module is used to store839 * balances.840 **/841 accounts: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<OrmlTokensAccountData>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;842 /**843 * Any liquidity locks of a token type under an account.844 * NOTE: Should only be accessed when setting, changing and freeing a lock.845 **/846 locks: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Vec<OrmlTokensBalanceLock>>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;847 /**848 * Named reserves on some account balances.849 **/850 reserves: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Vec<OrmlTokensReserveData>>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;851 /**852 * The total issuance of a token type.853 **/854 totalIssuance: AugmentedQuery<ApiType, (arg: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<u128>, [PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [PalletForeignAssetsAssetIds]>;855 /**856 * Generic query857 **/858 [key: string]: QueryableStorageEntry<ApiType>;859 };860 transactionPayment: {861 nextFeeMultiplier: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;862 storageVersion: AugmentedQuery<ApiType, () => Observable<PalletTransactionPaymentReleases>, []> & QueryableStorageEntry<ApiType, []>;863 /**864 * Generic query865 **/866 [key: string]: QueryableStorageEntry<ApiType>;867 };868 treasury: {869 /**870 * Proposal indices that have been approved but not yet awarded.871 **/872 approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;873 /**874 * Number of proposals that have been made.875 **/876 proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;877 /**878 * Proposals that have been made.879 **/880 proposals: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletTreasuryProposal>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;881 /**882 * Generic query883 **/884 [key: string]: QueryableStorageEntry<ApiType>;885 };886 unique: {887 /**888 * Used for migrations889 **/890 chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;891 /**892 * (Collection id (controlled?2), who created (real))893 * TODO: Off chain worker should remove from this map when collection gets removed894 **/895 createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;896 /**897 * Last sponsoring of fungible tokens approval in a collection898 **/899 fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;900 /**901 * Collection id (controlled?2), owning user (real)902 **/903 fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;904 /**905 * Last sponsoring of NFT approval in a collection906 **/907 nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;908 /**909 * Collection id (controlled?2), token id (controlled?2)910 **/911 nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;912 /**913 * Last sponsoring of RFT approval in a collection914 **/915 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]>;916 /**917 * Collection id (controlled?2), token id (controlled?2)918 **/919 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]>;920 /**921 * Last sponsoring of token property setting // todo:doc rephrase this and the following922 **/923 tokenPropertyBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;924 /**925 * Variable metadata sponsoring926 * Collection id (controlled?2), token id (controlled?2)927 **/928 variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;929 /**930 * Generic query931 **/932 [key: string]: QueryableStorageEntry<ApiType>;933 };934 vesting: {935 /**936 * Vesting schedules of an account.937 * 938 * VestingSchedules: map AccountId => Vec<VestingSchedule>939 **/940 vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;941 /**942 * Generic query943 **/944 [key: string]: QueryableStorageEntry<ApiType>;945 };946 xcmpQueue: {947 /**948 * Inbound aggregate XCMP messages. It can only be one per ParaId/block.949 **/950 inboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;951 /**952 * Status of the inbound XCMP channels.953 **/954 inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;955 /**956 * The messages outbound in a given XCMP channel.957 **/958 outboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u16 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u16]> & QueryableStorageEntry<ApiType, [u32, u16]>;959 /**960 * The non-empty XCMP channels in order of becoming non-empty, and the index of the first961 * and last outbound message. If the two indices are equal, then it indicates an empty962 * queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater963 * than 65535 items. Queue indices for normal messages begin at one; zero is reserved in964 * case of the need to send a high-priority signal message this block.965 * The bool is true if there is a signal message waiting to be sent.966 **/967 outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;968 /**969 * The messages that exceeded max individual message weight budget.970 * 971 * These message stay in this storage map until they are manually dispatched via972 * `service_overweight`.973 **/974 overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;975 /**976 * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next977 * available free overweight index.978 **/979 overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;980 /**981 * The configuration which controls the dynamics of the outbound queue.982 **/983 queueConfig: AugmentedQuery<ApiType, () => Observable<CumulusPalletXcmpQueueQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;984 /**985 * Whether or not the XCMP queue is suspended from executing incoming XCMs or not.986 **/987 queueSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;988 /**989 * Any signal messages waiting to be sent.990 **/991 signalMessages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;992 /**993 * Generic query994 **/995 [key: string]: QueryableStorageEntry<ApiType>;996 };997 } // AugmentedQueries998} // declare module1// 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';11<<<<<<< HEAD12import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';13import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerV2BlockAgenda, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';14=======15import type { AccountId32, H160, H256, Perbill, Weight } from '@polkadot/types/interfaces/runtime';16import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReleases, PalletBalancesReserveData, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletUniqueSchedulerV2BlockAgenda, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';17>>>>>>> added the ability to configure pallet `app-promotion` via the `configuration` palette18import type { Observable } from '@polkadot/types/types';1920export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;21export type __QueryableStorageEntry<ApiType extends ApiTypes> = QueryableStorageEntry<ApiType>;2223declare module '@polkadot/api-base/types/storage' {24 interface AugmentedQueries<ApiType extends ApiTypes> {25 appPromotion: {26 /**27 * Stores the `admin` account. Some extrinsics can only be executed if they were signed by `admin`.28 **/29 admin: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;30 /**31 * Stores a key for record for which the next revenue recalculation would be performed.32 * If `None`, then recalculation has not yet been performed or calculations have been completed for all stakers.33 **/34 nextCalculatedRecord: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[AccountId32, u32]>>>, []> & QueryableStorageEntry<ApiType, []>;35 /**36 * Stores amount of stakes for an `Account`.37 * 38 * * **Key** - Staker account.39 * * **Value** - Amount of stakes.40 **/41 pendingUnstake: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[AccountId32, u128]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;42 /**43 * Stores the amount of tokens staked by account in the blocknumber.44 * 45 * * **Key1** - Staker account.46 * * **Key2** - Relay block number when the stake was made.47 * * **(Balance, BlockNumber)** - Balance of the stake.48 * The number of the relay block in which we must perform the interest recalculation49 **/50 staked: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<ITuple<[u128, u32]>>, [AccountId32, u32]> & QueryableStorageEntry<ApiType, [AccountId32, u32]>;51 /**52 * Stores amount of stakes for an `Account`.53 * 54 * * **Key** - Staker account.55 * * **Value** - Amount of stakes.56 **/57 stakesPerAccount: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<u8>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;58 /**59 * Stores the total staked amount.60 **/61 totalStaked: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;62 /**63 * Generic query64 **/65 [key: string]: QueryableStorageEntry<ApiType>;66 };67 balances: {68 /**69 * The Balances pallet example of storing the balance of an account.70 * 71 * # Example72 * 73 * ```nocompile74 * impl pallet_balances::Config for Runtime {75 * type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>76 * }77 * ```78 * 79 * You can also store the balance of an account in the `System` pallet.80 * 81 * # Example82 * 83 * ```nocompile84 * impl pallet_balances::Config for Runtime {85 * type AccountStore = System86 * }87 * ```88 * 89 * But this comes with tradeoffs, storing account balances in the system pallet stores90 * `frame_system` data alongside the account data contrary to storing account balances in the91 * `Balances` pallet, which uses a `StorageMap` to store balances data only.92 * NOTE: This is only used in the case that this pallet is used to store balances.93 **/94 account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletBalancesAccountData>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;95 /**96 * Any liquidity locks on some account balances.97 * NOTE: Should only be accessed when setting, changing and freeing a lock.98 **/99 locks: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesBalanceLock>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;100 /**101 * Named reserves on some account balances.102 **/103 reserves: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<PalletBalancesReserveData>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;104 /**105 * Storage version of the pallet.106 * 107 * This is set to v2.0.0 for new networks.108 **/109 storageVersion: AugmentedQuery<ApiType, () => Observable<PalletBalancesReleases>, []> & QueryableStorageEntry<ApiType, []>;110 /**111 * The total units issued in the system.112 **/113 totalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;114 /**115 * Generic query116 **/117 [key: string]: QueryableStorageEntry<ApiType>;118 };119 charging: {120 /**121 * Generic query122 **/123 [key: string]: QueryableStorageEntry<ApiType>;124 };125 common: {126 /**127 * Storage of the amount of collection admins.128 **/129 adminAmount: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;130 /**131 * Allowlisted collection users.132 **/133 allowlist: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;134 /**135 * Storage of collection info.136 **/137 collectionById: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<UpDataStructsCollection>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;138 /**139 * Storage of collection properties.140 **/141 collectionProperties: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;142 /**143 * Storage of token property permissions of a collection.144 **/145 collectionPropertyPermissions: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<BTreeMap<Bytes, UpDataStructsPropertyPermission>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;146 /**147 * Storage of the count of created collections. Essentially contains the last collection ID.148 **/149 createdCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;150 /**151 * Storage of the count of deleted collections.152 **/153 destroyedCollectionCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;154 /**155 * Not used by code, exists only to provide some types to metadata.156 **/157 dummyStorageValue: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[UpDataStructsCollectionStats, u32, u32, UpDataStructsTokenChild, PhantomTypeUpDataStructs]>>>, []> & QueryableStorageEntry<ApiType, []>;158 /**159 * List of collection admins.160 **/161 isAdmin: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;162 /**163 * Generic query164 **/165 [key: string]: QueryableStorageEntry<ApiType>;166 };167 configuration: {168 appPromomotionConfigurationOverride: AugmentedQuery<ApiType, () => Observable<Option<ITuple<[Option<u32>, Option<Perbill>, Option<u32>, Option<u8>]>>>, []> & QueryableStorageEntry<ApiType, []>;169 minGasPriceOverride: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;170 weightToFeeCoefficientOverride: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;171 xcmAllowedLocationsOverride: AugmentedQuery<ApiType, () => Observable<Option<Vec<XcmV1MultiLocation>>>, []> & QueryableStorageEntry<ApiType, []>;172 /**173 * Generic query174 **/175 [key: string]: QueryableStorageEntry<ApiType>;176 };177 dmpQueue: {178 /**179 * The configuration.180 **/181 configuration: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;182 /**183 * The overweight messages.184 **/185 overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;186 /**187 * The page index.188 **/189 pageIndex: AugmentedQuery<ApiType, () => Observable<CumulusPalletDmpQueuePageIndexData>, []> & QueryableStorageEntry<ApiType, []>;190 /**191 * The queue pages.192 **/193 pages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, Bytes]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;194 /**195 * Generic query196 **/197 [key: string]: QueryableStorageEntry<ApiType>;198 };199 ethereum: {200 blockHash: AugmentedQuery<ApiType, (arg: U256 | AnyNumber | Uint8Array) => Observable<H256>, [U256]> & QueryableStorageEntry<ApiType, [U256]>;201 /**202 * The current Ethereum block.203 **/204 currentBlock: AugmentedQuery<ApiType, () => Observable<Option<EthereumBlock>>, []> & QueryableStorageEntry<ApiType, []>;205 /**206 * The current Ethereum receipts.207 **/208 currentReceipts: AugmentedQuery<ApiType, () => Observable<Option<Vec<EthereumReceiptReceiptV3>>>, []> & QueryableStorageEntry<ApiType, []>;209 /**210 * The current transaction statuses.211 **/212 currentTransactionStatuses: AugmentedQuery<ApiType, () => Observable<Option<Vec<FpRpcTransactionStatus>>>, []> & QueryableStorageEntry<ApiType, []>;213 /**214 * Injected transactions should have unique nonce, here we store current215 **/216 injectedNonce: AugmentedQuery<ApiType, () => Observable<U256>, []> & QueryableStorageEntry<ApiType, []>;217 /**218 * Current building block's transactions and receipts.219 **/220 pending: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[EthereumTransactionTransactionV2, FpRpcTransactionStatus, EthereumReceiptReceiptV3]>>>, []> & QueryableStorageEntry<ApiType, []>;221 /**222 * Generic query223 **/224 [key: string]: QueryableStorageEntry<ApiType>;225 };226 evm: {227 accountCodes: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Bytes>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;228 accountStorages: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H256 | string | Uint8Array) => Observable<H256>, [H160, H256]> & QueryableStorageEntry<ApiType, [H160, H256]>;229 /**230 * Written on log, reset after transaction231 * Should be empty between transactions232 **/233 currentLogs: AugmentedQuery<ApiType, () => Observable<Vec<EthereumLog>>, []> & QueryableStorageEntry<ApiType, []>;234 /**235 * Generic query236 **/237 [key: string]: QueryableStorageEntry<ApiType>;238 };239 evmCoderSubstrate: {240 /**241 * Generic query242 **/243 [key: string]: QueryableStorageEntry<ApiType>;244 };245 evmContractHelpers: {246 /**247 * Storage for users that allowed for sponsorship.248 * 249 * ### Usage250 * Prefer to delete record from storage if user no more allowed for sponsorship.251 * 252 * * **Key1** - contract address.253 * * **Key2** - user that allowed for sponsorship.254 * * **Value** - allowance for sponsorship.255 **/256 allowlist: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<bool>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;257 /**258 * Storege for contracts with [`Allowlisted`](SponsoringModeT::Allowlisted) sponsoring mode.259 * 260 * ### Usage261 * Prefer to delete collection from storage if mode chaged to non `Allowlisted`, than set **Value** to **false**.262 * 263 * * **Key** - contract address.264 * * **Value** - is contract in [`Allowlisted`](SponsoringModeT::Allowlisted) mode.265 **/266 allowlistEnabled: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;267 /**268 * Store owner for contract.269 * 270 * * **Key** - contract address.271 * * **Value** - owner for contract.272 **/273 owner: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<H160>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;274 selfSponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;275 sponsorBasket: AugmentedQuery<ApiType, (arg1: H160 | string | Uint8Array, arg2: H160 | string | Uint8Array) => Observable<Option<u32>>, [H160, H160]> & QueryableStorageEntry<ApiType, [H160, H160]>;276 /**277 * Store for contract sponsorship state.278 * 279 * * **Key** - contract address.280 * * **Value** - sponsorship state.281 **/282 sponsoring: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<UpDataStructsSponsorshipStateBasicCrossAccountIdRepr>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;283 /**284 * Storage for last sponsored block.285 * 286 * * **Key1** - contract address.287 * * **Key2** - sponsored user address.288 * * **Value** - last sponsored block number.289 **/290 sponsoringFeeLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<BTreeMap<u32, U256>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;291 /**292 * Store for sponsoring mode.293 * 294 * ### Usage295 * Prefer to delete collection from storage if mode chaged to [`Disabled`](SponsoringModeT::Disabled).296 * 297 * * **Key** - contract address.298 * * **Value** - [`sponsoring mode`](SponsoringModeT).299 **/300 sponsoringMode: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<Option<PalletEvmContractHelpersSponsoringModeT>>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;301 /**302 * Storage for sponsoring rate limit in blocks.303 * 304 * * **Key** - contract address.305 * * **Value** - amount of sponsored blocks.306 **/307 sponsoringRateLimit: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<u32>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;308 /**309 * Generic query310 **/311 [key: string]: QueryableStorageEntry<ApiType>;312 };313 evmMigration: {314 migrationPending: AugmentedQuery<ApiType, (arg: H160 | string | Uint8Array) => Observable<bool>, [H160]> & QueryableStorageEntry<ApiType, [H160]>;315 /**316 * Generic query317 **/318 [key: string]: QueryableStorageEntry<ApiType>;319 };320 foreignAssets: {321 /**322 * The storages for assets to fungible collection binding323 * 324 **/325 assetBinding: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;326 /**327 * The storages for AssetMetadatas.328 * 329 * AssetMetadatas: map AssetIds => Option<AssetMetadata>330 **/331 assetMetadatas: AugmentedQuery<ApiType, (arg: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Option<PalletForeignAssetsModuleAssetMetadata>>, [PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [PalletForeignAssetsAssetIds]>;332 /**333 * The storages for MultiLocations.334 * 335 * ForeignAssetLocations: map ForeignAssetId => Option<MultiLocation>336 **/337 foreignAssetLocations: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<XcmV1MultiLocation>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;338 /**339 * The storages for CurrencyIds.340 * 341 * LocationToCurrencyIds: map MultiLocation => Option<ForeignAssetId>342 **/343 locationToCurrencyIds: AugmentedQuery<ApiType, (arg: XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array) => Observable<Option<u32>>, [XcmV1MultiLocation]> & QueryableStorageEntry<ApiType, [XcmV1MultiLocation]>;344 /**345 * Next available Foreign AssetId ID.346 * 347 * NextForeignAssetId: ForeignAssetId348 **/349 nextForeignAssetId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;350 /**351 * Generic query352 **/353 [key: string]: QueryableStorageEntry<ApiType>;354 };355 fungible: {356 /**357 * Storage for assets delegated to a limited extent to other users.358 **/359 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]>;360 /**361 * Amount of tokens owned by an account inside a collection.362 **/363 balance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u128>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;364 /**365 * Total amount of fungible tokens inside a collection.366 **/367 totalSupply: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;368 /**369 * Generic query370 **/371 [key: string]: QueryableStorageEntry<ApiType>;372 };373 inflation: {374 /**375 * Current inflation for `InflationBlockInterval` number of blocks376 **/377 blockInflation: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;378 /**379 * Next target (relay) block when inflation will be applied380 **/381 nextInflationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;382 /**383 * Next target (relay) block when inflation is recalculated384 **/385 nextRecalculationBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;386 /**387 * Relay block when inflation has started388 **/389 startBlock: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;390 /**391 * starting year total issuance392 **/393 startingYearTotalIssuance: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;394 /**395 * Generic query396 **/397 [key: string]: QueryableStorageEntry<ApiType>;398 };399 maintenance: {400 enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;401 /**402 * Generic query403 **/404 [key: string]: QueryableStorageEntry<ApiType>;405 };406 nonfungible: {407 /**408 * Amount of tokens owned by an account in a collection.409 **/410 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;411 /**412 * Allowance set by a token owner for another user to perform one of certain transactions on a token.413 **/414 allowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletEvmAccountBasicCrossAccountIdRepr>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;415 /**416 * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.417 **/418 collectionAllowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;419 /**420 * Used to enumerate tokens owned by account.421 **/422 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]>;423 /**424 * Custom data of a token that is serialized to bytes,425 * primarily reserved for on-chain operations,426 * normally obscured from the external users.427 * 428 * Auxiliary properties are slightly different from429 * usual [`TokenProperties`] due to an unlimited number430 * and separately stored and written-to key-value pairs.431 * 432 * Currently used to store RMRK data.433 **/434 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]>;435 /**436 * Used to enumerate token's children.437 **/438 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]>]>;439 /**440 * Token data, used to partially describe a token.441 **/442 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletNonfungibleItemData>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;443 /**444 * Map of key-value pairs, describing the metadata of a token.445 **/446 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;447 /**448 * Amount of burnt tokens in a collection.449 **/450 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;451 /**452 * Total amount of minted tokens in a collection.453 **/454 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;455 /**456 * Generic query457 **/458 [key: string]: QueryableStorageEntry<ApiType>;459 };460 parachainInfo: {461 parachainId: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;462 /**463 * Generic query464 **/465 [key: string]: QueryableStorageEntry<ApiType>;466 };467 parachainSystem: {468 /**469 * The number of HRMP messages we observed in `on_initialize` and thus used that number for470 * announcing the weight of `on_initialize` and `on_finalize`.471 **/472 announcedHrmpMessagesPerCandidate: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;473 /**474 * The next authorized upgrade, if there is one.475 **/476 authorizedUpgrade: AugmentedQuery<ApiType, () => Observable<Option<H256>>, []> & QueryableStorageEntry<ApiType, []>;477 /**478 * A custom head data that should be returned as result of `validate_block`.479 * 480 * See [`Pallet::set_custom_validation_head_data`] for more information.481 **/482 customValidationHeadData: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;483 /**484 * Were the validation data set to notify the relay chain?485 **/486 didSetValidationCode: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;487 /**488 * The parachain host configuration that was obtained from the relay parent.489 * 490 * This field is meant to be updated each block with the validation data inherent. Therefore,491 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.492 * 493 * This data is also absent from the genesis.494 **/495 hostConfiguration: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2AbridgedHostConfiguration>>, []> & QueryableStorageEntry<ApiType, []>;496 /**497 * HRMP messages that were sent in a block.498 * 499 * This will be cleared in `on_initialize` of each new block.500 **/501 hrmpOutboundMessages: AugmentedQuery<ApiType, () => Observable<Vec<PolkadotCorePrimitivesOutboundHrmpMessage>>, []> & QueryableStorageEntry<ApiType, []>;502 /**503 * HRMP watermark that was set in a block.504 * 505 * This will be cleared in `on_initialize` of each new block.506 **/507 hrmpWatermark: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;508 /**509 * The last downward message queue chain head we have observed.510 * 511 * This value is loaded before and saved after processing inbound downward messages carried512 * by the system inherent.513 **/514 lastDmqMqcHead: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;515 /**516 * The message queue chain heads we have observed per each channel incoming channel.517 * 518 * This value is loaded before and saved after processing inbound downward messages carried519 * by the system inherent.520 **/521 lastHrmpMqcHeads: AugmentedQuery<ApiType, () => Observable<BTreeMap<u32, H256>>, []> & QueryableStorageEntry<ApiType, []>;522 /**523 * The relay chain block number associated with the last parachain block.524 **/525 lastRelayChainBlockNumber: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;526 /**527 * Validation code that is set by the parachain and is to be communicated to collator and528 * consequently the relay-chain.529 * 530 * This will be cleared in `on_initialize` of each new block if no other pallet already set531 * the value.532 **/533 newValidationCode: AugmentedQuery<ApiType, () => Observable<Option<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;534 /**535 * Upward messages that are still pending and not yet send to the relay chain.536 **/537 pendingUpwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;538 /**539 * In case of a scheduled upgrade, this storage field contains the validation code to be applied.540 * 541 * As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]542 * which will result the next block process with the new validation code. This concludes the upgrade process.543 * 544 * [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE545 **/546 pendingValidationCode: AugmentedQuery<ApiType, () => Observable<Bytes>, []> & QueryableStorageEntry<ApiType, []>;547 /**548 * Number of downward messages processed in a block.549 * 550 * This will be cleared in `on_initialize` of each new block.551 **/552 processedDownwardMessages: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;553 /**554 * The state proof for the last relay parent block.555 * 556 * This field is meant to be updated each block with the validation data inherent. Therefore,557 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.558 * 559 * This data is also absent from the genesis.560 **/561 relayStateProof: AugmentedQuery<ApiType, () => Observable<Option<SpTrieStorageProof>>, []> & QueryableStorageEntry<ApiType, []>;562 /**563 * The snapshot of some state related to messaging relevant to the current parachain as per564 * the relay parent.565 * 566 * This field is meant to be updated each block with the validation data inherent. Therefore,567 * before processing of the inherent, e.g. in `on_initialize` this data may be stale.568 * 569 * This data is also absent from the genesis.570 **/571 relevantMessagingState: AugmentedQuery<ApiType, () => Observable<Option<CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot>>, []> & QueryableStorageEntry<ApiType, []>;572 /**573 * The weight we reserve at the beginning of the block for processing DMP messages. This574 * overrides the amount set in the Config trait.575 **/576 reservedDmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<SpWeightsWeightV2Weight>>, []> & QueryableStorageEntry<ApiType, []>;577 /**578 * The weight we reserve at the beginning of the block for processing XCMP messages. This579 * overrides the amount set in the Config trait.580 **/581 reservedXcmpWeightOverride: AugmentedQuery<ApiType, () => Observable<Option<SpWeightsWeightV2Weight>>, []> & QueryableStorageEntry<ApiType, []>;582 /**583 * An option which indicates if the relay-chain restricts signalling a validation code upgrade.584 * In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced585 * candidate will be invalid.586 * 587 * This storage item is a mirror of the corresponding value for the current parachain from the588 * relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is589 * set after the inherent.590 **/591 upgradeRestrictionSignal: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2UpgradeRestriction>>, []> & QueryableStorageEntry<ApiType, []>;592 /**593 * Upward messages that were sent in a block.594 * 595 * This will be cleared in `on_initialize` of each new block.596 **/597 upwardMessages: AugmentedQuery<ApiType, () => Observable<Vec<Bytes>>, []> & QueryableStorageEntry<ApiType, []>;598 /**599 * The [`PersistedValidationData`] set for this block.600 * This value is expected to be set only once per block and it's never stored601 * in the trie.602 **/603 validationData: AugmentedQuery<ApiType, () => Observable<Option<PolkadotPrimitivesV2PersistedValidationData>>, []> & QueryableStorageEntry<ApiType, []>;604 /**605 * Generic query606 **/607 [key: string]: QueryableStorageEntry<ApiType>;608 };609 randomnessCollectiveFlip: {610 /**611 * Series of block headers from the last 81 blocks that acts as random seed material. This612 * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of613 * the oldest hash.614 **/615 randomMaterial: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;616 /**617 * Generic query618 **/619 [key: string]: QueryableStorageEntry<ApiType>;620 };621 refungible: {622 /**623 * Amount of tokens (not pieces) partially owned by an account within a collection.624 **/625 accountBalance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<u32>, [u32, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr]>;626 /**627 * Allowance set by a token owner for another user to perform one of certain transactions on a number of pieces of a token.628 **/629 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]>;630 /**631 * Amount of token pieces owned by account.632 **/633 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]>;634 /**635 * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.636 **/637 collectionAllowance: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;638 /**639 * Used to enumerate tokens owned by account.640 **/641 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]>;642 /**643 * Token data, used to partially describe a token.644 **/645 tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;646 /**647 * Amount of pieces a refungible token is split into.648 **/649 tokenProperties: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<UpDataStructsProperties>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;650 /**651 * Amount of tokens burnt in a collection.652 **/653 tokensBurnt: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;654 /**655 * Total amount of minted tokens in a collection.656 **/657 tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;658 /**659 * Total amount of pieces for token660 **/661 totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;662 /**663 * Generic query664 **/665 [key: string]: QueryableStorageEntry<ApiType>;666 };667 rmrkCore: {668 /**669 * Latest yet-unused collection ID.670 **/671 collectionIndex: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;672 /**673 * Mapping from RMRK collection ID to Unique's.674 **/675 uniqueCollectionId: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;676 /**677 * Generic query678 **/679 [key: string]: QueryableStorageEntry<ApiType>;680 };681 rmrkEquip: {682 /**683 * Checkmark that a Base has a Theme NFT named "default".684 **/685 baseHasDefaultTheme: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;686 /**687 * Map of a Base ID and a Part ID to an NFT in the Base collection serving as the Part.688 **/689 inernalPartId: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;690 /**691 * Generic query692 **/693 [key: string]: QueryableStorageEntry<ApiType>;694 };695 scheduler: {696 /**697 * Items to be executed, indexed by the block number that they should be executed on.698 **/699 agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<PalletUniqueSchedulerV2BlockAgenda>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;700 /**701 * It contains the block number from which we should service tasks.702 * It's used for delaying the servicing of future blocks' agendas if we had overweight tasks.703 **/704 incompleteSince: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;705 /**706 * Lookup from a name to the block number and index of the task.707 **/708 lookup: AugmentedQuery<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;709 /**710 * Generic query711 **/712 [key: string]: QueryableStorageEntry<ApiType>;713 };714 structure: {715 /**716 * Generic query717 **/718 [key: string]: QueryableStorageEntry<ApiType>;719 };720 sudo: {721 /**722 * The `AccountId` of the sudo key.723 **/724 key: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;725 /**726 * Generic query727 **/728 [key: string]: QueryableStorageEntry<ApiType>;729 };730 system: {731 /**732 * The full account information for a particular account ID.733 **/734 account: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<FrameSystemAccountInfo>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;735 /**736 * Total length (in bytes) for all extrinsics put together, for the current block.737 **/738 allExtrinsicsLen: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;739 /**740 * Map of block numbers to block hashes.741 **/742 blockHash: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<H256>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;743 /**744 * The current weight for the block.745 **/746 blockWeight: AugmentedQuery<ApiType, () => Observable<FrameSupportDispatchPerDispatchClassWeight>, []> & QueryableStorageEntry<ApiType, []>;747 /**748 * Digest of the current block, also part of the block header.749 **/750 digest: AugmentedQuery<ApiType, () => Observable<SpRuntimeDigest>, []> & QueryableStorageEntry<ApiType, []>;751 /**752 * The number of events in the `Events<T>` list.753 **/754 eventCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;755 /**756 * Events deposited for the current block.757 * 758 * NOTE: The item is unbound and should therefore never be read on chain.759 * It could otherwise inflate the PoV size of a block.760 * 761 * Events have a large in-memory size. Box the events to not go out-of-memory762 * just in case someone still reads them from within the runtime.763 **/764 events: AugmentedQuery<ApiType, () => Observable<Vec<FrameSystemEventRecord>>, []> & QueryableStorageEntry<ApiType, []>;765 /**766 * Mapping between a topic (represented by T::Hash) and a vector of indexes767 * of events in the `<Events<T>>` list.768 * 769 * All topic vectors have deterministic storage locations depending on the topic. This770 * allows light-clients to leverage the changes trie storage tracking mechanism and771 * in case of changes fetch the list of events of interest.772 * 773 * The value has the type `(T::BlockNumber, EventIndex)` because if we used only just774 * the `EventIndex` then in case if the topic has the same contents on the next block775 * no notification will be triggered thus the event might be lost.776 **/777 eventTopics: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;778 /**779 * The execution phase of the block.780 **/781 executionPhase: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemPhase>>, []> & QueryableStorageEntry<ApiType, []>;782 /**783 * Total extrinsics count for the current block.784 **/785 extrinsicCount: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;786 /**787 * Extrinsics data for the current block (maps an extrinsic's index to its data).788 **/789 extrinsicData: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;790 /**791 * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.792 **/793 lastRuntimeUpgrade: AugmentedQuery<ApiType, () => Observable<Option<FrameSystemLastRuntimeUpgradeInfo>>, []> & QueryableStorageEntry<ApiType, []>;794 /**795 * The current block number being processed. Set by `execute_block`.796 **/797 number: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;798 /**799 * Hash of the previous block.800 **/801 parentHash: AugmentedQuery<ApiType, () => Observable<H256>, []> & QueryableStorageEntry<ApiType, []>;802 /**803 * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False804 * (default) if not.805 **/806 upgradedToTripleRefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;807 /**808 * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.809 **/810 upgradedToU32RefCount: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;811 /**812 * Generic query813 **/814 [key: string]: QueryableStorageEntry<ApiType>;815 };816 testUtils: {817 enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;818 testValue: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;819 /**820 * Generic query821 **/822 [key: string]: QueryableStorageEntry<ApiType>;823 };824 timestamp: {825 /**826 * Did the timestamp get updated in this block?827 **/828 didUpdate: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;829 /**830 * Current time for the current block.831 **/832 now: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;833 /**834 * Generic query835 **/836 [key: string]: QueryableStorageEntry<ApiType>;837 };838 tokens: {839 /**840 * The balance of a token type under an account.841 * 842 * NOTE: If the total is ever zero, decrease account ref account.843 * 844 * NOTE: This is only used in the case that this module is used to store845 * balances.846 **/847 accounts: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<OrmlTokensAccountData>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;848 /**849 * Any liquidity locks of a token type under an account.850 * NOTE: Should only be accessed when setting, changing and freeing a lock.851 **/852 locks: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Vec<OrmlTokensBalanceLock>>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;853 /**854 * Named reserves on some account balances.855 **/856 reserves: AugmentedQuery<ApiType, (arg1: AccountId32 | string | Uint8Array, arg2: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<Vec<OrmlTokensReserveData>>, [AccountId32, PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [AccountId32, PalletForeignAssetsAssetIds]>;857 /**858 * The total issuance of a token type.859 **/860 totalIssuance: AugmentedQuery<ApiType, (arg: PalletForeignAssetsAssetIds | { ForeignAssetId: any } | { NativeAssetId: any } | string | Uint8Array) => Observable<u128>, [PalletForeignAssetsAssetIds]> & QueryableStorageEntry<ApiType, [PalletForeignAssetsAssetIds]>;861 /**862 * Generic query863 **/864 [key: string]: QueryableStorageEntry<ApiType>;865 };866 transactionPayment: {867 nextFeeMultiplier: AugmentedQuery<ApiType, () => Observable<u128>, []> & QueryableStorageEntry<ApiType, []>;868 storageVersion: AugmentedQuery<ApiType, () => Observable<PalletTransactionPaymentReleases>, []> & QueryableStorageEntry<ApiType, []>;869 /**870 * Generic query871 **/872 [key: string]: QueryableStorageEntry<ApiType>;873 };874 treasury: {875 /**876 * Proposal indices that have been approved but not yet awarded.877 **/878 approvals: AugmentedQuery<ApiType, () => Observable<Vec<u32>>, []> & QueryableStorageEntry<ApiType, []>;879 /**880 * Number of proposals that have been made.881 **/882 proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;883 /**884 * Proposals that have been made.885 **/886 proposals: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletTreasuryProposal>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;887 /**888 * Generic query889 **/890 [key: string]: QueryableStorageEntry<ApiType>;891 };892 unique: {893 /**894 * Used for migrations895 **/896 chainVersion: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;897 /**898 * (Collection id (controlled?2), who created (real))899 * TODO: Off chain worker should remove from this map when collection gets removed900 **/901 createItemBasket: AugmentedQuery<ApiType, (arg: ITuple<[u32, AccountId32]> | [u32 | AnyNumber | Uint8Array, AccountId32 | string | Uint8Array]) => Observable<Option<u32>>, [ITuple<[u32, AccountId32]>]> & QueryableStorageEntry<ApiType, [ITuple<[u32, AccountId32]>]>;902 /**903 * Last sponsoring of fungible tokens approval in a collection904 **/905 fungibleApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;906 /**907 * Collection id (controlled?2), owning user (real)908 **/909 fungibleTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;910 /**911 * Last sponsoring of NFT approval in a collection912 **/913 nftApproveBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;914 /**915 * Collection id (controlled?2), token id (controlled?2)916 **/917 nftTransferBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;918 /**919 * Last sponsoring of RFT approval in a collection920 **/921 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]>;922 /**923 * Collection id (controlled?2), token id (controlled?2)924 **/925 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]>;926 /**927 * Last sponsoring of token property setting // todo:doc rephrase this and the following928 **/929 tokenPropertyBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;930 /**931 * Variable metadata sponsoring932 * Collection id (controlled?2), token id (controlled?2)933 **/934 variableMetaDataBasket: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<u32>>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;935 /**936 * Generic query937 **/938 [key: string]: QueryableStorageEntry<ApiType>;939 };940 vesting: {941 /**942 * Vesting schedules of an account.943 * 944 * VestingSchedules: map AccountId => Vec<VestingSchedule>945 **/946 vestingSchedules: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Vec<OrmlVestingVestingSchedule>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;947 /**948 * Generic query949 **/950 [key: string]: QueryableStorageEntry<ApiType>;951 };952 xcmpQueue: {953 /**954 * Inbound aggregate XCMP messages. It can only be one per ParaId/block.955 **/956 inboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;957 /**958 * Status of the inbound XCMP channels.959 **/960 inboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueInboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;961 /**962 * The messages outbound in a given XCMP channel.963 **/964 outboundXcmpMessages: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u16 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32, u16]> & QueryableStorageEntry<ApiType, [u32, u16]>;965 /**966 * The non-empty XCMP channels in order of becoming non-empty, and the index of the first967 * and last outbound message. If the two indices are equal, then it indicates an empty968 * queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater969 * than 65535 items. Queue indices for normal messages begin at one; zero is reserved in970 * case of the need to send a high-priority signal message this block.971 * The bool is true if there is a signal message waiting to be sent.972 **/973 outboundXcmpStatus: AugmentedQuery<ApiType, () => Observable<Vec<CumulusPalletXcmpQueueOutboundChannelDetails>>, []> & QueryableStorageEntry<ApiType, []>;974 /**975 * The messages that exceeded max individual message weight budget.976 * 977 * These message stay in this storage map until they are manually dispatched via978 * `service_overweight`.979 **/980 overweight: AugmentedQuery<ApiType, (arg: u64 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[u32, u32, Bytes]>>>, [u64]> & QueryableStorageEntry<ApiType, [u64]>;981 /**982 * The number of overweight messages ever recorded in `Overweight`. Also doubles as the next983 * available free overweight index.984 **/985 overweightCount: AugmentedQuery<ApiType, () => Observable<u64>, []> & QueryableStorageEntry<ApiType, []>;986 /**987 * The configuration which controls the dynamics of the outbound queue.988 **/989 queueConfig: AugmentedQuery<ApiType, () => Observable<CumulusPalletXcmpQueueQueueConfigData>, []> & QueryableStorageEntry<ApiType, []>;990 /**991 * Whether or not the XCMP queue is suspended from executing incoming XCMs or not.992 **/993 queueSuspended: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;994 /**995 * Any signal messages waiting to be sent.996 **/997 signalMessages: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Bytes>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;998 /**999 * Generic query1000 **/1001 [key: string]: QueryableStorageEntry<ApiType>;1002 };1003 } // AugmentedQueries1004} // declare moduletests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -215,6 +215,7 @@
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
configuration: {
+ setAppPromotionConfigurationOverride: AugmentedSubmittable<(recalculationInterval: Option<u32> | null | Uint8Array | u32 | AnyNumber, pendingInterval: Option<u32> | null | Uint8Array | u32 | AnyNumber, stakersPayoutLimit: Option<u8> | null | Uint8Array | u8 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>, Option<u32>, Option<u8>]>;
setMinGasPriceOverride: AugmentedSubmittable<(coeff: Option<u64> | null | Uint8Array | u64 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u64>]>;
setWeightToFeeCoefficientOverride: AugmentedSubmittable<(coeff: Option<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [Option<u32>]>;
setXcmAllowedLocations: AugmentedSubmittable<(locations: Option<Vec<XcmV1MultiLocation>> | null | Uint8Array | Vec<XcmV1MultiLocation> | (XcmV1MultiLocation | { parents?: any; interior?: any } | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Option<Vec<XcmV1MultiLocation>>]>;