Storage
The following sections contain Storage methods are part of the default Polkadot runtime. On the api, these are exposed via api.query.<module>.<method>.
(NOTE: These were generated from a static/snapshot view of a recent default Polkadot runtime. Some items may not be available in older nodes, or in any customized implementations.)
assetRate
conversionRateToNative(PolkadotRuntimeCommonImplsVersionedLocatableAsset): Option<u128>
interface:
api.query.assetRate.conversionRateToNativesummary: Maps an asset to its fixed point representation in the native balance.
E.g.
native_amount = asset_amount * ConversionRateToNative::<T>::get(asset_kind)
auctions
auctionCounter(): u32
- interface:
api.query.auctions.auctionCounter - summary: Number of auctions started so far.
auctionInfo(): Option<(u32,u32)>
interface:
api.query.auctions.auctionInfosummary: Information relating to the current auction, if there is one.
The first item in the tuple is the lease period index that the first of the four contiguous lease periods on auction is for. The second is the block number when the auction will "begin to end", i.e. the first block of the Ending Period of the auction.
reservedAmounts((AccountId32,u32)): Option<u128>
- interface:
api.query.auctions.reservedAmounts - summary: Amounts currently reserved in the accounts of the bidders currently winning (sub-)ranges.
winning(u32): Option<[Option<(AccountId32,u32,u128)>;36]>
- interface:
api.query.auctions.winning - summary: The winning bids for each of the 10 ranges at each sample in the final Ending Period of the current auction. The map's key is the 0-based index into the Sample Size. The first sample of the ending period is 0; the last is
Sample Size - 1.
authorityDiscovery
keys(): Vec<SpAuthorityDiscoveryAppPublic>
- interface:
api.query.authorityDiscovery.keys - summary: Keys of the current authority set.
nextKeys(): Vec<SpAuthorityDiscoveryAppPublic>
- interface:
api.query.authorityDiscovery.nextKeys - summary: Keys of the next authority set.
authorship
author(): Option<AccountId32>
- interface:
api.query.authorship.author - summary: Author of current block.
babe
authorities(): Vec<(SpConsensusBabeAppPublic,u64)>
- interface:
api.query.babe.authorities - summary: Current epoch authorities.
authorVrfRandomness(): Option<[u8;32]>
interface:
api.query.babe.authorVrfRandomnesssummary: This field should always be populated during block processing unless secondary plain slots are enabled (which don't contain a VRF output).
It is set in
on_finalize, before it will contain the value from the last block.
currentSlot(): u64
- interface:
api.query.babe.currentSlot - summary: Current slot number.
epochConfig(): Option<SpConsensusBabeBabeEpochConfiguration>
- interface:
api.query.babe.epochConfig - summary: The configuration for the current epoch. Should never be
Noneas it is initialized in genesis.
epochIndex(): u64
- interface:
api.query.babe.epochIndex - summary: Current epoch index.
epochStart(): (u32,u32)
- interface:
api.query.babe.epochStart - summary: The block numbers when the last and current epoch have started, respectively
N-1andN. NOTE: We track this is in order to annotate the block number when a given pool of entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in slots, which may be skipped, the block numbers may not line up with the slot numbers.
genesisSlot(): u64
- interface:
api.query.babe.genesisSlot - summary: The slot at which the first epoch actually started. This is 0 until the first block of the chain.
initialized(): Option<Option<SpConsensusBabeDigestsPreDigest>>
- interface:
api.query.babe.initialized - summary: Temporary value (cleared at block finalization) which is
Someif per-block initialization has already been called for current block.
lateness(): u32
interface:
api.query.babe.latenesssummary: How late the current block is compared to its parent.
This entry is populated as part of block execution and is cleaned up on block finalization. Querying this storage entry outside of block execution context should always yield zero.
nextAuthorities(): Vec<(SpConsensusBabeAppPublic,u64)>
- interface:
api.query.babe.nextAuthorities - summary: Next epoch authorities.
nextEpochConfig(): Option<SpConsensusBabeBabeEpochConfiguration>
- interface:
api.query.babe.nextEpochConfig - summary: The configuration for the next epoch,
Noneif the config will not change (you can fallback toEpochConfiginstead in that case).
nextRandomness(): [u8;32]
- interface:
api.query.babe.nextRandomness - summary: Next epoch randomness.
pendingEpochConfigChange(): Option<SpConsensusBabeDigestsNextConfigDescriptor>
- interface:
api.query.babe.pendingEpochConfigChange - summary: Pending epoch configuration change that will be applied when the next epoch is enacted.
randomness(): [u8;32]
interface:
api.query.babe.randomnesssummary: The epoch randomness for the current epoch.
Security
This MUST NOT be used for gambling, as it can be influenced by a malicious validator in the short term. It MAY be used in many cryptographic protocols, however, so long as one remembers that this (like everything else on-chain) it is public. For example, it can be used where a number is needed that cannot have been chosen by an adversary, for purposes such as public-coin zero-knowledge proofs.
segmentIndex(): u32
interface:
api.query.babe.segmentIndexsummary: Randomness under construction.
We make a trade-off between storage accesses and list length. We store the under-construction randomness in segments of up to
UNDER_CONSTRUCTION_SEGMENT_LENGTH.Once a segment reaches this length, we begin the next one. We reset all segments and return to
0at the beginning of every epoch.
skippedEpochs(): Vec<(u64,u32)>
interface:
api.query.babe.skippedEpochssummary: A list of the last 100 skipped epochs and the corresponding session index when the epoch was skipped.
This is only used for validating equivocation proofs. An equivocation proof must contains a key-ownership proof for a given session, therefore we need a way to tie together sessions and epoch indices, i.e. we need to validate that a validator was the owner of a given key on a given session, and what the active epoch index was during that session.
underConstruction(u32): Vec<[u8;32]>
- interface:
api.query.babe.underConstruction - summary: TWOX-NOTE:
SegmentIndexis an increasing integer, so this is okay.
balances
account(AccountId32): PalletBalancesAccountData
interface:
api.query.balances.accountsummary: The Balances pallet example of storing the balance of an account.
Example
nocompile impl pallet_balances::Config for Runtime { type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>> }You can also store the balance of an account in the
Systempallet.Example
nocompile impl pallet_balances::Config for Runtime { type AccountStore = System }But this comes with tradeoffs, storing account balances in the system pallet stores
frame_systemdata alongside the account data contrary to storing account balances in theBalancespallet, which uses aStorageMapto store balances data only. NOTE: This is only used in the case that this pallet is used to store balances.
freezes(AccountId32): Vec<FrameSupportTokensMiscIdAmountRuntimeFreezeReason>
- interface:
api.query.balances.freezes - summary: Freeze locks on account balances.
holds(AccountId32): Vec<FrameSupportTokensMiscIdAmountRuntimeHoldReason>
- interface:
api.query.balances.holds - summary: Holds on account balances.
inactiveIssuance(): u128
- interface:
api.query.balances.inactiveIssuance - summary: The total units of outstanding deactivated balance in the system.
locks(AccountId32): Vec<PalletBalancesBalanceLock>
interface:
api.query.balances.lockssummary: Any liquidity locks on some account balances. NOTE: Should only be accessed when setting, changing and freeing a lock.
Use of locks is deprecated in favour of freezes. See
https://github.com/paritytech/substrate/pull/12951/
reserves(AccountId32): Vec<PalletBalancesReserveData>
interface:
api.query.balances.reservessummary: Named reserves on some account balances.
Use of reserves is deprecated in favour of holds. See
https://github.com/paritytech/substrate/pull/12951/
totalIssuance(): u128
- interface:
api.query.balances.totalIssuance - summary: The total units issued in the system.
beefy
authorities(): Vec<SpConsensusBeefyEcdsaCryptoPublic>
- interface:
api.query.beefy.authorities - summary: The current authorities set
genesisBlock(): Option<u32>
- interface:
api.query.beefy.genesisBlock - summary: Block number where BEEFY consensus is enabled/started. By changing this (through privileged
set_new_genesis()), BEEFY consensus is effectively restarted from the newly set block number.
nextAuthorities(): Vec<SpConsensusBeefyEcdsaCryptoPublic>
- interface:
api.query.beefy.nextAuthorities - summary: Authorities set scheduled to be used with the next session
setIdSession(u64): Option<u32>
interface:
api.query.beefy.setIdSessionsummary: A mapping from BEEFY set ID to the index of the most recent session for which its members were responsible.
This is only used for validating equivocation proofs. An equivocation proof must contains a key-ownership proof for a given session, therefore we need a way to tie together sessions and BEEFY set ids, i.e. we need to validate that a validator was the owner of a given key on a given session, and what the active set ID was during that session.
TWOX-NOTE:
ValidatorSetIdis not under user control.
validatorSetId(): u64
- interface:
api.query.beefy.validatorSetId - summary: The current validator set id
beefyMmrLeaf
beefyAuthorities(): SpConsensusBeefyMmrBeefyAuthoritySet
- interface:
api.query.beefyMmrLeaf.beefyAuthorities - summary: Details of current BEEFY authority set.
beefyNextAuthorities(): SpConsensusBeefyMmrBeefyAuthoritySet
interface:
api.query.beefyMmrLeaf.beefyNextAuthoritiessummary: Details of next BEEFY authority set.
This storage entry is used as cache for calls to
update_beefy_next_authority_set.
bounties
bounties(u32): Option<PalletBountiesBounty>
- interface:
api.query.bounties.bounties - summary: Bounties that have been made.
bountyApprovals(): Vec<u32>
- interface:
api.query.bounties.bountyApprovals - summary: Bounty indices that have been approved but not yet funded.
bountyCount(): u32
- interface:
api.query.bounties.bountyCount - summary: Number of bounty proposals that have been made.
bountyDescriptions(u32): Option<Bytes>
- interface:
api.query.bounties.bountyDescriptions - summary: The description of each bounty.
childBounties
childBounties(u32, u32): Option<PalletChildBountiesChildBounty>
- interface:
api.query.childBounties.childBounties - summary: Child bounties that have been added.
childBountyCount(): u32
- interface:
api.query.childBounties.childBountyCount - summary: DEPRECATED: Replaced with
ParentTotalChildBountiesstorage item keeping dedicated counts for each parent bounty. Number of total child bounties. Will be removed in May 2025.
childBountyDescriptionsV1(u32, u32): Option<Bytes>
interface:
api.query.childBounties.childBountyDescriptionsV1summary: The description of each child-bounty. Indexed by
(parent_id, child_id).This item replaces the
ChildBountyDescriptionsstorage item from the V0 storage version.
childrenCuratorFees(u32): u128
- interface:
api.query.childBounties.childrenCuratorFees - summary: The cumulative child-bounty curator fee for each parent bounty.
parentChildBounties(u32): u32
- interface:
api.query.childBounties.parentChildBounties - summary: Number of active child bounties per parent bounty. Map of parent bounty index to number of child bounties.
parentTotalChildBounties(u32): u32
- interface:
api.query.childBounties.parentTotalChildBounties - summary: Number of total child bounties per parent bounty, including completed bounties.
v0ToV1ChildBountyIds(u32): Option<(u32,u32)>
interface:
api.query.childBounties.v0ToV1ChildBountyIdssummary: The mapping of the child bounty ids from storage version
V0to the newV1version.The
V0ids based on total child bounty count [ChildBountyCount]. TheV1version ids based on the child bounty count per parent bounty [ParentTotalChildBounties`]. The item intended solely for client convenience and not used in the pallet's core logic.
claims
claims(EthereumAddress): Option<u128>
- interface:
api.query.claims.claims
preclaims(AccountId32): Option<EthereumAddress>
- interface:
api.query.claims.preclaims - summary: Pre-claimed Ethereum accounts, by the Account ID that they are claimed to.
signing(EthereumAddress): Option<PolkadotRuntimeCommonClaimsStatementKind>
- interface:
api.query.claims.signing - summary: The statement kind that must be signed, if any.
total(): u128
- interface:
api.query.claims.total
vesting(EthereumAddress): Option<(u128,u128,u32)>
- interface:
api.query.claims.vesting - summary: Vesting schedule for a claim. First balance is the total amount that should be held for vesting. Second balance is how much should be unlocked per block. The block number is when the vesting should start.
configuration
activeConfig(): PolkadotRuntimeParachainsConfigurationHostConfiguration
- interface:
api.query.configuration.activeConfig - summary: The active configuration for the current session.
bypassConsistencyCheck(): bool
- interface:
api.query.configuration.bypassConsistencyCheck - summary: If this is set, then the configuration setters will bypass the consistency checks. This is meant to be used only as the last resort.
pendingConfigs(): Vec<(u32,PolkadotRuntimeParachainsConfigurationHostConfiguration)>
interface:
api.query.configuration.pendingConfigssummary: Pending configuration changes.
This is a list of configuration changes, each with a session index at which it should be applied.
The list is sorted ascending by session index. Also, this list can only contain at most 2 items: for the next session and for the
scheduled_session.
convictionVoting
classLocksFor(AccountId32): Vec<(u16,u128)>
- interface:
api.query.convictionVoting.classLocksFor - summary: The voting classes which have a non-zero lock requirement and the lock amounts which they require. The actual amount locked on behalf of this pallet should always be the maximum of this list.
votingFor(AccountId32, u16): PalletConvictionVotingVoteVoting
- interface:
api.query.convictionVoting.votingFor - summary: All voting for a particular voter in a particular voting class. We store the balance for the number of votes that we have recorded.
coretimeAssignmentProvider
coreDescriptors(u32): PolkadotRuntimeParachainsAssignerCoretimeCoreDescriptor
interface:
api.query.coretimeAssignmentProvider.coreDescriptorssummary: Assignments which are currently active.
They will be picked from
PendingAssignmentsonce we reach the scheduled block number inPendingAssignments.
coreSchedules((u32,u32)): Option<PolkadotRuntimeParachainsAssignerCoretimeSchedule>
interface:
api.query.coretimeAssignmentProvider.coreSchedulessummary: Scheduled assignment sets.
Assignments as of the given block number. They will go into state once the block number is reached (and replace whatever was in there before).
crowdloan
endingsCount(): u32
- interface:
api.query.crowdloan.endingsCount - summary: The number of auctions that have entered into their ending period so far.
funds(u32): Option<PolkadotRuntimeCommonCrowdloanFundInfo>
- interface:
api.query.crowdloan.funds - summary: Info on all of the funds.
newRaise(): Vec<u32>
- interface:
api.query.crowdloan.newRaise - summary: The funds that have had additional contributions during the last block. This is used in order to determine which funds should submit new or updated bids.
nextFundIndex(): u32
- interface:
api.query.crowdloan.nextFundIndex - summary: Tracker for the next available fund index
delegatedStaking
agents(AccountId32): Option<PalletDelegatedStakingAgentLedger>
- interface:
api.query.delegatedStaking.agents - summary: Map of
Agentto theirLedger.
counterForAgents(): u32
- interface:
api.query.delegatedStaking.counterForAgents - summary: Counter for the related counted storage map
counterForDelegators(): u32
- interface:
api.query.delegatedStaking.counterForDelegators - summary: Counter for the related counted storage map
delegators(AccountId32): Option<PalletDelegatedStakingDelegation>
interface:
api.query.delegatedStaking.delegatorssummary: Map of Delegators to their
Delegation.Implementation note: We are not using a double map with
delegatorandagentaccount as keys since we want to restrict delegators to delegate only to one account at a time.
dmp
deliveryFeeFactor(u32): u128
- interface:
api.query.dmp.deliveryFeeFactor - summary: The factor to multiply the base delivery fee by.
downwardMessageQueueHeads(u32): H256
interface:
api.query.dmp.downwardMessageQueueHeadssummary: A mapping that stores the downward message queue MQC head for each para.
Each link in this chain has a form:
(prev_head, B, H(M)), whereprev_head: is the previous head hash or zero if none.B: is the relay-chain block number in which a message was appended.H(M): is the hash of the message being appended.
downwardMessageQueues(u32): Vec<PolkadotCorePrimitivesInboundDownwardMessage>
- interface:
api.query.dmp.downwardMessageQueues - summary: The downward messages addressed for a certain para.
electionProviderMultiPhase
currentPhase(): PalletElectionProviderMultiPhasePhase
- interface:
api.query.electionProviderMultiPhase.currentPhase - summary: Current phase.
desiredTargets(): Option<u32>
interface:
api.query.electionProviderMultiPhase.desiredTargetssummary: Desired number of targets to elect for this round.
Only exists when [
Snapshot] is present. Note: This storage type must only be mutated through [SnapshotWrapper].
minimumUntrustedScore(): Option<SpNposElectionsElectionScore>
interface:
api.query.electionProviderMultiPhase.minimumUntrustedScoresummary: The minimum score that each 'untrusted' solution must attain in order to be considered feasible.
Can be set via
set_minimum_untrusted_score.
queuedSolution(): Option<PalletElectionProviderMultiPhaseReadySolution>
interface:
api.query.electionProviderMultiPhase.queuedSolutionsummary: Current best solution, signed or unsigned, queued to be returned upon
elect.Always sorted by score.
round(): u32
interface:
api.query.electionProviderMultiPhase.roundsummary: Internal counter for the number of rounds.
This is useful for de-duplication of transactions submitted to the pool, and general diagnostics of the pallet.
This is merely incremented once per every time that an upstream
electis called.
signedSubmissionIndices(): Vec<(SpNposElectionsElectionScore,u32,u32)>
interface:
api.query.electionProviderMultiPhase.signedSubmissionIndicessummary: A sorted, bounded vector of
(score, block_number, index), where eachindexpoints to a value inSignedSubmissions.We never need to process more than a single signed submission at a time. Signed submissions can be quite large, so we're willing to pay the cost of multiple database accesses to access them one at a time instead of reading and decoding all of them at once.
signedSubmissionNextIndex(): u32
interface:
api.query.electionProviderMultiPhase.signedSubmissionNextIndexsummary: The next index to be assigned to an incoming signed submission.
Every accepted submission is assigned a unique index; that index is bound to that particular submission for the duration of the election. On election finalization, the next index is reset to 0.
We can't just use
SignedSubmissionIndices.len(), because that's a bounded set; past its capacity, it will simply saturate. We can't just iterate overSignedSubmissionsMap, because iteration is slow. Instead, we store the value here.
signedSubmissionsMap(u32): Option<PalletElectionProviderMultiPhaseSignedSignedSubmission>
interface:
api.query.electionProviderMultiPhase.signedSubmissionsMapsummary: Unchecked, signed solutions.
Together with
SubmissionIndices, this stores a bounded set ofSignedSubmissionswhile allowing us to keep only a single one in memory at a time.Twox note: the key of the map is an auto-incrementing index which users cannot inspect or affect; we shouldn't need a cryptographically secure hasher.
snapshot(): Option<PalletElectionProviderMultiPhaseRoundSnapshot>
interface:
api.query.electionProviderMultiPhase.snapshotsummary: Snapshot data of the round.
This is created at the beginning of the signed phase and cleared upon calling
elect. Note: This storage type must only be mutated through [SnapshotWrapper].
snapshotMetadata(): Option<PalletElectionProviderMultiPhaseSolutionOrSnapshotSize>
interface:
api.query.electionProviderMultiPhase.snapshotMetadatasummary: The metadata of the [
RoundSnapshot]Only exists when [
Snapshot] is present. Note: This storage type must only be mutated through [SnapshotWrapper].
fastUnstake
counterForQueue(): u32
- interface:
api.query.fastUnstake.counterForQueue - summary: Counter for the related counted storage map
erasToCheckPerBlock(): u32
interface:
api.query.fastUnstake.erasToCheckPerBlocksummary: Number of eras to check per block.
If set to 0, this pallet does absolutely nothing. Cannot be set to more than [
Config::MaxErasToCheckPerBlock].Based on the amount of weight available at [
Pallet::on_idle], up to this many eras are checked. The checking is represented by updating [UnstakeRequest::checked], which is stored in [Head].
head(): Option<PalletFastUnstakeUnstakeRequest>
interface:
api.query.fastUnstake.headsummary: The current "head of the queue" being unstaked.
The head in itself can be a batch of up to [
Config::BatchSize] stakers.
queue(AccountId32): Option<u128>
interface:
api.query.fastUnstake.queuesummary: The map of all accounts wishing to be unstaked.
Keeps track of
AccountIdwishing to unstake and it's corresponding deposit.
grandpa
authorities(): Vec<(SpConsensusGrandpaAppPublic,u64)>
- interface:
api.query.grandpa.authorities - summary: The current list of authorities.
currentSetId(): u64
- interface:
api.query.grandpa.currentSetId - summary: The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.
nextForced(): Option<u32>
- interface:
api.query.grandpa.nextForced - summary: next block number where we can force a change.
pendingChange(): Option<PalletGrandpaStoredPendingChange>
- interface:
api.query.grandpa.pendingChange - summary: Pending change: (signaled at, scheduled change).
setIdSession(u64): Option<u32>
interface:
api.query.grandpa.setIdSessionsummary: A mapping from grandpa set ID to the index of the most recent session for which its members were responsible.
This is only used for validating equivocation proofs. An equivocation proof must contains a key-ownership proof for a given session, therefore we need a way to tie together sessions and GRANDPA set ids, i.e. we need to validate that a validator was the owner of a given key on a given session, and what the active set ID was during that session.
TWOX-NOTE:
SetIdis not under user control.
stalled(): Option<(u32,u32)>
- interface:
api.query.grandpa.stalled - summary:
trueif we are currently stalled.
state(): PalletGrandpaStoredState
- interface:
api.query.grandpa.state - summary: State of the current authority set.
historical
historicalSessions(u32): Option<(H256,u32)>
- interface:
api.query.historical.historicalSessions - summary: Mapping from historical session indices to session-data root hash and validator count.
storedRange(): Option<(u32,u32)>
- interface:
api.query.historical.storedRange - summary: The range of historical sessions we store. [first, last)
hrmp
hrmpAcceptedChannelRequestCount(u32): u32
- interface:
api.query.hrmp.hrmpAcceptedChannelRequestCount - summary: This mapping tracks how many open channel requests were accepted by a given recipient para. Invariant:
HrmpOpenChannelRequestsshould contain the same number of items(_, X)withconfirmedset to true, as the number ofHrmpAcceptedChannelRequestCountforX.
hrmpChannelContents(PolkadotParachainPrimitivesPrimitivesHrmpChannelId): Vec<PolkadotCorePrimitivesInboundHrmpMessage>
- interface:
api.query.hrmp.hrmpChannelContents - summary: Storage for the messages for each channel. Invariant: cannot be non-empty if the corresponding channel in
HrmpChannelsisNone.
hrmpChannelDigests(u32): Vec<(u32,Vec<u32>)>
interface:
api.query.hrmp.hrmpChannelDigestssummary: Maintains a mapping that can be used to answer the question: What paras sent a message at the given block number for a given receiver. Invariants:
The inner
Vec<ParaId>is never empty.The inner
Vec<ParaId>cannot store two sameParaId.The outer vector is sorted ascending by block number and cannot store two items with the same block number.
hrmpChannels(PolkadotParachainPrimitivesPrimitivesHrmpChannelId): Option<PolkadotRuntimeParachainsHrmpHrmpChannel>
interface:
api.query.hrmp.hrmpChannelssummary: HRMP channel data associated with each para. Invariant:
- each participant in the channel should satisfy
Paras::is_valid_para(P)within a session.
- each participant in the channel should satisfy
hrmpCloseChannelRequests(PolkadotParachainPrimitivesPrimitivesHrmpChannelId): Option<Null>
interface:
api.query.hrmp.hrmpCloseChannelRequestssummary: A set of pending HRMP close channel requests that are going to be closed during the session change. Used for checking if a given channel is registered for closure.
The set is accompanied by a list for iteration.
Invariant:
- There are no channels that exists in list but not in the set and vice versa.
hrmpCloseChannelRequestsList(): Vec<PolkadotParachainPrimitivesPrimitivesHrmpChannelId>
- interface:
api.query.hrmp.hrmpCloseChannelRequestsList
hrmpEgressChannelsIndex(u32): Vec<u32>
- interface:
api.query.hrmp.hrmpEgressChannelsIndex
hrmpIngressChannelsIndex(u32): Vec<u32>
interface:
api.query.hrmp.hrmpIngressChannelsIndexsummary: Ingress/egress indexes allow to find all the senders and receivers given the opposite side. I.e.
(a) ingress index allows to find all the senders for a given recipient. (b) egress index allows to find all the recipients for a given sender.
Invariants:
for each ingress index entry for
Peach itemIin the index should present inHrmpChannelsas(I, P).for each egress index entry for
Peach itemEin the index should present inHrmpChannelsas(P, E).there should be no other dangling channels in
HrmpChannels.the vectors are sorted.
hrmpOpenChannelRequestCount(u32): u32
- interface:
api.query.hrmp.hrmpOpenChannelRequestCount - summary: This mapping tracks how many open channel requests are initiated by a given sender para. Invariant:
HrmpOpenChannelRequestsshould contain the same number of items that has(X, _)as the number ofHrmpOpenChannelRequestCountforX.
hrmpOpenChannelRequests(PolkadotParachainPrimitivesPrimitivesHrmpChannelId): Option<PolkadotRuntimeParachainsHrmpHrmpOpenChannelRequest>
interface:
api.query.hrmp.hrmpOpenChannelRequestssummary: The set of pending HRMP open channel requests.
The set is accompanied by a list for iteration.
Invariant:
- There are no channels that exists in list but not in the set and vice versa.
hrmpOpenChannelRequestsList(): Vec<PolkadotParachainPrimitivesPrimitivesHrmpChannelId>
- interface:
api.query.hrmp.hrmpOpenChannelRequestsList
hrmpWatermarks(u32): Option<u32>
interface:
api.query.hrmp.hrmpWatermarkssummary: The HRMP watermark associated with each para. Invariant:
- each para
Pused here as a key should satisfyParas::is_valid_para(P)within a session.
- each para
indices
accounts(u32): Option<(AccountId32,u128,bool)>
- interface:
api.query.indices.accounts - summary: The lookup from index to account.
initializer
bufferedSessionChanges(): Vec<PolkadotRuntimeParachainsInitializerBufferedSessionChange>
interface:
api.query.initializer.bufferedSessionChangessummary: Buffered session changes.
Typically this will be empty or one element long. Apart from that this item never hits the storage.
However this is a
Vecregardless to handle various edge cases that may occur at runtime upgrade boundaries or if governance intervenes.
hasInitialized(): Option<Null>
interface:
api.query.initializer.hasInitializedsummary: Whether the parachains modules have been initialized within this block.
Semantically a
bool, but this guarantees it should never hit the trie, as this is cleared inon_finalizeand Frame optimizesNonevalues to be empty values.As a
bool,set(false)andremove()both lead to the nextget()being false, but one of them writes to the trie and one does not. This confusion makesOption<()>more suitable for the semantics of this variable.
messageQueue
bookStateFor(PolkadotRuntimeParachainsInclusionAggregateMessageOrigin): PalletMessageQueueBookState
- interface:
api.query.messageQueue.bookStateFor - summary: The index of the first and last (non-empty) pages.
pages(PolkadotRuntimeParachainsInclusionAggregateMessageOrigin, u32): Option<PalletMessageQueuePage>
- interface:
api.query.messageQueue.pages - summary: The map of page indices to pages.
serviceHead(): Option<PolkadotRuntimeParachainsInclusionAggregateMessageOrigin>
- interface:
api.query.messageQueue.serviceHead - summary: The origin at which we should begin servicing.
mmr
nodes(u64): Option<H256>
interface:
api.query.mmr.nodessummary: Hashes of the nodes in the MMR.
Note this collection only contains MMR peaks, the inner nodes (and leaves) are pruned and only stored in the Offchain DB.
numberOfLeaves(): u64
- interface:
api.query.mmr.numberOfLeaves - summary: Current size of the MMR (number of leaves).
rootHash(): H256
- interface:
api.query.mmr.rootHash - summary: Latest MMR Root hash.
multisig
multisigs(AccountId32, [u8;32]): Option<PalletMultisigMultisig>
- interface:
api.query.multisig.multisigs - summary: The set of open multisig operations.
nominationPools
bondedPools(u32): Option<PalletNominationPoolsBondedPoolInner>
- interface:
api.query.nominationPools.bondedPools - summary: Storage for bonded pools.
claimPermissions(AccountId32): PalletNominationPoolsClaimPermission
- interface:
api.query.nominationPools.claimPermissions - summary: Map from a pool member account to their opted claim permission.
counterForBondedPools(): u32
- interface:
api.query.nominationPools.counterForBondedPools - summary: Counter for the related counted storage map
counterForMetadata(): u32
- interface:
api.query.nominationPools.counterForMetadata - summary: Counter for the related counted storage map
counterForPoolMembers(): u32
- interface:
api.query.nominationPools.counterForPoolMembers - summary: Counter for the related counted storage map
counterForReversePoolIdLookup(): u32
- interface:
api.query.nominationPools.counterForReversePoolIdLookup - summary: Counter for the related counted storage map
counterForRewardPools(): u32
- interface:
api.query.nominationPools.counterForRewardPools - summary: Counter for the related counted storage map
counterForSubPoolsStorage(): u32
- interface:
api.query.nominationPools.counterForSubPoolsStorage - summary: Counter for the related counted storage map
globalMaxCommission(): Option<Perbill>
- interface:
api.query.nominationPools.globalMaxCommission - summary: The maximum commission that can be charged by a pool. Used on commission payouts to bound pool commissions that are >
GlobalMaxCommission, necessary if a futureGlobalMaxCommissionis lower than some current pool commissions.
lastPoolId(): u32
- interface:
api.query.nominationPools.lastPoolId - summary: Ever increasing number of all pools created so far.
maxPoolMembers(): Option<u32>
- interface:
api.query.nominationPools.maxPoolMembers - summary: Maximum number of members that can exist in the system. If
None, then the count members are not bound on a system wide basis.
maxPoolMembersPerPool(): Option<u32>
- interface:
api.query.nominationPools.maxPoolMembersPerPool - summary: Maximum number of members that may belong to pool. If
None, then the count of members is not bound on a per pool basis.
maxPools(): Option<u32>
- interface:
api.query.nominationPools.maxPools - summary: Maximum number of nomination pools that can exist. If
None, then an unbounded number of pools can exist.
metadata(u32): Bytes
- interface:
api.query.nominationPools.metadata - summary: Metadata for the pool.
minCreateBond(): u128
interface:
api.query.nominationPools.minCreateBondsummary: Minimum bond required to create a pool.
This is the amount that the depositor must put as their initial stake in the pool, as an indication of "skin in the game".
This is the value that will always exist in the staking ledger of the pool bonded account while all other accounts leave.
minJoinBond(): u128
- interface:
api.query.nominationPools.minJoinBond - summary: Minimum amount to bond to join a pool.
poolMembers(AccountId32): Option<PalletNominationPoolsPoolMember>
interface:
api.query.nominationPools.poolMemberssummary: Active members.
TWOX-NOTE: SAFE since
AccountIdis a secure hash.
reversePoolIdLookup(AccountId32): Option<u32>
interface:
api.query.nominationPools.reversePoolIdLookupsummary: A reverse lookup from the pool's account id to its id.
This is only used for slashing and on automatic withdraw update. In all other instances, the pool id is used, and the accounts are deterministically derived from it.
rewardPools(u32): Option<PalletNominationPoolsRewardPool>
- interface:
api.query.nominationPools.rewardPools - summary: Reward pools. This is where there rewards for each pool accumulate. When a members payout is claimed, the balance comes out of the reward pool. Keyed by the bonded pools account.
subPoolsStorage(u32): Option<PalletNominationPoolsSubPools>
- interface:
api.query.nominationPools.subPoolsStorage - summary: Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool, hence the name sub-pools. Keyed by the bonded pools account.
totalValueLocked(): u128
interface:
api.query.nominationPools.totalValueLockedsummary: The sum of funds across all pools.
This might be lower but never higher than the sum of
total_balanceof all [PoolMembers] because callingpool_withdraw_unbondedmight decrease the total stake of the pool'sbonded_accountwithout adjusting the pallet-internalUnbondingPool's.
offences
concurrentReportsIndex([u8;16], Bytes): Vec<H256>
- interface:
api.query.offences.concurrentReportsIndex - summary: A vector of reports of the same kind that happened at the same time slot.
reports(H256): Option<SpStakingOffenceOffenceDetails>
- interface:
api.query.offences.reports - summary: The primary structure that holds all offence records keyed by report identifiers.
onDemand
affinityEntries(u32): BinaryHeapEnqueuedOrder
- interface:
api.query.onDemand.affinityEntries - summary: Queue entries that are currently bound to a particular core due to core affinity.
credits(AccountId32): u128
- interface:
api.query.onDemand.credits - summary: Keeps track of credits owned by each account.
freeEntries(): BinaryHeapEnqueuedOrder
- interface:
api.query.onDemand.freeEntries - summary: Priority queue for all orders which don't yet (or not any more) have any core affinity.
paraIdAffinity(u32): Option<PolkadotRuntimeParachainsOnDemandTypesCoreAffinityCount>
- interface:
api.query.onDemand.paraIdAffinity - summary: Maps a
ParaIdtoCoreIndexand keeps track of how many assignments the scheduler has in it's lookahead. Keeping track of this affinity prevents parallel execution of the sameParaIdon two or moreCoreIndexes.
queueStatus(): PolkadotRuntimeParachainsOnDemandTypesQueueStatusType
- interface:
api.query.onDemand.queueStatus - summary: Overall status of queue (both free + affinity entries)
revenue(): Vec<u128>
- interface:
api.query.onDemand.revenue - summary: Keeps track of accumulated revenue from on demand order sales.
paraInclusion
v1(u32): Option<Vec<PolkadotRuntimeParachainsInclusionCandidatePendingAvailability>>
- interface:
api.query.paraInclusion.v1 - summary: Candidates pending availability by
ParaId. They form a chain starting from the latest included head of the para. Use a different prefix post-migration to v1, since the v0PendingAvailabilitystorage would otherwise have the exact same prefix which could cause undefined behaviour when doing the migration.
paraInherent
included(): Option<Null>
interface:
api.query.paraInherent.includedsummary: Whether the paras inherent was included within this block.
The
Option<()>is effectively abool, but it never hits storage in theNonevariant due to the guarantees of FRAME's storage APIs.If this is
Noneat the end of the block, we panic and render the block invalid.
onChainVotes(): Option<PolkadotPrimitivesVstagingScrapedOnChainVotes>
- interface:
api.query.paraInherent.onChainVotes - summary: Scraped on chain data for extracting resolved disputes as well as backing votes.
paras
actionsQueue(u32): Vec<u32>
- interface:
api.query.paras.actionsQueue - summary: The actions to perform during the start of a specific session index.
authorizedCodeHash(u32): Option<PolkadotRuntimeParachainsParasAuthorizedCodeHashAndExpiry>
- interface:
api.query.paras.authorizedCodeHash - summary: The code hash authorizations for a para which will expire
expire_atBlockNumberFor<T>.
codeByHash(H256): Option<Bytes>
interface:
api.query.paras.codeByHashsummary: Validation code stored by its hash.
This storage is consistent with [
FutureCodeHash], [CurrentCodeHash] and [PastCodeHash].
codeByHashRefs(H256): u32
- interface:
api.query.paras.codeByHashRefs - summary: The number of reference on the validation code in [
CodeByHash] storage.
currentCodeHash(u32): Option<H256>
interface:
api.query.paras.currentCodeHashsummary: The validation code hash of every live para.
Corresponding code can be retrieved with [
CodeByHash].
futureCodeHash(u32): Option<H256>
interface:
api.query.paras.futureCodeHashsummary: The actual future code hash of a para.
Corresponding code can be retrieved with [
CodeByHash].
futureCodeUpgrades(u32): Option<u32>
interface:
api.query.paras.futureCodeUpgradessummary: The block number at which the planned code change is expected for a parachain.
The change will be applied after the first parablock for this ID included which executes in the context of a relay chain block with a number >=
expected_at.
futureCodeUpgradesAt(): Vec<(u32,u32)>
interface:
api.query.paras.futureCodeUpgradesAtsummary: The list of upcoming future code upgrades.
Each item is a pair of the parachain and the expected block at which the upgrade should be applied. The upgrade will be applied at the given relay chain block. In contrast to [
FutureCodeUpgrades] this code upgrade will be applied regardless the parachain making any progress or not.Ordered ascending by block number.
heads(u32): Option<Bytes>
- interface:
api.query.paras.heads - summary: The head-data of every registered para.
mostRecentContext(u32): Option<u32>
- interface:
api.query.paras.mostRecentContext - summary: The context (relay-chain block number) of the most recent parachain head.
parachains(): Vec<u32>
interface:
api.query.paras.parachainssummary: All lease holding parachains. Ordered ascending by
ParaId. On demand parachains are not included.Consider using the [
ParachainsCache] type of modifying.
paraLifecycles(u32): Option<PolkadotRuntimeParachainsParasParaLifecycle>
- interface:
api.query.paras.paraLifecycles - summary: The current lifecycle of a all known Para IDs.
pastCodeHash((u32,u32)): Option<H256>
interface:
api.query.paras.pastCodeHashsummary: Actual past code hash, indicated by the para id as well as the block number at which it became outdated.
Corresponding code can be retrieved with [
CodeByHash].
pastCodeMeta(u32): PolkadotRuntimeParachainsParasParaPastCodeMeta
- interface:
api.query.paras.pastCodeMeta - summary: Past code of parachains. The parachains themselves may not be registered anymore, but we also keep their code on-chain for the same amount of time as outdated code to keep it available for approval checkers.
pastCodePruning(): Vec<(u32,u32)>
- interface:
api.query.paras.pastCodePruning - summary: Which paras have past code that needs pruning and the relay-chain block at which the code was replaced. Note that this is the actual height of the included block, not the expected height at which the code upgrade would be applied, although they may be equal. This is to ensure the entire acceptance period is covered, not an offset acceptance period starting from the time at which the parachain perceives a code upgrade as having occurred. Multiple entries for a single para are permitted. Ordered ascending by block number.
pvfActiveVoteList(): Vec<H256>
- interface:
api.query.paras.pvfActiveVoteList - summary: The list of all currently active PVF votes. Auxiliary to
PvfActiveVoteMap.
pvfActiveVoteMap(H256): Option<PolkadotRuntimeParachainsParasPvfCheckActiveVoteState>
interface:
api.query.paras.pvfActiveVoteMapsummary: All currently active PVF pre-checking votes.
Invariant:
- There are no PVF pre-checking votes that exists in list but not in the set and vice versa.
upcomingParasGenesis(u32): Option<PolkadotRuntimeParachainsParasParaGenesisArgs>
interface:
api.query.paras.upcomingParasGenesissummary: Upcoming paras instantiation arguments.
NOTE that after PVF pre-checking is enabled the para genesis arg will have it's code set to empty. Instead, the code will be saved into the storage right away via
CodeByHash.
upcomingUpgrades(): Vec<(u32,u32)>
interface:
api.query.paras.upcomingUpgradessummary: The list of upcoming code upgrades.
Each item is a pair of which para performs a code upgrade and at which relay-chain block it is expected at.
Ordered ascending by block number.
upgradeCooldowns(): Vec<(u32,u32)>
interface:
api.query.paras.upgradeCooldownssummary: The list of parachains that are awaiting for their upgrade restriction to cooldown.
Ordered ascending by block number.
upgradeGoAheadSignal(u32): Option<PolkadotPrimitivesV8UpgradeGoAhead>
interface:
api.query.paras.upgradeGoAheadSignalsummary: This is used by the relay-chain to communicate to a parachain a go-ahead with in the upgrade procedure.
This value is absent when there are no upgrades scheduled or during the time the relay chain performs the checks. It is set at the first relay-chain block when the corresponding parachain can switch its upgrade function. As soon as the parachain's block is included, the value gets reset to
None.NOTE that this field is used by parachains via merkle storage proofs, therefore changing the format will require migration of parachains.
upgradeRestrictionSignal(u32): Option<PolkadotPrimitivesV8UpgradeRestriction>
interface:
api.query.paras.upgradeRestrictionSignalsummary: This is used by the relay-chain to communicate that there are restrictions for performing an upgrade for this parachain.
This may be a because the parachain waits for the upgrade cooldown to expire. Another potential use case is when we want to perform some maintenance (such as storage migration) we could restrict upgrades to make the process simpler.
NOTE that this field is used by parachains via merkle storage proofs, therefore changing the format will require migration of parachains.
paraScheduler
claimQueue(): BTreeMap<u32, Vec<PolkadotRuntimeParachainsSchedulerCommonAssignment>>
- interface:
api.query.paraScheduler.claimQueue - summary: One entry for each availability core. The
VecDequerepresents the assignments to be scheduled on that core.
sessionStartBlock(): u32
interface:
api.query.paraScheduler.sessionStartBlocksummary: The block number where the session start occurred. Used to track how many group rotations have occurred.
Note that in the context of parachains modules the session change is signaled during the block and enacted at the end of the block (at the finalization stage, to be exact). Thus for all intents and purposes the effect of the session change is observed at the block following the session change, block number of which we save in this storage value.
validatorGroups(): Vec<Vec<u32>>
interface:
api.query.paraScheduler.validatorGroupssummary: All the validator groups. One for each core. Indices are into
ActiveValidators- not the broader set of Polkadot validators, but instead just the subset used for parachains during this session.Bound: The number of cores is the sum of the numbers of parachains and parathread multiplexers. Reasonably, 100-1000. The dominant factor is the number of validators: safe upper bound at 10k.
parasDisputes
backersOnDisputes(u32, H256): Option<BTreeSet<u32>>
- interface:
api.query.parasDisputes.backersOnDisputes - summary: Backing votes stored for each dispute. This storage is used for slashing.
disputes(u32, H256): Option<PolkadotPrimitivesV8DisputeState>
- interface:
api.query.parasDisputes.disputes - summary: All ongoing or concluded disputes for the last several sessions.
frozen(): Option<u32>
- interface:
api.query.parasDisputes.frozen - summary: Whether the chain is frozen. Starts as
None. When this isSome, the chain will not accept any new parachain blocks for backing or inclusion, and its value indicates the last valid block number in the chain. It can only be set back toNoneby governance intervention.
included(u32, H256): Option<u32>
- interface:
api.query.parasDisputes.included - summary: All included blocks on the chain, as well as the block number in this chain that should be reverted back to if the candidate is disputed and determined to be invalid.
lastPrunedSession(): Option<u32>
- interface:
api.query.parasDisputes.lastPrunedSession - summary: The last pruned session, if any. All data stored by this module references sessions.
paraSessionInfo
accountKeys(u32): Option<Vec<AccountId32>>
- interface:
api.query.paraSessionInfo.accountKeys - summary: The validator account keys of the validators actively participating in parachain consensus.
assignmentKeysUnsafe(): Vec<PolkadotPrimitivesV8AssignmentAppPublic>
- interface:
api.query.paraSessionInfo.assignmentKeysUnsafe - summary: Assignment keys for the current session. Note that this API is private due to it being prone to 'off-by-one' at session boundaries. When in doubt, use
SessionsAPI instead.
earliestStoredSession(): u32
- interface:
api.query.paraSessionInfo.earliestStoredSession - summary: The earliest session for which previous session info is stored.
sessionExecutorParams(u32): Option<PolkadotPrimitivesV8ExecutorParams>
- interface:
api.query.paraSessionInfo.sessionExecutorParams - summary: Executor parameter set for a given session index
sessions(u32): Option<PolkadotPrimitivesV8SessionInfo>
- interface:
api.query.paraSessionInfo.sessions - summary: Session information in a rolling window. Should have an entry in range
EarliestStoredSession..=CurrentSessionIndex. Does not have any entries before the session index in the first session change notification.
parasShared
activeValidatorIndices(): Vec<u32>
- interface:
api.query.parasShared.activeValidatorIndices - summary: All the validators actively participating in parachain consensus. Indices are into the broader validator set.
activeValidatorKeys(): Vec<PolkadotPrimitivesV8ValidatorAppPublic>
- interface:
api.query.parasShared.activeValidatorKeys - summary: The parachain attestation keys of the validators actively participating in parachain consensus. This should be the same length as
ActiveValidatorIndices.
allowedRelayParents(): PolkadotRuntimeParachainsSharedAllowedRelayParentsTracker
- interface:
api.query.parasShared.allowedRelayParents - summary: All allowed relay-parents.
currentSessionIndex(): u32
- interface:
api.query.parasShared.currentSessionIndex - summary: The current session index.
parasSlashing
unappliedSlashes(u32, H256): Option<PolkadotPrimitivesVstagingPendingSlashes>
- interface:
api.query.parasSlashing.unappliedSlashes - summary: Validators pending dispute slashes.
validatorSetCounts(u32): Option<u32>
- interface:
api.query.parasSlashing.validatorSetCounts - summary:
ValidatorSetCountper session.
preimage
preimageFor((H256,u32)): Option<Bytes>
- interface:
api.query.preimage.preimageFor
requestStatusFor(H256): Option<PalletPreimageRequestStatus>
- interface:
api.query.preimage.requestStatusFor - summary: The request status of a given hash.
statusFor(H256): Option<PalletPreimageOldRequestStatus>
- interface:
api.query.preimage.statusFor - summary: The request status of a given hash.
proxy
announcements(AccountId32): (Vec<PalletProxyAnnouncement>,u128)
- interface:
api.query.proxy.announcements - summary: The announcements made by the proxy (key).
proxies(AccountId32): (Vec<PalletProxyProxyDefinition>,u128)
- interface:
api.query.proxy.proxies - summary: The set of account proxies. Maps the account which has delegated to the accounts which are being delegated to, together with the amount held on deposit.
rcMigrator
ahUmpQueuePriorityConfig(): PalletRcMigratorQueuePriority
interface:
api.query.rcMigrator.ahUmpQueuePriorityConfigsummary: The priority of the Asset Hub UMP queue during migration.
Controls how the Asset Hub UMP (Upward Message Passing) queue is processed relative to other queues during the migration process. This helps ensure timely processing of migration messages. The default priority pattern is defined in the pallet configuration, but can be overridden by a storage value of this type.
canceller(): Option<AccountId32>
interface:
api.query.rcMigrator.cancellersummary: An optional account id of a canceller.
This account id can only stop scheduled migration.
coolOffPeriod(): Option<FrameSupportScheduleDispatchTime>
interface:
api.query.rcMigrator.coolOffPeriodsummary: The duration of the post migration cool-off period.
This is the duration of the cool-off period after the data migration is finished. During this period, the migration will be still in ongoing state and the concerned extrinsics will be locked.
counterForPendingXcmMessages(): u32
- interface:
api.query.rcMigrator.counterForPendingXcmMessages - summary: Counter for the related counted storage map
counterForRcAccounts(): u32
- interface:
api.query.rcMigrator.counterForRcAccounts - summary: Counter for the related counted storage map
manager(): Option<AccountId32>
interface:
api.query.rcMigrator.managersummary: An optional account id of a manager.
This account id has similar privileges to [
Config::AdminOrigin] except that it can not set the manager account id viaset_managercall.
managerMultisigRound(): u32
interface:
api.query.rcMigrator.managerMultisigRoundsummary: The current round of the multisig voting.
Votes are only valid for the current round.
managerMultisigs(Call): Vec<AccountId32>
- interface:
api.query.rcMigrator.managerMultisigs - summary: The multisig AccountIDs that votes to execute a specific call.
managerVotesInCurrentRound(AccountId32): u32
interface:
api.query.rcMigrator.managerVotesInCurrentRoundsummary: How often each participant voted in the current round.
Will be cleared at the end of each round.
migrationEndBlock(): Option<u32>
interface:
api.query.rcMigrator.migrationEndBlocksummary: Block number when migration finished and extrinsics were unlocked.
This is set when entering the
MigrationDonestage hence whenRcMigrationStage::is_finished()becomestrue.
migrationStartBlock(): Option<u32>
interface:
api.query.rcMigrator.migrationStartBlocksummary: The block number at which the migration began and the pallet's extrinsics were locked.
This value is set when entering the
WaitingForAhstage, i.e., whenRcMigrationStage::is_ongoing()becomestrue.
pendingXcmMessages((u64,H256)): Option<StagingXcmV5Xcm>
interface:
api.query.rcMigrator.pendingXcmMessagessummary: The pending XCM messages.
Contains data messages that have been sent to the Asset Hub but not yet confirmed.
Unconfirmed messages can be resent by calling the [
Pallet::resend_xcm] function.
pendingXcmQueries(u64): Option<H256>
interface:
api.query.rcMigrator.pendingXcmQueriessummary: The pending XCM response queries and their XCM hash referencing the message in the [
PendingXcmMessages] storage.The
QueryIdis the identifier from the [pallet_xcm] query handler registry. The XCM pallet will notify about the status of the message by calling the [Pallet::receive_query_response] function with theQueryIdand the response.
pureProxyCandidatesMigrated(AccountId32): Option<bool>
interface:
api.query.rcMigrator.pureProxyCandidatesMigratedsummary: Accounts that use the proxy pallet to delegate permissions and have no nonce.
Boolean value is whether they have been migrated to the Asset Hub. Needed for idempotency.
rcAccounts(AccountId32): Option<PalletRcMigratorAccountsAccountState>
- interface:
api.query.rcMigrator.rcAccounts - summary: Helper storage item to obtain and store the known accounts that should be kept partially or fully on Relay Chain.
rcMigratedBalance(): PalletRcMigratorAccountsMigratedBalances
- interface:
api.query.rcMigrator.rcMigratedBalance - summary: Helper storage item to store the total balance that should be kept on Relay Chain.
rcMigratedBalanceArchive(): PalletRcMigratorAccountsMigratedBalances
interface:
api.query.rcMigrator.rcMigratedBalanceArchivesummary: Helper storage item to store the total balance that should be kept on Relay Chain after it is consumed from the
RcMigratedBalancestorage item and sent to the Asset Hub.This let us to take the value from the
RcMigratedBalancestorage item and keep theSignalMigrationFinishstage to be idempotent while preserving these values for tests and later discoveries.
rcMigrationStage(): PalletRcMigratorMigrationStage
- interface:
api.query.rcMigrator.rcMigrationStage - summary: The Relay Chain migration state.
settings(): Option<PalletRcMigratorMigrationSettings>
- interface:
api.query.rcMigrator.settings - summary: The migration settings.
unprocessedMsgBuffer(): Option<u32>
- interface:
api.query.rcMigrator.unprocessedMsgBuffer - summary: Manual override for
type UnprocessedMsgBuffer: Get<u32>. Look there for docs.
warmUpPeriod(): Option<FrameSupportScheduleDispatchTime>
interface:
api.query.rcMigrator.warmUpPeriodsummary: The duration of the pre migration warm-up period.
This is the duration of the warm-up period before the data migration starts. During this period, the migration will be in ongoing state and the concerned extrinsics will be locked.
referenda
decidingCount(u16): u32
- interface:
api.query.referenda.decidingCount - summary: The number of referenda being decided currently.
metadataOf(u32): Option<H256>
interface:
api.query.referenda.metadataOfsummary: The metadata is a general information concerning the referendum. The
Hashrefers to the preimage of thePreimagesprovider which can be a JSON dump or IPFS hash of a JSON file.Consider a garbage collection for a metadata of finished referendums to
unrequest(remove) large preimages.
referendumCount(): u32
- interface:
api.query.referenda.referendumCount - summary: The next free referendum index, aka the number of referenda started so far.
referendumInfoFor(u32): Option<PalletReferendaReferendumInfo>
- interface:
api.query.referenda.referendumInfoFor - summary: Information concerning any given referendum.
trackQueue(u16): Vec<(u32,u128)>
interface:
api.query.referenda.trackQueuesummary: The sorted list of referenda ready to be decided but not yet being decided, ordered by conviction-weighted approvals.
This should be empty if
DecidingCountis less thanTrackInfo::max_deciding.
registrar
nextFreeParaId(): u32
- interface:
api.query.registrar.nextFreeParaId - summary: The next free
ParaId.
paras(u32): Option<PolkadotRuntimeCommonParasRegistrarParaInfo>
interface:
api.query.registrar.parassummary: Amount held on deposit for each para and the original depositor.
The given account ID is responsible for registering the code and initial head data, but may only do so if it isn't yet registered. (After that, it's up to governance to do so.)
pendingSwap(u32): Option<u32>
- interface:
api.query.registrar.pendingSwap - summary: Pending swap operations.
scheduler
agenda(u32): Vec<Option<PalletSchedulerScheduled>>
- interface:
api.query.scheduler.agenda - summary: Items to be executed, indexed by the block number that they should be executed on.
incompleteSince(): Option<u32>
- interface:
api.query.scheduler.incompleteSince - summary: Block number at which the agenda began incomplete execution.
lookup([u8;32]): Option<(u32,u32)>
interface:
api.query.scheduler.lookupsummary: Lookup from a name to the block number and index of the task.
For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4 identities.
retries((u32,u32)): Option<PalletSchedulerRetryConfig>
- interface:
api.query.scheduler.retries - summary: Retry configurations for items to be executed, indexed by task address.
session
currentIndex(): u32
- interface:
api.query.session.currentIndex - summary: Current index of the session.
disabledValidators(): Vec<(u32,Perbill)>
interface:
api.query.session.disabledValidatorssummary: Indices of disabled validators.
The vec is always kept sorted so that we can find whether a given validator is disabled using binary search. It gets cleared when
on_session_endingreturns a new set of identities.
keyOwner((SpCoreCryptoKeyTypeId,Bytes)): Option<AccountId32>
- interface:
api.query.session.keyOwner - summary: The owner of a key. The key is the
KeyTypeId+ the encoded key.
nextKeys(AccountId32): Option<PolkadotRuntimeSessionKeys>
- interface:
api.query.session.nextKeys - summary: The next session keys for a validator.
queuedChanged(): bool
- interface:
api.query.session.queuedChanged - summary: True if the underlying economic identities or weighting behind the validators has changed in the queued validator set.
queuedKeys(): Vec<(AccountId32,PolkadotRuntimeSessionKeys)>
- interface:
api.query.session.queuedKeys - summary: The queued keys for the next session. When the next session begins, these keys will be used to determine the validator's session keys.
validators(): Vec<AccountId32>
- interface:
api.query.session.validators - summary: The current set of validators.
slots
leases(u32): Vec<Option<(AccountId32,u128)>>
interface:
api.query.slots.leasessummary: Amounts held on deposit for each (possibly future) leased parachain.
The actual amount locked on its behalf by any account at any time is the maximum of the second values of the items in this list whose first value is the account.
The first item in the list is the amount locked for the current Lease Period. Following items are for the subsequent lease periods.
The default value (an empty list) implies that the parachain no longer exists (or never existed) as far as this pallet is concerned.
If a parachain doesn't exist yet but is scheduled to exist in the future, then it will be left-padded with one or more
Nones to denote the fact that nothing is held on deposit for the non-existent chain currently, but is held at some point in the future.It is illegal for a
Nonevalue to trail in the list.
staking
activeEra(): Option<PalletStakingActiveEraInfo>
interface:
api.query.staking.activeErasummary: The active era information, it holds index and start.
The active era is the era being currently rewarded. Validator set of this era must be equal to [
SessionInterface::validators].
bonded(AccountId32): Option<AccountId32>
interface:
api.query.staking.bondedsummary: Map from all locked "stash" accounts to the controller account.
TWOX-NOTE: SAFE since
AccountIdis a secure hash.
bondedEras(): Vec<(u32,u32)>
interface:
api.query.staking.bondedErassummary: A mapping from still-bonded eras to the first session index of that era.
Must contains information for eras for the range:
[active_era - bounding_duration; active_era]
canceledSlashPayout(): u128
- interface:
api.query.staking.canceledSlashPayout - summary: The amount of currency given to reporters of a slash event which was canceled by extraordinary circumstances (e.g. governance).
chillThreshold(): Option<Percent>
- interface:
api.query.staking.chillThreshold - summary: The threshold for when users can start calling
chill_otherfor other validators / nominators. The threshold is compared to the actual number of validators / nominators (CountFor*) in the system compared to the configured max (Max*Count).
claimedRewards(u32, AccountId32): Vec<u32>
interface:
api.query.staking.claimedRewardssummary: History of claimed paged rewards by era and validator.
This is keyed by era and validator stash which maps to the set of page indexes which have been claimed.
It is removed after [
Config::HistoryDepth] eras.
counterForNominators(): u32
- interface:
api.query.staking.counterForNominators - summary: Counter for the related counted storage map
counterForValidators(): u32
- interface:
api.query.staking.counterForValidators - summary: Counter for the related counted storage map
counterForVirtualStakers(): u32
- interface:
api.query.staking.counterForVirtualStakers - summary: Counter for the related counted storage map
currentEra(): Option<u32>
interface:
api.query.staking.currentErasummary: The current era index.
This is the latest planned era, depending on how the Session pallet queues the validator set, it might be active or not.
currentPlannedSession(): u32
interface:
api.query.staking.currentPlannedSessionsummary: The last planned session scheduled by the session pallet.
This is basically in sync with the call to [
pallet_session::SessionManager::new_session].
erasRewardPoints(u32): PalletStakingEraRewardPoints
- interface:
api.query.staking.erasRewardPoints - summary: Rewards for the last [
Config::HistoryDepth] eras. If reward hasn't been set or has been removed then 0 reward is returned.
erasStakers(u32, AccountId32): SpStakingExposure
interface:
api.query.staking.erasStakerssummary: Exposure of validator at era.
This is keyed first by the era index to allow bulk deletion and then the stash account.
Is it removed after [
Config::HistoryDepth] eras. If stakers hasn't been set or has been removed then empty exposure is returned.Note: Deprecated since v14. Use
EraInfoinstead to work with exposures.
erasStakersClipped(u32, AccountId32): SpStakingExposure
interface:
api.query.staking.erasStakersClippedsummary: Clipped Exposure of validator at era.
Note: This is deprecated, should be used as read-only and will be removed in the future. New
Exposures are stored in a paged manner inErasStakersPagedinstead.This is similar to [
ErasStakers] but number of nominators exposed is reduced to theT::MaxExposurePageSizebiggest stakers. (Note: the fieldtotalandownof the exposure remains unchanged). This is used to limit the i/o cost for the nominator payout.This is keyed fist by the era index to allow bulk deletion and then the stash account.
It is removed after [
Config::HistoryDepth] eras. If stakers hasn't been set or has been removed then empty exposure is returned.Note: Deprecated since v14. Use
EraInfoinstead to work with exposures.
erasStakersOverview(u32, AccountId32): Option<SpStakingPagedExposureMetadata>
interface:
api.query.staking.erasStakersOverviewsummary: Summary of validator exposure at a given era.
This contains the total stake in support of the validator and their own stake. In addition, it can also be used to get the number of nominators backing this validator and the number of exposure pages they are divided into. The page count is useful to determine the number of pages of rewards that needs to be claimed.
This is keyed first by the era index to allow bulk deletion and then the stash account. Should only be accessed through
EraInfo.Is it removed after [
Config::HistoryDepth] eras. If stakers hasn't been set or has been removed then empty overview is returned.
erasStakersPaged(u32, AccountId32, u32): Option<SpStakingExposurePage>
interface:
api.query.staking.erasStakersPagedsummary: Paginated exposure of a validator at given era.
This is keyed first by the era index to allow bulk deletion, then stash account and finally the page. Should only be accessed through
EraInfo.This is cleared after [
Config::HistoryDepth] eras.
erasStartSessionIndex(u32): Option<u32>
interface:
api.query.staking.erasStartSessionIndexsummary: The session index at which the era start for the last [
Config::HistoryDepth] eras.Note: This tracks the starting session (i.e. session index when era start being active) for the eras in
[CurrentEra - HISTORY_DEPTH, CurrentEra].
erasTotalStake(u32): u128
- interface:
api.query.staking.erasTotalStake - summary: The total amount staked for the last [
Config::HistoryDepth] eras. If total hasn't been set or has been removed then 0 stake is returned.
erasValidatorPrefs(u32, AccountId32): PalletStakingValidatorPrefs
interface:
api.query.staking.erasValidatorPrefssummary: Similar to
ErasStakers, this holds the preferences of validators.This is keyed first by the era index to allow bulk deletion and then the stash account.
Is it removed after [
Config::HistoryDepth] eras.
erasValidatorReward(u32): Option<u128>
interface:
api.query.staking.erasValidatorRewardsummary: The total validator era payout for the last [
Config::HistoryDepth] eras.Eras that haven't finished yet or has been removed doesn't have reward.
forceEra(): PalletStakingForcing
- interface:
api.query.staking.forceEra - summary: Mode of era forcing.
invulnerables(): Vec<AccountId32>
- interface:
api.query.staking.invulnerables - summary: Any validators that may never be slashed or forcibly kicked. It's a Vec since they're easy to initialize and the performance hit is minimal (we expect no more than four invulnerables) and restricted to testnets.
ledger(AccountId32): Option<PalletStakingStakingLedger>
interface:
api.query.staking.ledgersummary: Map from all (unlocked) "controller" accounts to the info regarding the staking.
Note: All the reads and mutations to this storage MUST be done through the methods exposed by [
StakingLedger] to ensure data and lock consistency.
maxNominatorsCount(): Option<u32>
interface:
api.query.staking.maxNominatorsCountsummary: The maximum nominator count before we stop allowing new validators to join.
When this value is not set, no limits are enforced.
maxStakedRewards(): Option<Percent>
- interface:
api.query.staking.maxStakedRewards - summary: Maximum staked rewards, i.e. the percentage of the era inflation that is used for stake rewards. See Era payout.
maxValidatorsCount(): Option<u32>
interface:
api.query.staking.maxValidatorsCountsummary: The maximum validator count before we stop allowing new validators to join.
When this value is not set, no limits are enforced.
minCommission(): Perbill
interface:
api.query.staking.minCommissionsummary: The minimum amount of commission that validators can set.
If set to
0, no limit exists.
minimumActiveStake(): u128
- interface:
api.query.staking.minimumActiveStake - summary: The minimum active nominator stake of the last successful election.
minimumValidatorCount(): u32
- interface:
api.query.staking.minimumValidatorCount - summary: Minimum number of staking participants before emergency conditions are imposed.
minNominatorBond(): u128
- interface:
api.query.staking.minNominatorBond - summary: The minimum active bond to become and maintain the role of a nominator.
minValidatorBond(): u128
- interface:
api.query.staking.minValidatorBond - summary: The minimum active bond to become and maintain the role of a validator.
nominators(AccountId32): Option<PalletStakingNominations>
interface:
api.query.staking.nominatorssummary: The map from nominator stash key to their nomination preferences, namely the validators that they wish to support.
Note that the keys of this storage map might become non-decodable in case the account's [
NominationsQuota::MaxNominations] configuration is decreased. In this rare case, these nominators are still existent in storage, their key is correct and retrievable (i.e.contains_keyindicates that they exist), but their value cannot be decoded. Therefore, the non-decodable nominators will effectively not-exist, until they re-submit their preferences such that it is within the bounds of the newly setConfig::MaxNominations.This implies that
::iter_keys().count()and::iter().count()might return different values for this map. Moreover, the main::count()is aligned with the former, namely the number of keys that exist.Lastly, if any of the nominators become non-decodable, they can be chilled immediately via [
Call::chill_other] dispatchable by anyone.TWOX-NOTE: SAFE since
AccountIdis a secure hash.
nominatorSlashInEra(u32, AccountId32): Option<u128>
- interface:
api.query.staking.nominatorSlashInEra - summary: All slashing events on nominators, mapped by era to the highest slash value of the era.
payee(AccountId32): Option<PalletStakingRewardDestination>
interface:
api.query.staking.payeesummary: Where the reward payment should be made. Keyed by stash.
TWOX-NOTE: SAFE since
AccountIdis a secure hash.
slashingSpans(AccountId32): Option<PalletStakingSlashingSlashingSpans>
- interface:
api.query.staking.slashingSpans - summary: Slashing spans for stash accounts.
slashRewardFraction(): Perbill
interface:
api.query.staking.slashRewardFractionsummary: The percentage of the slash that is distributed to reporters.
The rest of the slashed value is handled by the
Slash.
spanSlash((AccountId32,u32)): PalletStakingSlashingSpanRecord
- interface:
api.query.staking.spanSlash - summary: Records information about the maximum slash of a stash within a slashing span, as well as how much reward has been paid out.
unappliedSlashes(u32): Vec<PalletStakingUnappliedSlash>
- interface:
api.query.staking.unappliedSlashes - summary: All unapplied slashes that are queued for later.
validatorCount(): u32
- interface:
api.query.staking.validatorCount - summary: The ideal number of active validators.
validators(AccountId32): PalletStakingValidatorPrefs
interface:
api.query.staking.validatorssummary: The map from (wannabe) validator stash key to the preferences of that validator.
TWOX-NOTE: SAFE since
AccountIdis a secure hash.
validatorSlashInEra(u32, AccountId32): Option<(Perbill,u128)>
- interface:
api.query.staking.validatorSlashInEra - summary: All slashing events on validators, mapped by era to the highest slash proportion and slash value of the era.
virtualStakers(AccountId32): Option<Null>
interface:
api.query.staking.virtualStakerssummary: Stakers whose funds are managed by other pallets.
This pallet does not apply any locks on them, therefore they are only virtually bonded. They are expected to be keyless accounts and hence should not be allowed to mutate their ledger directly via this pallet. Instead, these accounts are managed by other pallets and accessed via low level apis. We keep track of them to do minimal integrity checks.
stakingAhClient
incompleteValidatorSetReport(): Option<PalletStakingAsyncRcClientValidatorSetReport>
- interface:
api.query.stakingAhClient.incompleteValidatorSetReport - summary: An incomplete validator set report.
mode(): PalletStakingAsyncAhClientOperatingMode
interface:
api.query.stakingAhClient.modesummary: Indicates the current operating mode of the pallet.
This value determines how the pallet behaves in response to incoming and outgoing messages, particularly whether it should execute logic directly, defer it, or delegate it entirely.
nextSessionChangesValidators(): Option<u32>
interface:
api.query.stakingAhClient.nextSessionChangesValidatorssummary: A storage value that is set when a
new_sessiongives a new validator set to the session pallet, and is cleared on the next call.The inner u32 is the id of the said activated validator set. While not relevant here, good to know this is the planning era index of staking-async on AH.
Once cleared, we know a validator set has been activated, and therefore we can send a timestamp to AH.
offenceSendQueueCursor(): u32
- interface:
api.query.stakingAhClient.offenceSendQueueCursor - summary: Internal storage item of [
OffenceSendQueue]. Should not be used manually.
offenceSendQueueOffences(u32): Vec<(u32,PalletStakingAsyncRcClientOffence)>
- interface:
api.query.stakingAhClient.offenceSendQueueOffences - summary: Internal storage item of [
OffenceSendQueue]. Should not be used manually.
outgoingSessionReport(): Option<(PalletStakingAsyncRcClientSessionReport,u32)>
interface:
api.query.stakingAhClient.outgoingSessionReportsummary: A session report that is outgoing, and should be sent.
This will be attempted to be sent, possibly on every
on_initializecall, until it is sent, or the second value reaches zero, at which point we drop it.
validatorPoints(AccountId32): u32
interface:
api.query.stakingAhClient.validatorPointssummary: All of the points of the validators.
This is populated during a session, and is flushed and sent over via [
SendToAssetHub] at each session end.
validatorSet(): Option<(u32,Vec<AccountId32>)>
interface:
api.query.stakingAhClient.validatorSetsummary: The queued validator sets for a given planning session index.
This is received via a call from AssetHub.
validatorSetAppliedAt(): Option<u32>
interface:
api.query.stakingAhClient.validatorSetAppliedAtsummary: The session index at which the latest elected validator set was applied.
This is used to determine if an offence, given a session index, is in the current active era or not.
stateTrieMigration
autoLimits(): Option<PalletStateTrieMigrationMigrationLimits>
interface:
api.query.stateTrieMigration.autoLimitssummary: The limits that are imposed on automatic migrations.
If set to None, then no automatic migration happens.
migrationProcess(): PalletStateTrieMigrationMigrationTask
interface:
api.query.stateTrieMigration.migrationProcesssummary: Migration progress.
This stores the snapshot of the last migrated keys. It can be set into motion and move forward by any of the means provided by this pallet.
signedMigrationMaxLimits(): Option<PalletStateTrieMigrationMigrationLimits>
interface:
api.query.stateTrieMigration.signedMigrationMaxLimitssummary: The maximum limits that the signed migration could use.
If not set, no signed submission is allowed.
substrate
These are well-known keys that are always available to the runtime implementation of any Substrate-based network.
changesTrieConfig(): u32
- interface:
api.query.substrate.changesTrieConfig - summary: Changes trie configuration is stored under this key.
childStorageKeyPrefix(): u32
- interface:
api.query.substrate.childStorageKeyPrefix - summary: Prefix of child storage keys.
code(): Bytes
- interface:
api.query.substrate.code - summary: Wasm code of the runtime.
defaultChildStorageKeyPrefix(): u32
- interface:
api.query.substrate.defaultChildStorageKeyPrefix - summary: Prefix of the default child storage keys in the top trie.
extrinsicIndex(): u32
- interface:
api.query.substrate.extrinsicIndex - summary: Current extrinsic index (u32) is stored under this key.
heapPages(): u64
- interface:
api.query.substrate.heapPages - summary: Number of wasm linear memory pages required for execution of the runtime.
intrablockEntropy(): [u8;32]
- interface:
api.query.substrate.intrablockEntropy - summary: Current intra-block entropy (a universally unique
[u8; 32]value) is stored here.
storageVersionStorageKeyPostfix(): u16
- interface:
api.query.substrate.storageVersionStorageKeyPostfix - summary: The storage key postfix that is used to store the [
StorageVersion] per pallet.
transactionLevelKey(): u32
- interface:
api.query.substrate.transactionLevelKey - summary: The key that holds the current number of active layers.
system
account(AccountId32): FrameSystemAccountInfo
- interface:
api.query.system.account - summary: The full account information for a particular account ID.
allExtrinsicsLen(): Option<u32>
- interface:
api.query.system.allExtrinsicsLen - summary: Total length (in bytes) for all extrinsics put together, for the current block.
authorizedUpgrade(): Option<FrameSystemCodeUpgradeAuthorization>
- interface:
api.query.system.authorizedUpgrade - summary:
Someif a code upgrade has been authorized.
blockHash(u32): H256
- interface:
api.query.system.blockHash - summary: Map of block numbers to block hashes.
blockWeight(): FrameSupportDispatchPerDispatchClassWeight
- interface:
api.query.system.blockWeight - summary: The current weight for the block.
digest(): SpRuntimeDigest
- interface:
api.query.system.digest - summary: Digest of the current block, also part of the block header.
eventCount(): u32
- interface:
api.query.system.eventCount - summary: The number of events in the
Events<T>list.
events(): Vec<FrameSystemEventRecord>
interface:
api.query.system.eventssummary: Events deposited for the current block.
NOTE: The item is unbound and should therefore never be read on chain. It could otherwise inflate the PoV size of a block.
Events have a large in-memory size. Box the events to not go out-of-memory just in case someone still reads them from within the runtime.
eventTopics(H256): Vec<(u32,u32)>
interface:
api.query.system.eventTopicssummary: Mapping between a topic (represented by T::Hash) and a vector of indexes of events in the
<Events<T>>list.All topic vectors have deterministic storage locations depending on the topic. This allows light-clients to leverage the changes trie storage tracking mechanism and in case of changes fetch the list of events of interest.
The value has the type
(BlockNumberFor<T>, EventIndex)because if we used only just theEventIndexthen in case if the topic has the same contents on the next block no notification will be triggered thus the event might be lost.
executionPhase(): Option<FrameSystemPhase>
- interface:
api.query.system.executionPhase - summary: The execution phase of the block.
extrinsicCount(): Option<u32>
- interface:
api.query.system.extrinsicCount - summary: Total extrinsics count for the current block.
extrinsicData(u32): Bytes
- interface:
api.query.system.extrinsicData - summary: Extrinsics data for the current block (maps an extrinsic's index to its data).
extrinsicWeightReclaimed(): SpWeightsWeightV2Weight
interface:
api.query.system.extrinsicWeightReclaimedsummary: The weight reclaimed for the extrinsic.
This information is available until the end of the extrinsic execution. More precisely this information is removed in
note_applied_extrinsic.Logic doing some post dispatch weight reduction must update this storage to avoid duplicate reduction.
inherentsApplied(): bool
- interface:
api.query.system.inherentsApplied - summary: Whether all inherents have been applied.
lastRuntimeUpgrade(): Option<FrameSystemLastRuntimeUpgradeInfo>
- interface:
api.query.system.lastRuntimeUpgrade - summary: Stores the
spec_versionandspec_nameof when the last runtime upgrade happened.
number(): u32
- interface:
api.query.system.number - summary: The current block number being processed. Set by
execute_block.
parentHash(): H256
- interface:
api.query.system.parentHash - summary: Hash of the previous block.
upgradedToTripleRefCount(): bool
- interface:
api.query.system.upgradedToTripleRefCount - summary: True if we have upgraded so that AccountInfo contains three types of
RefCount. False (default) if not.
upgradedToU32RefCount(): bool
- interface:
api.query.system.upgradedToU32RefCount - summary: True if we have upgraded so that
type RefCountisu32. False (default) if not.
timestamp
didUpdate(): bool
interface:
api.query.timestamp.didUpdatesummary: Whether the timestamp has been updated in this block.
This value is updated to
trueupon successful submission of a timestamp by a node. It is then checked at the end of each block execution in theon_finalizehook.
now(): u64
- interface:
api.query.timestamp.now - summary: The current time for the current block.
transactionPayment
nextFeeMultiplier(): u128
- interface:
api.query.transactionPayment.nextFeeMultiplier
storageVersion(): PalletTransactionPaymentReleases
- interface:
api.query.transactionPayment.storageVersion
treasury
approvals(): Vec<u32>
interface:
api.query.treasury.approvalssummary: DEPRECATED: associated with
spend_localcall and will be removed in May 2025. Refer to https://github.com/paritytech/polkadot-sdk/pull/5961 for migration tospend.Proposal indices that have been approved but not yet awarded.
deactivated(): u128
- interface:
api.query.treasury.deactivated - summary: The amount which has been reported as inactive to Currency.
lastSpendPeriod(): Option<u32>
- interface:
api.query.treasury.lastSpendPeriod - summary: The blocknumber for the last triggered spend period.
proposalCount(): u32
interface:
api.query.treasury.proposalCountsummary: DEPRECATED: associated with
spend_localcall and will be removed in May 2025. Refer to https://github.com/paritytech/polkadot-sdk/pull/5961 for migration tospend.Number of proposals that have been made.
proposals(u32): Option<PalletTreasuryProposal>
interface:
api.query.treasury.proposalssummary: DEPRECATED: associated with
spend_localcall and will be removed in May 2025. Refer to https://github.com/paritytech/polkadot-sdk/pull/5961 for migration tospend.Proposals that have been made.
spendCount(): u32
- interface:
api.query.treasury.spendCount - summary: The count of spends that have been made.
spends(u32): Option<PalletTreasurySpendStatus>
- interface:
api.query.treasury.spends - summary: Spends that have been approved and being processed.
vesting
storageVersion(): PalletVestingReleases
interface:
api.query.vesting.storageVersionsummary: Storage version of the pallet.
New networks start with latest version, as determined by the genesis build.
vesting(AccountId32): Option<Vec<PalletVestingVestingInfo>>
- interface:
api.query.vesting.vesting - summary: Information regarding the vesting of a given account.
voterList
counterForListNodes(): u32
- interface:
api.query.voterList.counterForListNodes - summary: Counter for the related counted storage map
listBags(u64): Option<PalletBagsListListBag>
interface:
api.query.voterList.listBagssummary: A bag stored in storage.
Stores a
Bagstruct, which stores head and tail pointers to itself.
listNodes(AccountId32): Option<PalletBagsListListNode>
interface:
api.query.voterList.listNodessummary: A single node, within some bag.
Nodes store links forward and back within their respective bags.
lock(): Option<Null>
interface:
api.query.voterList.locksummary: Lock all updates to this pallet.
If any nodes needs updating, removal or addition due to a temporary lock, the [
Call::rebag] can be used.
nextNodeAutoRebagged(): Option<AccountId32>
- interface:
api.query.voterList.nextNodeAutoRebagged - summary: Pointer that remembers the next node that will be auto-rebagged. When
None, the next scan will start from the list head again.
whitelist
whitelistedCall(H256): Option<Null>
- interface:
api.query.whitelist.whitelistedCall
xcmPallet
assetTraps(H256): u32
interface:
api.query.xcmPallet.assetTrapssummary: The existing asset traps.
Key is the blake2 256 hash of (origin, versioned
Assets) pair. Value is the number of times this pair has been trapped (usually just 1 if it exists at all).
authorizedAliases(XcmVersionedLocation): Option<PalletXcmAuthorizedAliasesEntry>
- interface:
api.query.xcmPallet.authorizedAliases - summary: Map of authorized aliasers of local origins. Each local location can authorize a list of other locations to alias into it. Each aliaser is only valid until its inner
expiryblock number.
currentMigration(): Option<PalletXcmVersionMigrationStage>
- interface:
api.query.xcmPallet.currentMigration - summary: The current migration's stage, if any.
lockedFungibles(AccountId32): Option<Vec<(u128,XcmVersionedLocation)>>
- interface:
api.query.xcmPallet.lockedFungibles - summary: Fungible assets which we know are locked on this chain.
queries(u64): Option<PalletXcmQueryStatus>
- interface:
api.query.xcmPallet.queries - summary: The ongoing queries.
queryCounter(): u64
- interface:
api.query.xcmPallet.queryCounter - summary: The latest available query index.
recordedXcm(): Option<StagingXcmV5Xcm>
interface:
api.query.xcmPallet.recordedXcmsummary: If [
ShouldRecordXcm] is set to true, then the last XCM program executed locally will be stored here. Runtime APIs can fetch the XCM that was executed by accessing this value.Only relevant if this pallet is being used as the [
xcm_executor::traits::RecordXcm] implementation in the XCM executor configuration.
remoteLockedFungibles(u32, AccountId32, XcmVersionedAssetId): Option<PalletXcmRemoteLockedFungibleRecord>
- interface:
api.query.xcmPallet.remoteLockedFungibles - summary: Fungible assets which we know are locked on a remote chain.
safeXcmVersion(): Option<u32>
- interface:
api.query.xcmPallet.safeXcmVersion - summary: Default version to encode XCM when latest version of destination is unknown. If
None, then the destinations whose XCM version is unknown are considered unreachable.
shouldRecordXcm(): bool
interface:
api.query.xcmPallet.shouldRecordXcmsummary: Whether or not incoming XCMs (both executed locally and received) should be recorded. Only one XCM program will be recorded at a time. This is meant to be used in runtime APIs, and it's advised it stays false for all other use cases, so as to not degrade regular performance.
Only relevant if this pallet is being used as the [
xcm_executor::traits::RecordXcm] implementation in the XCM executor configuration.
supportedVersion(u32, XcmVersionedLocation): Option<u32>
- interface:
api.query.xcmPallet.supportedVersion - summary: The Latest versions that we know various locations support.
versionDiscoveryQueue(): Vec<(XcmVersionedLocation,u32)>
- interface:
api.query.xcmPallet.versionDiscoveryQueue - summary: Destinations whose latest XCM version we would like to know. Duplicates not allowed, and the
u32counter is the number of times that a send to the destination has been attempted, which is used as a prioritization.
versionNotifiers(u32, XcmVersionedLocation): Option<u64>
- interface:
api.query.xcmPallet.versionNotifiers - summary: All locations that we have requested version notifications from.
versionNotifyTargets(u32, XcmVersionedLocation): Option<(u64,SpWeightsWeightV2Weight,u32)>
- interface:
api.query.xcmPallet.versionNotifyTargets - summary: The target locations that are subscribed to our version changes, as well as the most recent of our versions we informed them of.
xcmExecutionSuspended(): bool
- interface:
api.query.xcmPallet.xcmExecutionSuspended - summary: Global suspension state of the XCM executor.