meta pSystemSystem40AccountNonce0T::AccountId T::Index| Extrinsics nonce for accounts.8ExtrinsicCount u32 Total extrinsics count for the current block.LAllExtrinsicsWeightWeight Total weight for all extrinsics put together, for the current block.@AllExtrinsicsLen u32A Total length (in bytes) for all extrinsics put together, for the current block.$BlockHash8T::BlockNumberT::Hash Map of block numbers to block hashes.4ExtrinsicData u32Vec= Extrinsics data for the current block (maps an extrinsic's index to its data).Number8T::BlockNumber  The current block number being processed. Set by `execute_block`.(ParentHashT::Hashp Hash of the previous block.8ExtrinsicsRootT::Hash Extrinsics root of the current block, also part of the block header.Digest,DigestOf Digest of the current block, also part of the block header.EventsVec> Events deposited for the current block.(EventCount(EventIndex The number of events in the `Events` list.,EventTopics()T::HashVec<(T::BlockNumber, EventIndex)>4% Mapping between a topic (represented by T::Hash) and a vector of indexes of events in the `>` list.- The first key serves no purpose. This field is declared as double_map just for convenience of using `remove_prefix`.Q All topic vectors have deterministic storage locations depending on the topic. ThisE allows light-clients to leverage the changes trie storage tracking mechanism and in case of changes fetch the list of events of interest.M The value has the type `(T::BlockNumber, EventIndex)` because if we used only justM 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.(fill_block! A big dispatch that will disallow any other transaction to be included.remark_remarkVecl Make some on-chain remark.8set_heap_pagespages u64 Set the number of pages in the WebAssembly environment's heap. set_code newVecH Set the new code.,set_storageitems4Vecl Set some items of storage.0kill_storagekeys Vecx Kill some items from storage.,kill_prefixprefix Key Kill all storage items with a key that starts with the given prefix.@ExtrinsicSuccess0DispatchInfo An extrinsic completed successfully. a Series of block headers from the last 81 blocks that acts as random seed material. Thisa is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` ofD the oldest hash.BabeBabe$(EpochIndex u64 T Current epoch index.,AuthoritiesVec<(AuthorityId, BabeAuthorityWeight)>l Current epoch authorities.,GenesisSlot u64  The slot at which the first epoch actually started. This is 0 until the first block of the chain.,CurrentSlot u64 T Current slot number.(Randomness [u8; 32]( 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.8NextRandomness [u8; 32]\ Next epoch randomness.0SegmentIndex u32$| Randomness under construction. We make a tradeoff 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.DUnderConstruction u324Vec<[u8; 32]>,Initialized MaybeVrf Temporary value (cleared at block finalization) which is `Some` if per-block initialization has already been called for current block.4EpochDuration u64 X  The number of **slots** that an epoch takes. We couple sessions to epochs, i.e. we start a new session once the new epoch begins.DExpectedBlockTime$T::Moment p The expected average block time at which BABE should be creating blocks. Since BABE is probabilistic it is not trivial to figure out what the expected average block time should be based on the slot  duration and the security parameter `c` (where `1 - c` represents the probability of a slot being empty).$Timestamp$Timestamp Now$T::Moment  Current time for the current block.$DidUpdatebool Did the timestamp get updated in this block? set nowHCompact$X Set the current time.Y This call should be invoked exactly once per block. It will panic at the finalization phase, if this call hasn't been invoked by that time.E The timestamp should be greater than the previous one by the amount specified byD `MinimumPeriod`. The dispatch origin for this call must be `Inherent`.4MinimumPeriod$T::Moment i The minimum period between blocks. Beware that this is different to the *expected* periodi that the block production apparatus provides. Your chosen consensus system will generallye work with this to determine a sensible block time. e.g. For Aura, it will be double thisp period on default settings.IndicesIndices,NextEnumSetX The enumeration sets. Information regarding the vesting of a given account.,FreeBalance0T::AccountId(T::Balance@, The 'free' balance of a given account.A This is the only balance that matters in terms of most operations on tokens. Itu alone is used to determine the balance when in the contract execution environment. When thisU balance falls below the value of `ExistentialDeposit`, then the 'current account' is= deleted: specifically `FreeBalance`. Further, the `OnFreeBalanceZero` callbackE is invoked, giving a chance to external modules to clean up data associated withT the deleted account.] `system::AccountNonce` is also deleted if `ReservedBalance` is also zero (it also gets collapsed to zero if it ever becomes less than `ExistentialDeposit`.> Any liquidity locks on some account balances. transferdest::SourcevalueLCompactd Transfer some liquid free balance to another account.  `transfer` will set the `FreeBalance` of the sender and receiver.! It will decrease the total issuance of the system by the `TransferFee`. If the sender's account is below the existential deposit as a result of the transfer, the account will be reaped. The dispatch origin for this call must be `Signed` by the transactor., # 1 - Dependent on arguments but not critical, given proper implementations for input config types. See related functions below.i - It contains a limited number of reads and writes internally and no complex computation.L Related functions:Q - `ensure_can_withdraw` is always called internally but has a bounded complexity.- - Transferring balances to accounts that did not exist before will cause `T::OnNewAccount::on_new_account` to be called. - Removing enough funds from an account will triggerY `T::DustRemoval::on_unbalanced` and `T::OnFreeBalanceZero::on_free_balance_zero`.I - `transfer_keep_alive` works the same way as `transfer`, but has an additional check that the transfer will not kill the origin account.0 # ,set_balance who::Source new_freeLCompact0new_reservedLCompact4 Set the balances of a given account.! This will alter `FreeBalance` and `ReservedBalance` in storage. it will  also decrease the total issuance of the system (`TotalIssuance`). If the new free or reserved balance is below the existential deposit, it will reset the account nonce (`system::AccountNonce`). The dispatch origin for this call is `root`., # - Independent of the arguments. - Contains a limited number of reads and writes.0 # 8force_transfer source::Sourcedest::SourcevalueLCompactQ Exactly as `transfer`, except the origin must be root and the source account may be, specified.Ltransfer_keep_alivedest::SourcevalueLCompactQ Same as the [`transfer`] call, but with a check that the transfer will not kill the@ origin account. 99% of the time you want [`transfer`] instead. [`transfer`]: struct.Module.html#method.transfer (NewAccount$AccountIdBalancel A new account was created.4ReapedAccount$AccountId\ An account was reaped. Transfer$AccountId$AccountIdBalanceBalance Transfer succeeded (from, to, value, fees). HExistentialDeposit(T::Balance@ T The minimum amount required to keep an account open.,TransferFee(T::Balance@ The fee required to make a transfer.,CreationFee(T::Balance@ The fee required to create an account.HTransactionPayment BalancesDNextFeeMultiplier(Multiplier HTransactionBaseFee0BalanceOf@ The fee to be paid for making a transaction; the base.HTransactionByteFee0BalanceOf@@B  The fee to be paid for making a transaction; the per-byte portion.(Authorship(Authorship UnclesVec> UnclesAuthor0T::AccountIdd Author of current block.0DidSetUnclesbool Whether uncles were already set in this block.(set_uncles(new_uncles8Vecd Provide a set of uncles.StakingStakingh8ValidatorCount u32 The ideal number of staking participants.TMinimumValidatorCount u32A Minimum number of staking participants before emergency conditions are imposed.4InvulnerablesDVec Y Any validators that may never be slashed or forcibly kicked. It's a Vec since they'reM easy to initialize and the performance hit is minimal (we expect no more than four invulnerables) and restricted to testnets.Bonded0T::AccountId0T::AccountId Map from all locked "stash" accounts to the controller account.Ledger0T::AccountIdStakingLedger>E Map from all (unlocked) "controller" accounts to the info regarding the staking.Payee0T::AccountIdDRewardDestination Where the reward payment should be made. Keyed by stash.(Validators0T::AccountId8ValidatorPrefsE The map from (wannabe) validator stash key to the preferences of that validator.(Nominators0T::AccountIddNominationse The map from nominator stash key to the set of stash keys of all validators to nominate.5 NOTE: is private so that we can ensure upgraded before all typical accesses. Direct storage APIs can still bypass this protection.Stakers0T::AccountIdExposure> M Nominators for a particular account that is in action right now. You can't iterate through validators here, but you can find them in the Session module. This is keyed by the stash account.8CurrentElectedDVec The currently elected validator set keyed by stash account ID.(CurrentEra EraIndex\ The current era index. x The start of the current era.lCurrentEraStartSessionIndex0SessionIndex The session index at which the current era started.XCurrentEraPointsEarned$EraPoints  Rewards for the current era. Using indices of current elected set.$SlotStake0BalanceOf@ 1 The amount of balance actively at stake for each validator slot, currently. This is used to derive rewards and punishments. ForceEraForcing True if the next session change will be a new era regardless of index.LSlashRewardFractionPerbill The percentage of the slash that is distributed to reporters. The rest of the slashed value is handled by the `Slash`.LCanceledSlashPayout0BalanceOf@ The amount of currency given to reporters of a slash event which was canceled by extraordinary circumstances (e.g. governance).@UnappliedSlashes EraIndexVec>> All unapplied slashes that are queued for later.(BondedErastVec<(EraIndex, SessionIndex)>% A mapping from still-bonded eras to the first session index of that era.LValidatorSlashInEra EraIndex0T::AccountId\(Perbill, BalanceOf)E All slashing events on validators, mapped by era to the highest slash proportionp and slash value of the era.LNominatorSlashInEra EraIndex0T::AccountId0BalanceOfa All slashing events on nominators, mapped by era to the highest slash value of the era.4SlashingSpans0T::AccountId\slashing::SlashingSpans Slashing spans for stash accounts.$SpanSlash(T::AccountId, slashing::SpanIndex)slashing::SpanRecord>= Records information about the maximum slash of a stash within a slashing span, as well as how much reward has been paid out.XEarliestUnappliedSlash EraIndex The earliest era for which we have a pending, unapplied slash.8StorageVersion u32 The version of storage for upgrade.@bond (controller::SourcevalueTCompact>payeeDRewardDestination - Independent of the arguments. Moderate complexity. - O(1).h - Three extra DB entries.m NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned unless% the `origin` falls below _existential deposit_ and gets removed as dust.0 # (bond_extra8max_additionalTCompact>8e Add some extra amount that have appeared in the stash `free_balance` into the balance up4 for staking.Q Use this if there are additional funds in your stash account that you wish to bond.e Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amountL that can be added.U The dispatch origin for this call must be _Signed_ by the stash, not the controller., # - Independent of the arguments. Insignificant complexity. - O(1).@ - One DB entry.0 # unbondvalueTCompact>\U Schedule a portion of the stash to be unlocked ready for transfer out after the bond period ends. If this leaves an amount actively bonded less than% T::Currency::minimum_balance(), then it is increased to the full amount.I Once the unlock period is done, you can call `withdraw_unbonded` to actually move the funds out of management ready for transfer.= No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`)= can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need to be called first to remove some of the chunks (if possible).U The dispatch origin for this call must be _Signed_ by the controller, not the stash. See also [`Call::withdraw_unbonded`]., # A - Independent of the arguments. Limited but potentially exploitable complexity. - Contains a limited number of reads.e - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)q will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage. The only way to clean the aforementioned storage item is also user-controlled via `withdraw_unbonded`.@ - One DB entry.( Dwithdraw_unbonded@- Remove any unlocked chunks from the `unlocking` queue from our management.5 This essentially frees up that balance to be used by the stash account to doL whatever it wants.U The dispatch origin for this call must be _Signed_ by the controller, not the stash.l See also [`Call::unbond`]., # U - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.E It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is indirectly user-controlled. See [`unbond`] for more detail.y - Contains a limited number of reads, yet the size of which could be large based on `ledger`. - Writes are limited to the `origin` account key.0 # validateprefs8ValidatorPrefs, Declare the desire to validate for the origin controller. Effects will be felt at the beginning of the next era.U The dispatch origin for this call must be _Signed_ by the controller, not the stash., # - Independent of the arguments. Insignificant complexity. - Contains a limited number of reads. - Writes are limited to the `origin` account key.0 # nominatetargetsVec<::Source>, Declare the desire to nominate `targets` for the origin controller. Effects will be felt at the beginning of the next era.U The dispatch origin for this call must be _Signed_ by the controller, not the stash., # % - The transaction's complexity is proportional to the size of `targets`, which is capped at `MAX_NOMINATIONS`. - Both the reads and writes follow a similar pattern.0 # chill, Declare no desire to either validate or nominate. Effects will be felt at the beginning of the next era.U The dispatch origin for this call must be _Signed_ by the controller, not the stash., # - Independent of the arguments. Insignificant complexity.T - Contains one read. - Writes are limited to the `origin` account key.0 # $set_payeepayeeDRewardDestination, (Re-)set the payment target for a controller. Effects will be felt at the beginning of the next era.U The dispatch origin for this call must be _Signed_ by the controller, not the stash., # - Independent of the arguments. Insignificant complexity. - Contains a limited number of reads. - Writes are limited to the `origin` account key.0 # 8set_controller(controller::Source, (Re-)set the controller of a stash. Effects will be felt at the beginning of the next era.U The dispatch origin for this call must be _Signed_ by the stash, not the controller., # - Independent of the arguments. Insignificant complexity. - Contains a limited number of reads. - Writes are limited to the `origin` account key.0 # Lset_validator_count new0Compact The ideal number of validators.4force_no_eras Force there to be no new eras indefinitely., # @ - No arguments.0 # 4force_new_eraM Force there to be a new era at the end of the next session. After this, it will be reset to normal (non-forced) behaviour., # @ - No arguments.0 # Dset_invulnerables(validatorsDVec Set the validators who cannot be slashed (if any).4force_unstakestash0T::AccountId  Force a current staker to become completely unstaked, immediately.Pforce_new_era_always Force there to be a new era at the end of sessions indefinitely., # P - One storage write0 # Tcancel_deferred_slash era EraIndex4slash_indices VecE Cancel enactment of a deferred slash. Can be called by either the root origin orp the `T::SlashCancelOrigin`. passing the era and indices of the slashes for that era to kill., # T - One storage write.0 #  RewardBalanceBalanceQ All validators have been rewarded by the first balance; the second is the remainder from the maximum amount of reward.Slash$AccountIdBalance% One validator (and its nominators) has been slashed by the given amount.hOldSlashingReportDiscarded0SessionIndex An old slashing report from a prior era was discarded because it couldH not be processed.8SessionsPerEra0SessionIndexp Number of sessions per era.OffenceDetailsI The primary structure that holds all offence records keyed by report identifiers.XConcurrentReportsIndexKind8OpaqueTimeSlotHVec>) A vector of reports of the same kind that happened at the same time slot.HReportsByKindIndexKindVec Enumerates all reports of a kind along with the time they happened. All reports are sorted by the time of offence.I Note that the actual type of this mapping is `Vec`, this is because values ofi different types are not supported at the moment so we are doing the manual serialization.OffenceKind8OpaqueTimeSlotU There is an offence reported of the given `kind` happened at the `session_index` and9 (kind-specific) time slot. This event is not deposited for duplicate slashes.SessionSession(ValidatorsLVec| The current set of validators.0CurrentIndex0SessionIndexx Current index of the session.4QueuedChangedbool9 True if the underlying economic identities or weighting behind the validators has changed in the queued validator set.(QueuedKeysxVec<(T::ValidatorId, T::Keys)>= The queued keys for the next session. When the next session begins, these keys will be used to determine the validator's session keys.HDisabledValidators Vec Indices of disabled validators.5 The set is cleared when `on_session_ending` returns a new set of identities. NextKeysVec8T::ValidatorIdT::Keys The next session keys for a validator.Y The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch ofa the trie. Having all data in the same branch should prevent slowing down other queries. KeyOwnerVecP(KeyTypeId, Vec)8T::ValidatorId% The owner of a key. The second key is the `KeyTypeId` + the encoded key.Y The first key is always `DEDUP_KEY_PREFIX` to have all the data in the same branch ofa the trie. Having all data in the same branch should prevent slowing down other queries. set_keyskeysT::KeysproofVec( Sets the session key(s) of the function caller to `key`.! Allows an account to set its session key prior to becoming a validator. This doesn't take effect until the next session. The dispatch origin of this function must be signed., # - O(log n) in number of accounts.X - One extra DB entry.0 # (NewSession0SessionIndexU New session has happened. Note that the argument is the session index, not the block number as the type might suggest.@DEDUP_KEY_PREFIX&[u8]84:session:keyse Used as first key for `NextKeys` and `KeyOwner` to put all the data into the same branch4 of the trie. Hint that the author of this block thinks the best finalizedl block is the given number.(WindowSize8T::BlockNumbere The number of recent samples to keep from this chain. Default is 101.4ReportLatency8T::BlockNumber The delay after which point things become suspicious. Default is 1000.Grandpa State of the current authority set.4PendingChangeStoredPendingChange Pending change: (signaled at, scheduled change).(NextForced8T::BlockNumber next block number where we can force a change.Stalled(T::BlockNumber, T::BlockNumber) `true` if we are currently stalled.0CurrentSetIdSetId ] The number of changes (both in terms of keys and underlying economic responsibilities) in the "set" of Grandpa validators from genesis.0SetIdSessionSetId0SessionIndex A mapping from grandpa set ID to the index of the *most recent* session for which its members were responsible.Hreport_misbehavior_reportVecd Report some misbehavior. 8NewAuthorities4AuthorityList New authority set has been applied.Paused Current authority set has been paused.Resumed Current authority set has been resumed. ImOnline ImOnline GossipAt8T::BlockNumber The block number when we should gossip.KeysLVec The current set of keys that may issue a heartbeat.HReceivedHeartbeats0SessionIndex$AuthIndexVec For each session index, we keep a mapping of `AuthIndex` to `offchain::OpaqueNetworkState`.8AuthoredBlocks0SessionIndex8T::ValidatorId u32 For each session index, we keep a mapping of `T::ValidatorId` to the number of blocks authored by the given authority.$heartbeat$heartbeatdHeartbeat(_signature::Signature DHeartbeatReceived,AuthorityId A new heartbeat was received from `AuthorityId`AllGood At the end of the session, no offence was committed.,SomeOffline`Vec1 At the end of the session, at least once validator was found to be offline.HAuthorityDiscovery$Democracy$Democracy< The public proposals. Unsorted.$DepositOf$PropIndex(BalanceOf, Vec) Those who have locked a deposit.) Information concerning any given referendum.4DispatchQueue8T::BlockNumberVec> Queue of successful referenda to be dispatched.$VotersFor Get the voters for the current proposal.VoteOf|(ReferendumIndex, T::AccountId)Votea Get the vote in a given referendum of a particular voter. The result is meaningful onlyM if `voters_for` includes the voter when called with the referendum (you'll get the] default `Vote` value otherwise). If you don't want to check `voters_for`, then you can also check for simple existence with `VoteOf::exists` first.Proxy0T::AccountId0T::AccountId1 Who is able to vote for whom. Value is the fund-holding account, key is the vote-transaction-sending account.,Delegations0T::AccountIdh(T::AccountId, Conviction)A Get the account (and lock periods) to which another account is delegating vote.TLastTabledWasExternalboolY True if the last referendum tabled was submitted externally. False if it was a public( proposal.0NextExternalp(T::Proposal, VoteThreshold)Y The referendum to be tabled whenever it would be valid to table an external proposal.U This happens when a referendum needs to be tabled and one of two conditions are met: - `LastTabledWasExternal` is `false`; orh - `PublicProps` is empty.$BlacklistT::Hash(T::BlockNumber, Vec)Q 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.4CancellationsT::Hashbool) Record of all proposals that have been subject to emergency cancellation.Dpropose proposal@BoxvalueTCompact> Propose a sensitive action to be taken., # - O(1). - Two DB changes, one DB entry.0 # second proposalHCompact Propose a sensitive action to be taken., # - O(1).@ - One DB entry.0 # vote$ref_index`CompactvoteVote5 Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; otherwise it is a vote to keep the status quo., # - O(1).| - One DB change, one DB entry.0 # (proxy_vote$ref_index`CompactvoteVoteQ Vote in a referendum on behalf of a stash. If `vote.is_aye()`, the vote is to enact the proposal; otherwise it is a vote to keep the status quo., # - O(1).| - One DB change, one DB entry.0 # @emergency_cancel$ref_index1 Schedule a referendum to be tabled once it is legal to schedule an external0 referendum.dexternal_propose_majority proposal@BoxY Schedule a majority-carries referendum to be tabled next once it is legal to schedule` an external referendum.M Unlike `external_propose`, blacklisting has no effect on this and it may replace a pre-scheduled `external_propose` call.`external_propose_default proposal@BoxI Schedule a negative-turnout-bias referendum to be tabled next once it is legal to schedule an external referendum.M Unlike `external_propose`, blacklisting has no effect on this and it may replace a pre-scheduled `external_propose` call.(fast_track 4proposal_hashT::Hash4voting_period8T::BlockNumberdelay8T::BlockNumber$Q Schedule the currently externally-proposed majority-carries referendum to be tablede immediately. If there is no externally-proposed referendum currently, or if there is one but it is not a majority-carries referendum then it fails. - `proposal_hash`: The hash of the current external proposal.a - `voting_period`: The period that is allowed for voting on this proposal. Increased to `EmergencyVotingPeriod` if too low.U - `delay`: The number of block after voting has ended in approval and this should be enacted. This doesn't have a minimum amount.4veto_external4proposal_hashT::Hash Veto and blacklist the external proposal hash.Dcancel_referendum$ref_index`CompactT Remove a referendum.4cancel_queued when\Compactwhich0Compactwhat`Compact Cancel a proposal queued for enactment.$set_proxyproxy0T::AccountId Specify a proxy. Called by the stash., # X - One extra DB entry.0 # 0resign_proxy Clear the proxy. Called by the proxy., # @ - One DB clear.0 # 0remove_proxyproxy0T::AccountId Clear the proxy. Called by the stash., # @ - One DB clear.0 # delegateto0T::AccountId(conviction(Conviction< Delegate vote., # X - One extra DB entry.0 # (undelegateD Undelegate vote., # - O(1).0 # , Proposed$PropIndexBalanceTabled $PropIndexBalance8Vec8ExternalTabledStarted@5 The minimum amount to be used as a deposit for a public referendum proposal.TEmergencyVotingPeriod8T::BlockNumberX Minimum voting period allowed for an emergency referendum.4CooloffPeriod8T::BlockNumbera Period in blocks where an external proposal may not be re-submitted after being vetoed.CouncilLInstance1Collective$Proposals0Vec The hashes of the active proposals.(ProposalOfT::Hashd>::Proposal Actual proposal for a given hash, if it's current.VotingT::HashLVotes Votes on a given proposal, if it is ongoing.4ProposalCount u32H Proposals so far.MembersDVec9 The current members of the collective. This is stored sorted (just by value).,set_members,new_membersDVecQ Set the collective's membership manually to `new_members`. Be nice to the chain and\ provide it pre-sorted.X Requires root origin.execute proposalxBox<>::Proposal> Dispatch a proposal from a member using the `Member` origin. Origin must be a member of the collective.propose$thresholdPCompact proposalxBox<>::Proposal>, # - Bounded storage reads and writes. - Argument `threshold` has bearing on weight.0 # vote proposalT::HashindexXCompactapprovebool, # - Bounded storage read and writes.U - Will be slightly heavier if the proposal is approved / disapproved after the vote.0 #  Proposed$AccountId4ProposalIndexHash,MemberCountM A motion (given hash) has been proposed (by given account) with a threshold (given@ `MemberCount`).Voted$AccountIdHashbool,MemberCount,MemberCount  A motion (given hash) has been voted on by given account, leaving a tally (yes votes and no votes given respectively as `MemberCount`). ApprovedHash A motion was approved by the required threshold.,DisapprovedHash A motion was not approved by the required threshold. ExecutedHashbool A motion was executed; `bool` is true if returned without error.8MemberExecutedHashbool- A single member did some action; `bool` is true if returned without error.HTechnicalCommitteeLInstance2Collective$Proposals0Vec The hashes of the active proposals.(ProposalOfT::Hashd>::Proposal Actual proposal for a given hash, if it's current.VotingT::HashLVotes Votes on a given proposal, if it is ongoing.4ProposalCount u32H Proposals so far.MembersDVec9 The current members of the collective. This is stored sorted (just by value).,set_members,new_membersDVecQ Set the collective's membership manually to `new_members`. Be nice to the chain and\ provide it pre-sorted.X Requires root origin.execute proposalxBox<>::Proposal> Dispatch a proposal from a member using the `Member` origin. Origin must be a member of the collective.propose$thresholdPCompact proposalxBox<>::Proposal>, # - Bounded storage reads and writes. - Argument `threshold` has bearing on weight.0 # vote proposalT::HashindexXCompactapprovebool, # - Bounded storage read and writes.U - Will be slightly heavier if the proposal is approved / disapproved after the vote.0 #  Proposed$AccountId4ProposalIndexHash,MemberCountM A motion (given hash) has been proposed (by given account) with a threshold (given@ `MemberCount`).Voted$AccountIdHashbool,MemberCount,MemberCount  A motion (given hash) has been voted on by given account, leaving a tally (yes votes and no votes given respectively as `MemberCount`). ApprovedHash A motion was approved by the required threshold.,DisapprovedHash A motion was not approved by the required threshold. ExecutedHashbool A motion was executed; `bool` is true if returned without error.8MemberExecutedHashbool- A single member did some action; `bool` is true if returned without error.DElectionsPhragmen@PhragmenElectionMembersVec<(T::AccountId, BalanceOf)> The current elected membership. Sorted based on account id.$RunnersUpVec<(T::AccountId, BalanceOf)>I The current runners_up. Sorted based on low to high merit (worse to best runner).8ElectionRounds u32A The total number of vote rounds that have happened, excluding the upcoming one.VotesOf0T::AccountIdDVec Votes of a particular voter, with the round index of the votes.StakeOf0T::AccountId0BalanceOf@d Locked stake of a voter.(CandidatesDVece The present candidate list. Sorted based on account id. A current member can never enter this vector and is always implicitly assumed to be a candidate.votevotesDVecvalueTCompact>< Vote for a set of candidates for the upcoming round of election.P The `votes` should:H - not be empty. - be less than the number of candidates.] Upon voting, `value` units of `who`'s balance is locked and a bond amount is reserved.] It is the responsibility of the caller to not place all of their balance into the lock and keep some for further transactions., # , #### State0 Reads: O(1) Writes: O(V) given `V` votes. V is bounded by 16.0 # 0remove_voter! Remove `origin` as a voter. This removes the lock and returns the bond., # , #### State0 Reads: O(1)4 Writes: O(1)0 # Preport_defunct_votertarget::Source4] Report `target` for being an defunct voter. In case of a valid report, the reporter is] rewarded by the bond amount of `target`. Otherwise, the reporter itself is removed and\ their bond is slashed. A defunct voter is defined to be:M - a voter whose current submitted votes are all invalid. i.e. all of them are no longer a candidate nor an active member., # , #### State Reads: O(NLogM) given M current candidates and N votes for `target`.4 Writes: O(1)0 # @submit_candidacy4x Submit oneself for candidacy.d A candidate will either: - Lose at the end of the term and forfeit their deposit.- - Win and become a member. Members will eventually get their stash back.U - Become a runner-up. Runners-ups are reserved members in case one gets forcefully4 removed., # , #### State Reads: O(LogN) Given N candidates.4 Writes: O(1)0 # Hrenounce_candidacy$Q Renounce one's intention to be a candidate for the next election round. 3 potential@ outcomes exist:A - `origin` is a candidate and not elected in any set. In this case, the bond is unreserved, returned and origin is removed as a candidate.Y - `origin` is a current runner up. In this case, the bond is unreserved, returned and origin is removed as a runner.M - `origin` is a current member. In this case, the bond is unreserved and origin isY removed as a member, consequently not being a candidate for the next round anymore.e Similar to [`remove_voter`], if replacement runners exists, they are immediately used.4remove_member who::Source4] Remove a particular member from the set. This is effective immediately and the bond of the outgoing member is slashed.Y If a runner-up is available, then the best runner-up will be removed and replaces the outgoing member. Otherwise, a new phragmen round is started.E Note that this does not affect the designated block number of the next election., # , #### StateX Reads: O(do_phragmen)\ Writes: O(do_phragmen)0 # NewTermdVec<(AccountId, Balance)>U A new term with new members. This indicates that enough candidates existed, not thatE enough have has been elected. The inner value must be examined for this purpose.$EmptyTerm No (or not enough) candidates existed for this round.0MemberKicked$AccountIdE A member has been removed. This should always be followed by either `NewTerm` ot4 `EmptyTerm`.@(VotingBond0BalanceOf@t; 8DesiredMembers u32 @DesiredRunnersUp u320TermDuration8T::BlockNumberLTechnicalMembershipLInstance1MembershipMembersDVec The current membership, stored as an ordered Vec.(add_member who0T::AccountId | Add a member `who` to the set. May only be called from `AddOrigin` or root.4remove_member who0T::AccountId Remove a member `who` from the set. May only be called from `RemoveOrigin` or root.,swap_memberremove0T::AccountId add0T::AccountId Swap out one member `remove` for another `add`. May only be called from `SwapOrigin` or root.4reset_membersmembersDVecY Change the membership to a new set, disregarding the existing membership. Be nice andl pass `members` pre-sorted. May only be called from `ResetOrigin` or root.,MemberAdded The given member was added; see the transaction for who.4MemberRemoved The given member was removed; see the transaction for who.8MembersSwapped Two members were swapped; see the transaction for who.0MembersReset The membership was reset; see the transaction for who the new set is.Dummyrstd::marker::PhantomData<(AccountId, Event)>p Phantom member, never used. Treasury Treasury 4ProposalCount4ProposalIndex Number of proposals that have been made.$Proposals4ProposalIndexProposal>| Proposals that have been made.$ApprovalsHVec Proposal indices that have been approved but not yet awarded. 4propose_spendvalueTCompact>,beneficiary::Source$- Put forward a suggestion for spending. A deposit proportional to the value5 is reserved and slashed if the proposal is rejected. It is returned once theT proposal is awarded., # - O(1).d - Limited storage reads. - One DB change, one extra DB entry.0 #  Reject a proposed spend. The original deposit will be slashed., # - O(1).d - Limited storage reads.@ - One DB clear.0 # @approve_proposal,proposal_idXCompact ] Approve a proposal. At a later time, the proposal will be allocated to the beneficiary and the original deposit will be returned., # - O(1).d - Limited storage reads.D - One DB change.0 #  Proposed4ProposalIndex8 New proposal. SpendingBalance We have ended a spend period and will now allocate funds.Awarded 4ProposalIndexBalance$AccountId Some funds have been allocated.BurntBalance Some of our funds have been burnt. RolloverBalance1 Spending has finished; this is the amount that rolls over until next spend.DepositBalance Some funds have been deposited.0ProposalBondPermillPU Fraction of a proposal's value that should be bonded in order to place the proposal. An accepted proposal gets these back. A rejected proposal does not.LProposalBondMinimum0BalanceOf@I Minimum amount of funds that should be placed in a deposit for making a proposal.,SpendPeriod8T::BlockNumberQ Period between successive spends.BurnPermill' Percentage of spare funds (if any) that are burnt per spend period.ClaimsClaimsClaimsTotal0BalanceOf@claimdest0T::AccountIdHethereum_signature8EcdsaSignature8 Make a claim.(mint_claim who Add a new claim, if you are root.Claimed $AccountId All authorities' keys at the moment.CodeParaIdVec The parachains registered at present.HeadsParaIdVec The heads of the parachains registered at present.(WatermarksParaId8T::BlockNumber The watermark heights of the parachains registered at present.A For every parachain, this is the block height from which all messages targeting] that parachain have been processed. Can be `None` only if the parachain doesn't exist.U Unrouted ingress. Maps (BlockNumber, to_chain) pairs to [(from_chain, egress_root)].M There may be an entry under (i, p) in this map for every i between the parachain's watermark and the current block.HRelayDispatchQueueParaIdHVec Messages ready to be dispatched onto the relay chain. It is subject to `MAX_MESSAGE_COUNT` and `WATERMARK_MESSAGE_SIZE`.XRelayDispatchQueueSizeParaId((u32, u32) E Size of the dispatch queues. Separated from actual data in order to avoid costlyY decoding when checking receipt validity. First item in tuple is the count of messages second if the total length (in bytes) of the message payloads.4NeedsDispatch,Vec The ordered list of ParaIds that have a `RelayDispatchQueue` entry.$DidUpdate,Vece Some if the parachain heads get updated in this block, along with the parachain IDs that5 did update. Ordered in the same way as `registrar::Active` (i.e. by ParaId).d None if not yet updated.$set_headsheadsXVec Provide candidate receipts for parachains, in ascending order by id.0Attestations0Attestations @RecentParaBlocks8T::BlockNumberDIncludedBlocks A mapping from modular block number (n % AttestationPeriod) to session index and the list of candidate hashes.TParaBlockAttestations8T::BlockNumberHashPBlockAttestations Attestations on a recent parachain block.$DidUpdateboolDmore_attestations_more@MoreAttestations Provide candidate receipts for parachains, in ascending order by id.SlotsSlots$8AuctionCounter0AuctionIndex The number of auctions that been started so far.(ManagedIds,VecM Ordered list of all `ParaId` values that are managed by this module. This includes) chains that are not yet deployed (but have won an auction in the future). DepositsParaIdDVec>4] Various amounts on deposit for each parachain. An entry in `ManagedIds` implies a non-P default entry here.e The actual amount locked on its behalf at any time is the maximum item in this list. TheQ first item in the list is the amount locked for the current Lease Period. Following items are for the subsequent lease periods.a The default value (an empty list) implies that the parachain no longer exists (or never existed) as far as this module is concerned.Q 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 zeroes 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.,AuctionInfo(LeasePeriodOf, T::BlockNumber) Information relating to the current auction, if there is one.E The first item in the tuple is the lease period index that the first of the fourQ 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.Winning8T::BlockNumber8WinningData ] The winning bids for each of the 10 ranges at each block in the final Ending Period ofQ the current auction. The map's key is the 0-based index into the Ending Period. The first block of the ending period is 0; the last is `EndingPeriod - 1`.0BalanceOf1 Amounts currently reserved in the accounts of the bidders currently winning8 (sub-)ranges.0OnboardQueue@LeasePeriodOf,Vece The set of Para IDs that have won and need to be on-boarded at an upcoming lease-period. This is cleared out on the first block of the lease period.(OnboardingParaId(LeasePeriodOf, IncomingParachain)M The actual on-boarding information. Only exists when one of the following is true:% - It is before the lease period that the parachain should be on-boarded.Y - The full on-boarding information has not yet been provided and the parachain is notl yet due to be off-boarded.,OffboardingParaId0T::AccountIde Off-boarding account; currency held on deposit for the parachain gets placed here if the9 parachain gets off-boarded; i.e. its lease period is up and it isn't renewed.,new_auction duration\CompactHlease_period_indexdCompact>X Create a new auction.U This can only happen when there isn't already an auction in progress and may only be) called by the root origin. Accepts the `duration` of this auction and the] `lease_period_index` of the initial lease period of the four that are to be auctioned. bid sub8Compact4auction_indexTCompact(first_slotdCompact>$last_slotdCompact>amountTCompact>@M Make a new bid from an account (including a parachain account) for deploying a new, parachain.] Multiple simultaneous bids from the same bidder are allowed only as long as all activeA bids overlap each other (i.e. are mutually exclusive). Bids cannot be redacted.Y - `sub` is the sub-bidder ID, allowing for multiple competing bids to be made by (andt funded by) the same account.Q - `auction_index` is the index of the auction to bid on. Should just be the presentl value of `AuctionCounter`.M - `first_slot` is the first lease period index of the range to bid on. This is the  absolute lease period index value, not an auction-specific offset.E - `last_slot` is the last lease period index of the range to bid on. This is the  absolute lease period index value, not an auction-specific offset.M - `amount` is the amount to bid to be held as deposit for the parachain should the bid win. This amount is held throughout the range.$bid_renew4auction_indexTCompact(first_slotdCompact>$last_slotdCompact>amountTCompact>::Source Set the off-boarding information for a parachain. The origin *must* be a parachain account.! - `dest` is the destination account to receive the parachain's deposit.para_id$code_hashT::HashDinitial_head_dataVec- Set the deploy information for a successful bid to deploy a new parachain. - `origin` must be the successful bidder account. - `sub` is the sub-bidder ID of the bidder. - `para_id` is the parachain ID allotted to the winning bidder. - `code_hash` is the hash of the parachain's Wasm validation function. - `initial_head_data` is the parachain's initial head data.Telaborate_deploy_datapara_idcodeVec0t Note a new parachain's code.M This must be called after `fix_deploy_data` and `code` must be the preimage of the `code_hash` passed there for the same `para_id`.a This may be called before or after the beginning of the parachain's first lease period.E If called before then the parachain will become active at the first block of itse starting lease period. If after, then it will become active immediately after this call.l - `_origin` is irrelevant. - `para_id` is the parachain ID whose code will be elaborated. - `code` is the preimage of the registered `code_hash` of `para_id`.8NewLeasePeriod,LeasePeriod A new lease period is beginning.8AuctionStarted 0AuctionIndex,LeasePeriod,BlockNumberM An auction started. Provides its index and the block number where it will begin to close and the first lease period of the quadruplet that is auctioned.4AuctionClosed0AuctionIndex An auction ended. All funds become unreserved.$WonDeployPNewBidder$SlotRangeParaIdBalanceU Someone won the right to deploy a parachain. Balance amount is deducted for deposit.(WonRenewalParaId$SlotRangeBalanceBalance An existing parachain won the right to continue.A First balance is the extra amount reseved. Second is the total amount reserved. Reserved $AccountIdBalanceBalanceM Funds were reserved for a winning bid. First balance is the extra amount reserved.T Second is the total.(Unreserved$AccountIdBalance Funds were unreserved since bidder is no longer active.$Registrar$Registrar$(Parachains,Vec,ThreadCount u32 The number of threads to schedule per block.>Q An array of the queue of set of threads scheduled for the coming blocks; ordered by1 ascending para ID. There can be no duplicates of para ID in each list item.ActiveVec<(ParaId, Option<(CollatorId, Retriable)>)>] Parathreads/chains scheduled for execution this block. If the collator ID is set, thena a particular collator has already been chosen for the next block, and no other collatorY may provide the block. In this case we allow the possibility of the combination being retried in a later block, expressed by `Retriable`.L Ordered by ParaId.(NextFreeIdParaId= The next unused ParaId value. Start this high in order to keep low numbers forT system-level chains.,PendingSwapParaIdParaIdd Pending swap operations.ParasParaId ParaInfo Map of all registered parathreads/chains.(RetryQueuexVec> The current queue for parathreads that should be retried.DebtorsParaId0T::AccountId Users who have paid a parathread's deposit4register_paraidinfo ParaInfocodeVecDinitial_head_dataVec Register a parachain with given code. Fails if given ID is already used. Deregister a parachain with given id@set_thread_countcount u32A Reset the number of parathreads that can pay to be scheduled in a single block. - `count`: The number of parathreads. Must be called from Root origin.Lregister_parathreadcodeVecDinitial_head_dataVec Register a parathread for immediate use.M Must be sent from a Signed origin that is able to have ParathreadDeposit reserved.9 `code` and `initial_head_data` are used to initialize the parathread's state.Dselect_parathread _id$_collator(CollatorId(_head_hashT::Hash Place a bid for a parathread to be progressed in the next block.A This is a kind of special transaction that should by heavily prioritized in the] transaction pool according to the `value`; only `ThreadCount` of them may be presentedT in any single block.Tderegister_parathread Deregister a parathread and retrieve the deposit.! Must be sent from a `Parachain` origin which is currently a parathread.Y Ensure that before calling this that any funds you want emptied from the parathread'sE account is moved out; after this it will be impossible to retrieve them (withouth governance intervention).swapother e Swap a parachain with another parachain or parathread. The origin must be a `Parachain`.e The swap will happen only if there is already an opposite swap pending. If there is not,] the swap will be stored in the pending swaps map, ready for a later confirmatory swap.a The `ParaId`s remain mapped to the same head data and code so external code can rely onA `ParaId` to be a long-term identifier of a notional "parachain". However, theirY scheduling info (i.e. whether they're a parathread or parachain), auction information and the auction deposit are switched.PParathreadRegisteredParaId A parathread was registered; its new ID is supplied.XParathreadDeregisteredParaId The parathread of the supplied ID was de-registered.SudoSudo Key0T::AccountId The `AccountId` of the sudo key. sudo proposal@Box(9 Authenticates the sudo key and dispatches a function call with `Root` origin. The dispatch origin for this call must be _Signed_., # - O(1).d - Limited storage reads.` - One DB write (event). - Unknown weight of derivative `proposal` execution.0 # set_key new::Source$u Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key. The dispatch origin for this call must be _Signed_., # - O(1).d - Limited storage reads.D - One DB change.0 # sudo_as who::Source proposal@Box,Q Authenticates the sudo key and dispatches a function call with `Signed` origin fromD a given account. The dispatch origin for this call must be _Signed_., # - O(1).d - Limited storage reads.` - One DB write (event). - Unknown weight of derivative `proposal` execution.0 #  Sudidbool` A sudo just took place.(KeyChanged$AccountId The sudoer just switched identity; the old key is supplied.(SudoAsDonebool` A sudo just took place.NicksSudoNameOf0T::AccountId\(Vec, BalanceOf)p The lookup table for names. set_namenameVec@] Set an account's name. The name should be a UTF-8-encoded string by convention, thoughL we don't check it.a The name may not be more than `T::MaxLength` bytes, nor less than `T::MinLength` bytes.] If the account doesn't already have a name, then a fee of `ReservationFee` is reserved@ in the account. The dispatch origin for this call must be _Signed_., # - O(1). - At most one balance operation.h - One storage read/write.4 - One event.0 # (clear_name(Q Clear an account's name and return the deposit. Fails if the account was not named. The dispatch origin for this call must be _Signed_., # - O(1).d - One balance operation.h - One storage read/write.4 - One event.0 # $kill_nametarget::Source4 Remove an account's name and take charge of the deposit.I Fails if `who` has not been named. The deposit is dealt with through `T::Slashed`L imbalance handler.1 The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`., # - O(1). - One unbalanced handler (probably a balance transfer)h - One storage read/write.4 - One event.0 # (force_nametarget::SourcenameVec0 Set a third-party account's name with no deposit. No length checking is done on the name.1 The dispatch origin for this call must be _Root_ or match `T::ForceOrigin`., # - O(1). - At most one balance operation.h - One storage read/write.4 - One event.0 # NameSet$AccountId@ A name was set.(NameForced$AccountIdd A name was forcibly set.,NameChanged$AccountIdP A name was changed.,NameCleared$AccountIdBalance A name was cleared, and the given balance returned.(NameKilled$AccountIdBalance A name was removed and the given balance slashed. 8ReservationFee0BalanceOf@ TD Reservation fee.$MinLength u32 The minimum length a name may be.$MaxLength u32 The maximum length a name may be.