Skip to content

Latest commit

 

History

History
2359 lines (1830 loc) · 34.1 KB

runtime-storages.md

File metadata and controls

2359 lines (1830 loc) · 34.1 KB

Runtime Storage

There are 139 storages from 35 pallets.

  • System - 0
    • Account The full account information for a particular account ID.
      key: sp_core::crypto::AccountId32
      value: frame_system::AccountInfo<U32, pallet_duniter_account::types::AccountData<U64, U32>>
    • ExtrinsicCount Total extrinsics count for the current block.
      value: Option<U32>
    • InherentsApplied Whether all inherents have been applied.
      value: Bool
    • BlockWeight The current weight for the block.
      value: frame_support::dispatch::PerDispatchClass<sp_weights::weight_v2::Weight>
    • AllExtrinsicsLen Total length (in bytes) for all extrinsics put together, for the current block.
      value: Option<U32>
    • BlockHash Map of block numbers to block hashes.
      key: U32
      value: primitive_types::H256
    • ExtrinsicData Extrinsics data for the current block (maps an extrinsic's index to its data).
      key: U32
      value: Vec<U8>
    • Number The current block number being processed. Set by `execute_block`.
      value: U32
    • ParentHash Hash of the previous block.
      value: primitive_types::H256
    • Digest Digest of the current block, also part of the block header.
      value: sp_runtime::generic::digest::Digest
    • Events 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.

      value: Vec<frame_system::EventRecord<gdev_runtime::RuntimeEvent, primitive_types::H256>>
    • EventCount The number of events in the `Events` list.
      value: U32
    • EventTopics 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 (BlockNumberFor<T>, 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.

      key: primitive_types::H256
      value: Vec<(U32, U32)>
    • LastRuntimeUpgrade Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.
      value: Option<frame_system::LastRuntimeUpgradeInfo>
    • UpgradedToU32RefCount True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.
      value: Bool
    • UpgradedToTripleRefCount True if we have upgraded so that AccountInfo contains three types of `RefCount`. False (default) if not.
      value: Bool
    • ExecutionPhase The execution phase of the block.
      value: Option<frame_system::Phase>
    • AuthorizedUpgrade `Some` if a code upgrade has been authorized.
      value: Option<frame_system::CodeUpgradeAuthorization<>>
  • Account - 1
  • Scheduler - 2
    • IncompleteSince
      value: Option<U32>
    • Agenda Items to be executed, indexed by the block number that they should be executed on.
      key: U32
      value: bounded_collections::bounded_vec::BoundedVec<Option<pallet_scheduler::Scheduled<[U8; 32], frame_support::traits::preimages::Bounded<gdev_runtime::RuntimeCall, sp_runtime::traits::BlakeTwo256>, U32, gdev_runtime::OriginCaller, sp_core::crypto::AccountId32>>, >
    • Retries Retry configurations for items to be executed, indexed by task address.
      key: (U32, U32)
      value: pallet_scheduler::RetryConfig<U32>
    • Lookup 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.

      key: [U8; 32]
      value: (U32, U32)
  • Babe - 3
    • EpochIndex Current epoch index.
      value: U64
    • Authorities Current epoch authorities.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<(sp_consensus_babe::app::Public, U64), >
    • GenesisSlot The slot at which the first epoch actually started. This is 0 until the first block of the chain.
      value: sp_consensus_slots::Slot
    • CurrentSlot Current slot number.
      value: sp_consensus_slots::Slot
    • Randomness 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.

      value: [U8; 32]
    • PendingEpochConfigChange Pending epoch configuration change that will be applied when the next epoch is enacted.
      value: Option<sp_consensus_babe::digests::NextConfigDescriptor>
    • NextRandomness Next epoch randomness.
      value: [U8; 32]
    • NextAuthorities Next epoch authorities.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<(sp_consensus_babe::app::Public, U64), >
    • SegmentIndex 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 0 at the beginning of every epoch.

      value: U32
    • UnderConstruction TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay.
      key: U32
      value: bounded_collections::bounded_vec::BoundedVec<[U8; 32], >
    • Initialized Temporary value (cleared at block finalization) which is `Some` if per-block initialization has already been called for current block.
      value: Option<Option<sp_consensus_babe::digests::PreDigest>>
    • AuthorVrfRandomness 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.

      value: Option<[U8; 32]>
    • EpochStart The block numbers when the last and current epoch have started, respectively `N-1` and `N`. 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.
      value: (U32, U32)
    • Lateness 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.

      value: U32
    • EpochConfig The configuration for the current epoch. Should never be `None` as it is initialized in genesis.
      value: Option<sp_consensus_babe::BabeEpochConfiguration>
    • NextEpochConfig The configuration for the next epoch, `None` if the config will not change (you can fallback to `EpochConfig` instead in that case).
      value: Option<sp_consensus_babe::BabeEpochConfiguration>
    • SkippedEpochs 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.

      value: bounded_collections::bounded_vec::BoundedVec<(U64, U32), >
  • Timestamp - 4
    • Now The current time for the current block.
      value: U64
    • DidUpdate Whether the timestamp has been updated in this block.

      This value is updated to true upon successful submission of a timestamp by a node. It is then checked at the end of each block execution in the on_finalize hook.

      value: Bool
  • Parameters - 5
    • ParametersStorage
      value: pallet_duniter_test_parameters::types::Parameters<U32, U32, U64, U32>
  • Balances - 6
    • TotalIssuance The total units issued in the system.
      value: U64
    • InactiveIssuance The total units of outstanding deactivated balance in the system.
      value: U64
    • Account The Balances pallet example of storing the balance of an account.

      Example

       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 System pallet.

      Example

       impl pallet_balances::Config for Runtime {
        type AccountStore = System
       }
      

      But this comes with tradeoffs, storing account balances in the system pallet stores frame_system data alongside the account data contrary to storing account balances in the Balances pallet, which uses a StorageMap to store balances data only. NOTE: This is only used in the case that this pallet is used to store balances.

      key: sp_core::crypto::AccountId32
      value: pallet_balances::types::AccountData<U64>
    • Locks 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/

      key: sp_core::crypto::AccountId32
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<pallet_balances::types::BalanceLock<U64>, >
    • Reserves Named reserves on some account balances.

      Use of reserves is deprecated in favour of holds. See https://github.com/paritytech/substrate/pull/12951/

      key: sp_core::crypto::AccountId32
      value: bounded_collections::bounded_vec::BoundedVec<pallet_balances::types::ReserveData<[U8; 8], U64>, >
    • Holds Holds on account balances.
      key: sp_core::crypto::AccountId32
      value: bounded_collections::bounded_vec::BoundedVec<frame_support::traits::tokens::misc::IdAmount<gdev_runtime::RuntimeHoldReason, U64>, >
    • Freezes Freeze locks on account balances.
      key: sp_core::crypto::AccountId32
      value: bounded_collections::bounded_vec::BoundedVec<frame_support::traits::tokens::misc::IdAmount<(), U64>, >
  • TransactionPayment - 32
    • NextFeeMultiplier
      value: sp_arithmetic::fixed_point::FixedU128
    • StorageVersion
      value: pallet_transaction_payment::Releases
  • OneshotAccount - 7
    • OneshotAccounts The balance for each oneshot account.
      key: sp_core::crypto::AccountId32
      value: U64
  • Quota - 66
    • IdtyQuota The quota for each identity.
      key: U32
      value: pallet_quota::pallet::Quota<U32, U64>
    • RefundQueue The fees waiting to be refunded.
      value: bounded_collections::bounded_vec::BoundedVec<pallet_quota::pallet::Refund<sp_core::crypto::AccountId32, U32, U64>, >
  • SmithMembers - 10
    • Smiths The Smith metadata for each identity.
      key: U32
      value: pallet_smith_members::types::SmithMeta<U32>
    • ExpiresOn The indexes of Smith to remove at a given session.
      key: U32
      value: Vec<U32>
    • CurrentSession The current session index.
      value: U32
  • AuthorityMembers - 11
    • IncomingAuthorities The incoming authorities.
      value: Vec<U32>
    • OnlineAuthorities The online authorities.
      value: Vec<U32>
    • OutgoingAuthorities The outgoing authorities.
      value: Vec<U32>
    • Members The member data.
      key: U32
      value: pallet_authority_members::types::MemberData<sp_core::crypto::AccountId32>
    • Blacklist The blacklisted authorities.
      value: Vec<U32>
  • Authorship - 12
    • Author Author of current block.
      value: Option<sp_core::crypto::AccountId32>
  • Offences - 13
    • Reports The primary structure that holds all offence records keyed by report identifiers.
      key: primitive_types::H256
      value: sp_staking::offence::OffenceDetails<sp_core::crypto::AccountId32, (sp_core::crypto::AccountId32, common_runtime::entities::ValidatorFullIdentification)>
    • ConcurrentReportsIndex A vector of reports of the same kind that happened at the same time slot.
      key: ([U8; 16], Vec<U8>)
      value: Vec<primitive_types::H256>
  • Historical - 14
    • HistoricalSessions Mapping from historical session indices to session-data root hash and validator count.
      key: U32
      value: (primitive_types::H256, U32)
    • StoredRange The range of historical sessions we store. [first, last)
      value: Option<(U32, U32)>
  • Session - 15
    • Validators The current set of validators.
      value: Vec<sp_core::crypto::AccountId32>
    • CurrentIndex Current index of the session.
      value: U32
    • QueuedChanged True if the underlying economic identities or weighting behind the validators has changed in the queued validator set.
      value: Bool
    • QueuedKeys The queued keys for the next session. When the next session begins, these keys will be used to determine the validator's session keys.
      value: Vec<(sp_core::crypto::AccountId32, gdev_runtime::opaque::SessionKeys)>
    • DisabledValidators 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_ending returns a new set of identities.

      value: Vec<U32>
    • NextKeys The next session keys for a validator.
      key: sp_core::crypto::AccountId32
      value: gdev_runtime::opaque::SessionKeys
    • KeyOwner The owner of a key. The key is the `KeyTypeId` + the encoded key.
      key: (sp_core::crypto::KeyTypeId, Vec<U8>)
      value: sp_core::crypto::AccountId32
  • Grandpa - 16
    • State State of the current authority set.
      value: pallet_grandpa::StoredState<U32>
    • PendingChange Pending change: (signaled at, scheduled change).
      value: Option<pallet_grandpa::StoredPendingChange<U32, >>
    • NextForced next block number where we can force a change.
      value: Option<U32>
    • Stalled `true` if we are currently stalled.
      value: Option<(U32, U32)>
    • CurrentSetId The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.
      value: U64
    • SetIdSession 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: SetId is not under user control.

      key: U64
      value: U32
    • Authorities The current list of authorities.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<(sp_consensus_grandpa::app::Public, U64), >
  • ImOnline - 17
    • HeartbeatAfter 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.

      value: U32
    • Keys The current set of keys that may issue a heartbeat.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<pallet_im_online::sr25519::app_sr25519::Public, >
    • ReceivedHeartbeats For each session index, we keep a mapping of `SessionIndex` and `AuthIndex`.
      key: (U32, U32)
      value: Bool
    • AuthoredBlocks For each session index, we keep a mapping of `ValidatorId` to the number of blocks authored by the given authority.
      key: (U32, sp_core::crypto::AccountId32)
      value: U32
  • AuthorityDiscovery - 18
    • Keys Keys of the current authority set.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<sp_authority_discovery::app::Public, >
    • NextKeys Keys of the next authority set.
      value: bounded_collections::weak_bounded_vec::WeakBoundedVec<sp_authority_discovery::app::Public, >
  • Sudo - 20
    • Key The `AccountId` of the sudo key.
      value: Option<sp_core::crypto::AccountId32>
  • UpgradeOrigin - 21
  • Preimage - 22
    • StatusFor The request status of a given hash.
      key: primitive_types::H256
      value: pallet_preimage::OldRequestStatus<sp_core::crypto::AccountId32, U64>
    • RequestStatusFor The request status of a given hash.
      key: primitive_types::H256
      value: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, ()>
    • PreimageFor
      key: (primitive_types::H256, U32)
      value: bounded_collections::bounded_vec::BoundedVec<U8, >
  • TechnicalCommittee - 23
    • Proposals The hashes of the active proposals.
      value: bounded_collections::bounded_vec::BoundedVec<primitive_types::H256, >
    • ProposalOf Actual proposal for a given hash, if it's current.
      key: primitive_types::H256
      value: gdev_runtime::RuntimeCall
    • CostOf Consideration cost created for publishing and storing a proposal.

      Determined by [Config::Consideration] and may be not present for certain proposals (e.g. if the proposal count at the time of creation was below threshold N).

      key: primitive_types::H256
      value: (sp_core::crypto::AccountId32, ())
    • Voting Votes on a given proposal, if it is ongoing.
      key: primitive_types::H256
      value: pallet_collective::Votes<sp_core::crypto::AccountId32, U32>
    • ProposalCount Proposals so far.
      value: U32
    • Members The current members of the collective. This is stored sorted (just by value).
      value: Vec<sp_core::crypto::AccountId32>
    • Prime The prime member that helps determine the default vote behavior in case of abstentions.
      value: Option<sp_core::crypto::AccountId32>
  • UniversalDividend - 30
    • CurrentUd The current Universal Dividend value.
      value: U64
    • CurrentUdIndex The current Universal Dividend index.
      value: U16
    • MonetaryMass The total quantity of money created by Universal Dividend, excluding potential money destruction.
      value: U64
    • NextReeval The next Universal Dividend re-evaluation.
      value: Option<U64>
    • NextUd The next Universal Dividend creation.
      value: Option<U64>
    • PastReevals The past Universal Dividend re-evaluations.
      value: bounded_collections::bounded_vec::BoundedVec<(U16, U64), >
  • Wot - 40
  • Identity - 41
    • Identities The identity value for each identity.
      key: U32
      value: pallet_identity::types::IdtyValue<U32, sp_core::crypto::AccountId32, common_runtime::entities::IdtyData>
    • CounterForIdentities Counter for the related counted storage map
      value: U32
    • IdentityIndexOf The identity associated with each account.
      key: sp_core::crypto::AccountId32
      value: U32
    • IdentitiesNames The name associated with each identity.
      key: pallet_identity::types::IdtyName
      value: U32
    • NextIdtyIndex The identity index to assign to the next created identity.
      value: U32
    • IdentityChangeSchedule The identities to remove at a given block.
      key: U32
      value: Vec<U32>
  • Membership - 42
    • Membership The membership data for each identity.
      key: U32
      value: sp_membership::MembershipData<U32>
    • CounterForMembership Counter for the related counted storage map
      value: U32
    • MembershipsExpireOn The identities of memberships to expire at a given block.
      key: U32
      value: Vec<U32>
  • Certification - 43
    • StorageIdtyCertMeta The certification metadata for each issuer.
      key: U32
      value: pallet_certification::types::IdtyCertMeta<U32>
    • CertsByReceiver The certifications for each receiver.
      key: U32
      value: Vec<(U32, U32)>
    • CertsRemovableOn The certifications that should expire at a given block.
      key: U32
      value: Vec<(U32, U32)>
  • Distance - 44
    • EvaluationPool0 The first evaluation pool for distance evaluation queuing identities to evaluate for a given evaluator account.
      value: pallet_distance::types::EvaluationPool<sp_core::crypto::AccountId32, U32>
    • EvaluationPool1 The second evaluation pool for distance evaluation queuing identities to evaluate for a given evaluator account.
      value: pallet_distance::types::EvaluationPool<sp_core::crypto::AccountId32, U32>
    • EvaluationPool2 The third evaluation pool for distance evaluation queuing identities to evaluate for a given evaluator account.
      value: pallet_distance::types::EvaluationPool<sp_core::crypto::AccountId32, U32>
    • EvaluationBlock The block at which the distance is evaluated.
      value: primitive_types::H256
    • PendingEvaluationRequest The pending evaluation requesters.
      key: U32
      value: sp_core::crypto::AccountId32
    • DidUpdate Store if the evaluation was updated in this block.
      value: Bool
    • CurrentPeriodIndex The current evaluation period index.
      value: U32
  • AtomicSwap - 50
    • PendingSwaps
      key: (sp_core::crypto::AccountId32, [U8; 32])
      value: pallet_atomic_swap::PendingSwap<>
  • Multisig - 51
    • Multisigs The set of open multisig operations.
      key: (sp_core::crypto::AccountId32, [U8; 32])
      value: pallet_multisig::Multisig<U32, U64, sp_core::crypto::AccountId32, >
  • ProvideRandomness - 52
    • NexEpochHookIn The number of blocks before the next epoch.
      value: U8
    • RequestIdProvider The request ID.
      value: U64
    • RequestsReadyAtNextBlock The requests that will be fulfilled at the next block.
      value: Vec<pallet_provide_randomness::types::Request>
    • RequestsReadyAtEpoch The requests that will be fulfilled at the next epoch.
      key: U64
      value: Vec<pallet_provide_randomness::types::Request>
    • RequestsIds The requests being processed.
      key: U64
      value: ()
    • CounterForRequestsIds Counter for the related counted storage map
      value: U32
  • Proxy - 53
    • Proxies 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.
      key: sp_core::crypto::AccountId32
      value: (bounded_collections::bounded_vec::BoundedVec<pallet_proxy::ProxyDefinition<sp_core::crypto::AccountId32, gdev_runtime::ProxyType, U32>, >, U64)
    • Announcements The announcements made by the proxy (key).
      key: sp_core::crypto::AccountId32
      value: (bounded_collections::bounded_vec::BoundedVec<pallet_proxy::Announcement<sp_core::crypto::AccountId32, primitive_types::H256, U32>, >, U64)
  • Utility - 54
  • Treasury - 55
    • ProposalCount DEPRECATED: associated with `spend_local` call and will be removed in May 2025. Refer to for migration to `spend`.

      Number of proposals that have been made.

      value: U32
    • Proposals DEPRECATED: associated with `spend_local` call and will be removed in May 2025. Refer to for migration to `spend`.

      Proposals that have been made.

      key: U32
      value: pallet_treasury::Proposal<sp_core::crypto::AccountId32, U64>
    • Deactivated The amount which has been reported as inactive to Currency.
      value: U64
    • Approvals DEPRECATED: associated with `spend_local` call and will be removed in May 2025. Refer to for migration to `spend`.

      Proposal indices that have been approved but not yet awarded.

      value: bounded_collections::bounded_vec::BoundedVec<U32, >
    • SpendCount The count of spends that have been made.
      value: U32
    • Spends Spends that have been approved and being processed.
      key: U32
      value: pallet_treasury::SpendStatus<(), U64, sp_core::crypto::AccountId32, U32, ()>
    • LastSpendPeriod The blocknumber for the last triggered spend period.
      value: Option<U32>