import type { Bytes, Data, Option, U256, U8aFixed, Vec, bool, u32, u64 } from '@polkadot/types'; import type { AnyNumber, ITuple, Observable } from '@polkadot/types/types'; import type { ClassInfoOf, TokenId, TokenInfoOf } from './nft'; import type { Approval, ApprovalKey, CurrencyId, Manager, MerkleTree, MixerInfo, ScalarData, TokenDetails, TokenMetadata, TreeId } from './webb'; import type { AssetApproval, AssetBalance, AssetDetails, AssetMetadata } from '@polkadot/types/interfaces/assets'; import type { UncleEntryItem } from '@polkadot/types/interfaces/authorship'; import type { AccountData, BalanceLock } from '@polkadot/types/interfaces/balances'; import type { ProposalIndex, Votes } from '@polkadot/types/interfaces/collective'; import type { AuthorityId } from '@polkadot/types/interfaces/consensus'; import type { CodeHash, ContractInfo, DeletedContract, PrefabWasmModule } from '@polkadot/types/interfaces/contracts'; import type { PreimageStatus, PropIndex, Proposal, ReferendumIndex, ReferendumInfo, Voting } from '@polkadot/types/interfaces/democracy'; import type { VoteThreshold } from '@polkadot/types/interfaces/elections'; import type { EthBlock, EthReceipt, EthTransaction, EthTransactionStatus } from '@polkadot/types/interfaces/eth'; import type { SetId, StoredPendingChange, StoredState } from '@polkadot/types/interfaces/grandpa'; import type { RegistrarInfo, Registration } from '@polkadot/types/interfaces/identity'; import type { AuthIndex } from '@polkadot/types/interfaces/imOnline'; import type { Kind, OffenceDetails, OpaqueTimeSlot, ReportIdOf } from '@polkadot/types/interfaces/offences'; import type { ProxyAnnouncement, ProxyDefinition } from '@polkadot/types/interfaces/proxy'; import type { ActiveRecovery, RecoveryConfig } from '@polkadot/types/interfaces/recovery'; import type { AccountId, AccountIndex, AssetId, Balance, BalanceOf, BlockNumber, H160, H256, Hash, KeyTypeId, Moment, OpaqueCall, Perbill, Releases, ValidatorId } from '@polkadot/types/interfaces/runtime'; import type { Scheduled, TaskAddress } from '@polkadot/types/interfaces/scheduler'; import type { Keys, SessionIndex } from '@polkadot/types/interfaces/session'; import type { ActiveEraInfo, ElectionPhase, EraIndex, EraRewardPoints, Exposure, Forcing, Nominations, ReadySolution, RewardDestination, RoundSnapshot, SeatHolder, SlashingSpans, SolutionOrSnapshotSize, SpanIndex, SpanRecord, StakingLedger, UnappliedSlash, ValidatorPrefs, Voter } from '@polkadot/types/interfaces/staking'; import type { AccountInfo, ConsumedWeight, DigestOf, EventIndex, EventRecord, LastRuntimeUpgradeInfo, Phase } from '@polkadot/types/interfaces/system'; import type { Bounty, BountyIndex, OpenTip, TreasuryProposal } from '@polkadot/types/interfaces/treasury'; import type { Multiplier } from '@polkadot/types/interfaces/txpayment'; import type { ClassId } from '@polkadot/types/interfaces/uniques'; import type { Multisig } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes } from '@polkadot/api/types'; declare module '@polkadot/api/types/storage' { interface AugmentedQueries { assets: { /** * The number of units of assets held by any given account. **/ account: AugmentedQuery Observable, [AssetId, AccountId]> & QueryableStorageEntry; /** * Approved balance transfers. First balance is the amount approved for transfer. Second * is the amount of `T::Currency` reserved for storing this. * First key is the asset ID, second key is the owner and third key is the delegate. **/ approvals: AugmentedQuery Observable>, [AssetId, AccountId, AccountId]> & QueryableStorageEntry; /** * Details of an asset. **/ asset: AugmentedQuery Observable>, [AssetId]> & QueryableStorageEntry; /** * Metadata of an asset. **/ metadata: AugmentedQuery Observable, [AssetId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; authorship: { /** * Author of current block. **/ author: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Whether uncles were already set in this block. **/ didSetUncles: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Uncles **/ uncles: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; balances: { /** * The balance of an account. * * NOTE: This is only used in the case that this pallet is used to store balances. **/ account: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * Any liquidity locks on some account balances. * NOTE: Should only be accessed when setting, changing and freeing a lock. **/ locks: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Storage version of the pallet. * * This is set to v2.0.0 for new networks. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The total units issued in the system. **/ totalIssuance: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; bounties: { /** * Bounties that have been made. **/ bounties: AugmentedQuery Observable>, [BountyIndex]> & QueryableStorageEntry; /** * Bounty indices that have been approved but not yet funded. **/ bountyApprovals: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Number of bounty proposals that have been made. **/ bountyCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The description of each bounty. **/ bountyDescriptions: AugmentedQuery Observable>, [BountyIndex]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; contracts: { /** * The subtrie counter. **/ accountCounter: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * A mapping between an original code hash and instrumented wasm code, ready for execution. **/ codeStorage: AugmentedQuery Observable>, [CodeHash]> & QueryableStorageEntry; /** * The code associated with a given account. * * TWOX-NOTE: SAFE since `AccountId` is a secure hash. **/ contractInfoOf: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Evicted contracts that await child trie deletion. * * Child trie deletion is a heavy operation depending on the amount of storage items * stored in said trie. Therefore this operation is performed lazily in `on_initialize`. **/ deletionQueue: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * A mapping from an original code hash to the original code, untouched by instrumentation. **/ pristineCode: AugmentedQuery Observable>, [CodeHash]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; council: { /** * The current members of the collective. This is stored sorted (just by value). **/ members: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The prime member that helps determine the default vote behavior in case of absentations. **/ prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Proposals so far. **/ proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Actual proposal for a given hash, if it's current. **/ proposalOf: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; /** * The hashes of the active proposals. **/ proposals: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Votes on a given proposal, if it is ongoing. **/ voting: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; currencies: { /** * Generic query **/ [key: string]: QueryableStorageEntry; }; democracy: { /** * A record of who vetoed what. Maps proposal hash to a possible existent block number * (until when it may not be resubmitted) and who vetoed it. **/ blacklist: AugmentedQuery Observable]>>>, [Hash]> & QueryableStorageEntry; /** * Record of all proposals that have been subject to emergency cancellation. **/ cancellations: AugmentedQuery Observable, [Hash]> & QueryableStorageEntry; /** * Those who have locked a deposit. * * TWOX-NOTE: Safe, as increasing integer keys are safe. **/ depositOf: AugmentedQuery Observable, BalanceOf]>>>, [PropIndex]> & QueryableStorageEntry; /** * True if the last referendum tabled was submitted externally. False if it was a public * proposal. **/ lastTabledWasExternal: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Accounts for which there are locks in action which may be removed at some point in the * future. The value is the block number at which the lock expires and may be removed. * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ locks: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The lowest referendum index representing an unbaked referendum. Equal to * `ReferendumCount` if there isn't a unbaked referendum. **/ lowestUnbaked: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The referendum to be tabled whenever it would be valid to table an external proposal. * This happens when a referendum needs to be tabled and one of two conditions are met: * - `LastTabledWasExternal` is `false`; or * - `PublicProps` is empty. **/ nextExternal: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * Map of hashes to the proposal preimage, along with who registered it and their deposit. * The block number is the block at which it was deposited. **/ preimages: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; /** * The number of (public) proposals that have been made so far. **/ publicPropCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The public proposals. Unsorted. The second item is the proposal's hash. **/ publicProps: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The next free referendum index, aka the number of referenda started so far. **/ referendumCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Information concerning any given referendum. * * TWOX-NOTE: SAFE as indexes are not under an attacker’s control. **/ referendumInfoOf: AugmentedQuery Observable>, [ReferendumIndex]> & QueryableStorageEntry; /** * Storage version of the pallet. * * New networks start with last version. **/ storageVersion: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * All votes for a particular voter. We store the balance for the number of votes that we * have recorded. The second item is the total amount of delegations, that will be added. * * TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway. **/ votingOf: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; dynamicFee: { minGasPrice: AugmentedQuery Observable, []> & QueryableStorageEntry; targetMinGasPrice: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; electionProviderMultiPhase: { /** * Current phase. **/ currentPhase: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Desired number of targets to elect for this round. * * Only exists when [`Snapshot`] is present. **/ desiredTargets: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Current best solution, signed or unsigned, queued to be returned upon `elect`. **/ queuedSolution: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * 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 `elect` is called. **/ round: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Snapshot data of the round. * * This is created at the beginning of the signed phase and cleared upon calling `elect`. **/ snapshot: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The metadata of the [`RoundSnapshot`] * * Only exists when [`Snapshot`] is present. **/ snapshotMetadata: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; ethereum: { /** * The current Ethereum block. **/ currentBlock: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The current Ethereum receipts. **/ currentReceipts: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The current transaction statuses. **/ currentTransactionStatuses: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * Current building block's transactions and receipts. **/ pending: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; evm: { accountCodes: AugmentedQuery Observable, [H160]> & QueryableStorageEntry; accountStorages: AugmentedQuery Observable, [H160, H256]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; grandpa: { /** * The number of changes (both in terms of keys and underlying economic responsibilities) * in the "set" of Grandpa validators from genesis. **/ currentSetId: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * next block number where we can force a change. **/ nextForced: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Pending change: (signaled at, scheduled change). **/ pendingChange: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * A mapping from grandpa set ID to the index of the *most recent* session for which its * members were responsible. * * TWOX-NOTE: `SetId` is not under user control. **/ setIdSession: AugmentedQuery Observable>, [SetId]> & QueryableStorageEntry; /** * `true` if we are currently stalled. **/ stalled: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * State of the current authority set. **/ state: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; identity: { /** * Information that is pertinent to identify the entity behind an account. * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ identityOf: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The set of registrars. Not expected to get very big as can only be added through a * special origin (likely a council motion). * * The index into this can be cast to `RegistrarIndex` to get a valid value. **/ registrars: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * Alternative "sub" identities of this account. * * The first item is the deposit, the second is a vector of the accounts. * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ subsOf: AugmentedQuery Observable]>>, [AccountId]> & QueryableStorageEntry; /** * The super-identity of an alternative "sub" identity together with its name, within that * context. If the account is not some other account's sub-identity, then just `None`. **/ superOf: AugmentedQuery Observable>>, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; imOnline: { /** * For each session index, we keep a mapping of `ValidatorId` to the * number of blocks authored by the given authority. **/ authoredBlocks: AugmentedQuery Observable, [SessionIndex, ValidatorId]> & QueryableStorageEntry; /** * The block number after which it's ok to send heartbeats in the current * session. * * At the beginning of each session we set this to a value that should fall * roughly in the middle of the session duration. The idea is to first wait for * the validators to produce a block in the current session, so that the * heartbeat later on will not be necessary. * * This value will only be used as a fallback if we fail to get a proper session * progress estimate from `NextSessionRotation`, as those estimates should be * more accurate then the value we calculate for `HeartbeatAfter`. **/ heartbeatAfter: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The current set of keys that may issue a heartbeat. **/ keys: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * For each session index, we keep a mapping of `AuthIndex` to * `offchain::OpaqueNetworkState`. **/ receivedHeartbeats: AugmentedQuery Observable>, [SessionIndex, AuthIndex]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; indices: { /** * The lookup from index to account. **/ accounts: AugmentedQuery Observable>>, [AccountIndex]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; merkle: { /** * Map of cached/past Merkle roots at each block number and group. There * can be more than one root update in a single block. Allows for easy * pruning since we can remove all keys of the first map past a certain * point. **/ cachedRoots: AugmentedQuery Observable>, [BlockNumber, TreeId]> & QueryableStorageEntry; /** * Block number of the newest set of roots that we are caching **/ highestCachedBlock: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The map of (tree_id, index) to the leaf commitment **/ leaves: AugmentedQuery Observable, [TreeId, u32]> & QueryableStorageEntry; /** * Block number of the oldest set of roots that we are caching **/ lowestCachedBlock: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Maps tree id to the manager of the tree **/ managers: AugmentedQuery Observable>, [TreeId]> & QueryableStorageEntry; /** * Old name generated by `decl_event`. * The next tree identifier up for grabs **/ nextTreeId: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Indicates whether the group tree is stopped or not **/ stopped: AugmentedQuery Observable, [TreeId]> & QueryableStorageEntry; /** * The map of trees to their metadata **/ trees: AugmentedQuery Observable>, [TreeId]> & QueryableStorageEntry; /** * Map of used nullifiers for each tree. **/ usedNullifiers: AugmentedQuery | [TreeId | AnyNumber | Uint8Array, ScalarData | string | Uint8Array]) => Observable, [ITuple<[TreeId, ScalarData]>]> & QueryableStorageEntry]>; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; mixer: { /** * Administrator of the mixer pallet. * This account that can stop/start operations of the mixer **/ admin: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Flag indicating if the mixer is initialized **/ initialised: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The vector of group ids **/ mixerTreeIds: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The map of mixer trees to their metadata **/ mixerTrees: AugmentedQuery Observable, [TreeId]> & QueryableStorageEntry; /** * The TVL per group **/ totalValueLocked: AugmentedQuery Observable, [TreeId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; multisig: { calls: AugmentedQuery Observable>>, [U8aFixed]> & QueryableStorageEntry; /** * The set of open multisig operations. **/ multisigs: AugmentedQuery Observable>, [AccountId, U8aFixed]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; nonFungibleTokenModule: { /** * Store class info. * * Returns `None` if class info not set or removed. **/ classes: AugmentedQuery Observable>, [ClassId]> & QueryableStorageEntry; /** * Next available class ID. **/ nextClassId: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Next available token ID. **/ nextTokenId: AugmentedQuery Observable, [ClassId]> & QueryableStorageEntry; /** * Store token info. * * Returns `None` if token info not set or removed. **/ tokens: AugmentedQuery Observable>, [ClassId, TokenId]> & QueryableStorageEntry; /** * Token existence check by owner and class ID. **/ tokensByOwner: AugmentedQuery | [ClassId | AnyNumber | Uint8Array, TokenId | AnyNumber | Uint8Array]) => Observable>, [AccountId, ITuple<[ClassId, TokenId]>]> & QueryableStorageEntry]>; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; offences: { /** * A vector of reports of the same kind that happened at the same time slot. **/ concurrentReportsIndex: AugmentedQuery Observable>, [Kind, OpaqueTimeSlot]> & QueryableStorageEntry; /** * The primary structure that holds all offence records keyed by report identifiers. **/ reports: AugmentedQuery Observable>, [ReportIdOf]> & QueryableStorageEntry; /** * Enumerates all reports of a kind along with the time they happened. * * All reports are sorted by the time of offence. * * Note that the actual type of this mapping is `Vec`, this is because values of * different types are not supported at the moment so we are doing the manual serialization. **/ reportsByKindIndex: AugmentedQuery Observable, [Kind]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; phragmenElection: { /** * The present candidate list. A current member or runner-up can never enter this vector * and is always implicitly assumed to be a candidate. * * Second element is the deposit. * * Invariant: Always sorted based on account id. **/ candidates: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The total number of vote rounds that have happened, excluding the upcoming one. **/ electionRounds: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The current elected members. * * Invariant: Always sorted based on account id. **/ members: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The current reserved runners-up. * * Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the * last (i.e. _best_) runner-up will be replaced. **/ runnersUp: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Votes and locked stake of a particular voter. * * TWOX-NOTE: SAFE as `AccountId` is a crypto hash. **/ voting: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; proxy: { /** * The announcements made by the proxy (key). **/ announcements: AugmentedQuery Observable, BalanceOf]>>, [AccountId]> & QueryableStorageEntry; /** * 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. **/ proxies: AugmentedQuery Observable, BalanceOf]>>, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; randomnessCollectiveFlip: { /** * Series of block headers from the last 81 blocks that acts as random seed material. This * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of * the oldest hash. **/ randomMaterial: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; recovery: { /** * Active recovery attempts. * * First account is the account to be recovered, and the second account * is the user trying to recover the account. **/ activeRecoveries: AugmentedQuery Observable>, [AccountId, AccountId]> & QueryableStorageEntry; /** * The list of allowed proxy accounts. * * Map from the user who can access it to the recovered account. **/ proxy: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The set of recoverable accounts and their recovery configuration. **/ recoverable: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; scheduler: { /** * Items to be executed, indexed by the block number that they should be executed on. **/ agenda: AugmentedQuery Observable>>, [BlockNumber]> & QueryableStorageEntry; /** * Lookup from identity to the block number and index of the task. **/ lookup: AugmentedQuery Observable>, [Bytes]> & QueryableStorageEntry; /** * Storage version of the pallet. * * New networks start with last version. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; session: { /** * Current index of the session. **/ currentIndex: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Indices of disabled validators. * * The set is cleared when `on_session_ending` returns a new set of identities. **/ disabledValidators: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The owner of a key. The key is the `KeyTypeId` + the encoded key. **/ keyOwner: AugmentedQuery | [KeyTypeId | AnyNumber | Uint8Array, Bytes | string | Uint8Array]) => Observable>, [ITuple<[KeyTypeId, Bytes]>]> & QueryableStorageEntry]>; /** * The next session keys for a validator. **/ nextKeys: AugmentedQuery Observable>, [ValidatorId]> & QueryableStorageEntry; /** * True if the underlying economic identities or weighting behind the validators * has changed in the queued validator set. **/ queuedChanged: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The queued keys for the next session. When the next session begins, these keys * will be used to determine the validator's session keys. **/ queuedKeys: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The current set of validators. **/ validators: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; staking: { /** * 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`]. **/ activeEra: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Map from all locked "stash" accounts to the controller account. **/ bonded: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * 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]` **/ bondedEras: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The amount of currency given to reporters of a slash event which was * canceled by extraordinary circumstances (e.g. governance). **/ canceledSlashPayout: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * 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. **/ currentEra: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The last planned session scheduled by the session pallet. * * This is basically in sync with the call to [`SessionManager::new_session`]. **/ currentPlannedSession: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The earliest era for which we have a pending, unapplied slash. **/ earliestUnappliedSlash: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Rewards for the last `HISTORY_DEPTH` eras. * If reward hasn't been set or has been removed then 0 reward is returned. **/ erasRewardPoints: AugmentedQuery Observable, [EraIndex]> & QueryableStorageEntry; /** * 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 `HISTORY_DEPTH` eras. * If stakers hasn't been set or has been removed then empty exposure is returned. **/ erasStakers: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * Clipped Exposure of validator at era. * * This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the * `T::MaxNominatorRewardedPerValidator` biggest stakers. * (Note: the field `total` and `own` of 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. * * Is it removed after `HISTORY_DEPTH` eras. * If stakers hasn't been set or has been removed then empty exposure is returned. **/ erasStakersClipped: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * The session index at which the era start for the last `HISTORY_DEPTH` eras. * * Note: This tracks the starting session (i.e. session index when era start being active) * for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`. **/ erasStartSessionIndex: AugmentedQuery Observable>, [EraIndex]> & QueryableStorageEntry; /** * The total amount staked for the last `HISTORY_DEPTH` eras. * If total hasn't been set or has been removed then 0 stake is returned. **/ erasTotalStake: AugmentedQuery Observable, [EraIndex]> & QueryableStorageEntry; /** * 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 `HISTORY_DEPTH` eras. **/ erasValidatorPrefs: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * The total validator era payout for the last `HISTORY_DEPTH` eras. * * Eras that haven't finished yet or has been removed doesn't have reward. **/ erasValidatorReward: AugmentedQuery Observable>, [EraIndex]> & QueryableStorageEntry; /** * Mode of era forcing. **/ forceEra: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Number of eras to keep in history. * * Information is kept for eras in `[current_era - history_depth; current_era]`. * * Must be more than the number of eras delayed by session otherwise. I.e. active era must * always be in history. I.e. `active_era > current_era - history_depth` must be * guaranteed. **/ historyDepth: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * 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. **/ invulnerables: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Map from all (unlocked) "controller" accounts to the info regarding the staking. **/ ledger: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Minimum number of staking participants before emergency conditions are imposed. **/ minimumValidatorCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The map from nominator stash key to the set of stash keys of all validators to nominate. **/ nominators: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * All slashing events on nominators, mapped by era to the highest slash value of the era. **/ nominatorSlashInEra: AugmentedQuery Observable>, [EraIndex, AccountId]> & QueryableStorageEntry; /** * Where the reward payment should be made. Keyed by stash. **/ payee: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * Slashing spans for stash accounts. **/ slashingSpans: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The percentage of the slash that is distributed to reporters. * * The rest of the slashed value is handled by the `Slash`. **/ slashRewardFraction: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Records information about the maximum slash of a stash within a slashing span, * as well as how much reward has been paid out. **/ spanSlash: AugmentedQuery | [AccountId | string | Uint8Array, SpanIndex | AnyNumber | Uint8Array]) => Observable, [ITuple<[AccountId, SpanIndex]>]> & QueryableStorageEntry]>; /** * True if network has been upgraded to this version. * Storage version of the pallet. * * This is set to v6.0.0 for new networks. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * All unapplied slashes that are queued for later. **/ unappliedSlashes: AugmentedQuery Observable>, [EraIndex]> & QueryableStorageEntry; /** * The ideal number of staking participants. **/ validatorCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The map from (wannabe) validator stash key to the preferences of that validator. **/ validators: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * All slashing events on validators, mapped by era to the highest slash proportion * and slash value of the era. **/ validatorSlashInEra: AugmentedQuery Observable>>, [EraIndex, AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; sudo: { /** * The `AccountId` of the sudo key. **/ key: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; system: { /** * The full account information for a particular account ID. **/ account: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; /** * Total length (in bytes) for all extrinsics put together, for the current block. **/ allExtrinsicsLen: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Map of block numbers to block hashes. **/ blockHash: AugmentedQuery Observable, [BlockNumber]> & QueryableStorageEntry; /** * The current weight for the block. **/ blockWeight: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Digest of the current block, also part of the block header. **/ digest: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The number of events in the `Events` list. **/ eventCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Events deposited for the current block. **/ events: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Mapping between a topic (represented by T::Hash) and a vector of indexes * of events in the `>` 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 `(T::BlockNumber, EventIndex)` because if we used only just * the `EventIndex` then in case if the topic has the same contents on the next block * no notification will be triggered thus the event might be lost. **/ eventTopics: AugmentedQuery Observable>>, [Hash]> & QueryableStorageEntry; /** * The execution phase of the block. **/ executionPhase: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Total extrinsics count for the current block. **/ extrinsicCount: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Extrinsics data for the current block (maps an extrinsic's index to its data). **/ extrinsicData: AugmentedQuery Observable, [u32]> & QueryableStorageEntry; /** * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened. **/ lastRuntimeUpgrade: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The current block number being processed. Set by `execute_block`. **/ number: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Hash of the previous block. **/ parentHash: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False * (default) if not. **/ upgradedToTripleRefCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not. **/ upgradedToU32RefCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; timestamp: { /** * Did the timestamp get updated in this block? **/ didUpdate: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Current time for the current block. **/ now: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; tips: { /** * Simple preimage lookup from the reason's hash to the original data. Again, has an * insecure enumerable hash since the key is guaranteed to be the result of a secure hash. **/ reasons: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; /** * TipsMap that are not yet completed. Keyed by the hash of `(reason, who)` from the value. * This has the insecure enumerable hash function since the key itself is already * guaranteed to be a secure hash. **/ tips: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; tokens: { /** * The balance of an account under a token type. * * NOTE: If the total is ever zero, decrease account ref account. * * NOTE: This is only used in the case that this module is used to store * balances. **/ accountCurrencies: AugmentedQuery Observable, [AccountId, CurrencyId]> & QueryableStorageEntry; /** * The balance of an account under a token type. * * NOTE: If the total is ever zero, decrease account ref account. * * NOTE: This is only used in the case that this module is used to store * balances. **/ accounts: AugmentedQuery Observable, [CurrencyId, AccountId]> & QueryableStorageEntry; /** * Approved balance transfers. First balance is the amount approved for * transfer. Second is the amount of `T::Currency` reserved for storing * this. **/ approvals: AugmentedQuery Observable>, [CurrencyId, ApprovalKey]> & QueryableStorageEntry; /** * Any liquidity locks of a token type under an account. * NOTE: Should only be accessed when setting, changing and freeing a lock. **/ locks: AugmentedQuery Observable>, [AccountId, CurrencyId]> & QueryableStorageEntry; /** * Metadata of an currency. **/ metadata: AugmentedQuery Observable, [CurrencyId]> & QueryableStorageEntry; /** * Details of an asset. **/ token: AugmentedQuery Observable>, [CurrencyId]> & QueryableStorageEntry; /** * The total issuance of a token type. **/ totalIssuance: AugmentedQuery Observable, [CurrencyId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; transactionPayment: { nextFeeMultiplier: AugmentedQuery Observable, []> & QueryableStorageEntry; storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; treasury: { /** * Proposal indices that have been approved but not yet awarded. **/ approvals: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Number of proposals that have been made. **/ proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Proposals that have been made. **/ proposals: AugmentedQuery Observable>, [ProposalIndex]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; treasuryReward: { /** * The next tree identifier up for grabs **/ currentPayout: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The next tree identifier up for grabs **/ mintingInterval: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; vesting: { /** * Information regarding the vesting of a given account. **/ vesting: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Generic query **/ [key: string]: QueryableStorageEntry; }; } interface QueryableStorage extends AugmentedQueries { [key: string]: QueryableModuleStorage; } }