meta SystemSystem@Account0T::AccountIdAccountInfoA The full account information for a particular account ID.8ExtrinsicCount u32 Total extrinsics count for the current block.,BlockWeight8ConsumedWeight` The current weight for the 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.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.,EventTopicsT::HashVec<(T::BlockNumber, EventIndex)>(% Mapping between a topic (represented by T::Hash) and a vector of indexes of events in the `>` list.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.HLastRuntimeUpgradeXLastRuntimeUpgradeInfoU Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.TUpgradedToU32RefCountboolM True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.`UpgradedToTripleRefCountbool] True if we have upgraded so that AccountInfo contains three types of `RefCount`. FalseH (default) if not.8ExecutionPhasePhase The execution phase of the block.((fill_block_ratioPerbill  A dispatch that will fill the block weight up to the given ratio.remark_remarkVecl Make some on-chain remark., # $ - `O(1)`0 # 8set_heap_pagespages u64 Set the number of pages in the WebAssembly environment's heap., # $ - `O(1)`L - 1 storage write.d - Base Weight: 1.405 µs` - 1 write to HEAP_PAGES0 # set_codecodeVec(h Set the new runtime code., # 5 - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` - 1 storage write (codec `O(C)`).y - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive)., - 1 event.} The weight of this function is dependent on the runtime, but generally this is very expensive. We will treat this as a full block.0 # \set_code_without_checkscodeVec  Set the new runtime code without doing any checks of the given `code`., # - `O(C)` where `C` length of `code` - 1 storage write (codec `O(C)`)., - 1 event.u The weight of this function is dependent on the runtime. We will treat this as a full block.0 # \set_changes_trie_configLchanges_trie_configOption( Set the new changes trie configuration., # $ - `O(1)` - 1 storage write or delete (codec `O(1)`). - 1 call to `deposit_log`: Uses `append` API, so O(1)d - Base Weight: 7.218 µs4 - DB Weight: - Writes: Changes Trie, System Digest0 # ,set_storageitems4Vec l Set some items of storage., # - `O(I)` where `I` length of `items`| - `I` storage writes (`O(1)`).t - Base Weight: 0.568 * i µsh - Writes: Number of items0 # 0kill_storagekeys Vec x Kill some items from storage., # - `O(IK)` where `I` length of `keys` and `K` length of one keyd - `I` storage deletions.p - Base Weight: .378 * i µsh - Writes: Number of items0 # ,kill_prefixprefix Key _subkeys u32, Kill all storage items with a key that starts with the given prefix.= **NOTE:** We rely on the Root origin to provide us the number of subkeys underA the prefix we are removing to accurately calculate the weight of this function., # - `O(P)` where `P` amount of keys with prefix `prefix`d - `P` storage deletions.t - Base Weight: 0.834 * P µs - Writes: Number of subkeys + 10 # Dremark_with_eventremarkVec Make some on-chain remark and emit event., # - `O(b)` where b is the length of the remark., - 1 event.0 # @ExtrinsicSuccess0DispatchInfo An extrinsic completed successfully. \[info\]]@Ys JRjt@Ys Block & extrinsics weights: base values and limits.,BlockLengthLlimits::BlockLength0<PP The maximum length of a block (in bytes).8BlockHashCount8T::BlockNumber` U Maximum number of block number to block hash mappings to keep (oldest pruned first). DbWeightm=IT XŬ^%#hzJ<r)O[?7ȻP Get the chain's current version.(SS58Prefixu8 The designated SS85 prefix of this chain.9 This replaces the "ss58Format" property declared in the chain spec. Reason is1 that the runtime should know about the prefix in order to make use of it asp an identifier of the chain. 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.,GenesisSlotSlot  The slot at which the first epoch actually started. This is 0 until the first block of the chain.,CurrentSlotSlot T Current slot number.(RandomnessXschnorrkel::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.`PendingEpochConfigChangePNextConfigDescriptora Pending epoch configuration change that will be applied when the next epoch is enacted.8NextRandomnessXschnorrkel::Randomness\ Next epoch randomness.` Next epoch authorities.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 u32lVec TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay.,Initialized5 - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`) - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`) - 1 event handler `on_timestamp_set`. Must be `O(1)`.0 # 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 Accounts, bool) The lookup from index to account.claimindex( - `O(1)`. - One storage mutation (codec `O(1)`).d - One reserve operation.4 - One event.P ------------------- - DB Weight: 1 Read/Write (Accounts)0 # transfer new0T::AccountIdindex( - `O(1)`. - One storage mutation (codec `O(1)`).h - One transfer operation.4 - One event.P -------------------4 - DB Weight: - Reads: Indices Accounts, System Account (recipient) - Writes: Indices Accounts, System Account (recipient)0 # freeindex( - `O(1)`. - One storage mutation (codec `O(1)`).d - One reserve operation.4 - One event.P ------------------- - DB Weight: 1 Read/Write (Accounts)0 # 8force_transfer new0T::AccountIdindex( - `O(1)`. - One storage mutation (codec `O(1)`).| - Up to one reserve operation.4 - One event.P -------------------4 - DB Weight: - Reads: Indices Accounts, System Account (original owner) - Writes: Indices Accounts, System Account (original owner)0 # freezeindex( - `O(1)`. - One storage mutation (codec `O(1)`).t - Up to one slash operation.4 - One event.P ------------------- - DB Weight: 1 Read/Write (Accounts)0 #  4IndexAssigned$AccountId0AccountIndex A account index was assigned. \[index, who\](IndexFreed0AccountIndex A account index has been freed up (unassigned). \[index\],IndexFrozen0AccountIndex$AccountId) A account index has been frozen to its current account ID. \[index, who\]Deposit0BalanceOf@4 The deposit needed for reserving an index.,NotAssigned The index was not already assigned. NotOwner The index is assigned to another account.InUset The index was not available.,NotTransfer The source and destination accounts are identical.$Permanent The index is permanent and may not be freed/changed. Balances Balances4TotalIssuance(T::Balance@ The total units issued in the system.Account0T::AccountId\AccountData l The balance of an account.A NOTE: This is only used in the case that this pallet is used to store balances.Locks0T::AccountIdpVec> Any liquidity locks on some account balances.% NOTE: Should only be accessed when setting, changing and freeing a lock.8StorageVersion Releases | Storage version of the pallet. This is set to v2.0.0 for new networks. transferdest::SourcevalueLCompactl 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.a - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.I - `transfer_keep_alive` works the same way as `transfer`, but has an additional check that the transfer will not kill the origin account. ---------------------------------E - Base Weight: 73.64 µs, worst case scenario (account created, account removed) - DB Weight: 1 Read and 1 Write to destination account - Origin account is already in memory, so no DB operations for them.0 # ,set_balance who::Source new_freeLCompact0new_reservedLCompactH 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 (`frame_system::AccountNonce`). The dispatch origin for this call is `root`., # - Independent of the arguments. - Contains a limited number of reads and writes.X ---------------------< - Base Weight:h - Creating: 27.56 µsd - Killing: 35.11 µs - DB Weight: 1 Read, 1 Write to `who`0 # 8force_transfer source::Sourcedest::SourcevalueLCompactQ Exactly as `transfer`, except the origin must be root and the source account may be, specified., # A - Same as transfer, but additional read and write because the source account is not assumed to be in the overlay.0 # Ltransfer_keep_alivedest::SourcevalueLCompact,Q 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.Pallet.html#method.transfer, # - Cheaper than transfer because account cannot be killed.` - Base Weight: 51.4 µs - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already), # Endowed$AccountIdBalance% An account was created with some free balance. \[account, free_balance\] DustLost$AccountIdBalanceA An account was removed whose balance was non-zero but below ExistentialDeposit, resulting in an outright loss. \[account, balance\] Transfer $AccountId$AccountIdBalance Transfer succeeded. \[from, to, value\](BalanceSet $AccountIdBalanceBalance A balance was set by root. \[who, free, reserved\]Deposit$AccountIdBalance! Some amount was deposited (e.g. for transaction fees). \[who, deposit\] Reserved$AccountIdBalance! Some balance was reserved (moved from free to reserved). \[who, value\](Unreserved$AccountIdBalance) Some balance was unreserved (moved from reserved to free). \[who, value\]HReserveRepatriated$AccountId$AccountIdBalanceStatus Q Some balance was moved from the reserve of the first account to the second account. Final argument indicates the destination balance type. \[from, to, balance, destination_status\]HExistentialDeposit(T::Balance@U The minimum amount required to keep an account open.8VestingBalance Vesting balance too high to send valueTLiquidityRestrictions Account liquidity restrictions prevent withdrawalLInsufficientBalancex Balance too low to send valueHExistentialDeposit Value too low to create account due to existential deposit$KeepAlive Transfer/payment would kill account\ExistingVestingSchedule A vesting schedule already exists for this account,DeadAccount Beneficiary account must pre-existHTransactionPaymentHTransactionPaymentDNextFeeMultiplier(Multiplier@d 8StorageVersion ReleasesHTransactionByteFee0BalanceOf@  The fee to be paid for making a transaction; the per-byte portion.,WeightToFeeVec>>\  The polynomial that is applied in order to derive fee from weight.!(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.HInvalidUncleParent The uncle parent not in the chain.@UnclesAlreadySet Uncles already set in the block.4TooManyUnclesD Too many uncles.0GenesisUncleX The uncle is genesis.0TooHighUncle The uncle is too high in chain.PUncleAlreadyIncluded| The uncle is already included. OldUncle The uncle isn't recent enough to be included.StakingStakingx0HistoryDepth u32T Number of eras to keep in history.9 Information is kept for eras in `[current_era - history_depth; current_era]`.a Must be more than the number of eras delayed by session otherwise. I.e. active era must9 always be in history. I.e. `active_era > current_era - history_depth` must be0 guaranteed.8ValidatorCount 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::AccountId|RewardDestination 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.(CurrentEra EraIndex\ The current era index.e This is the latest planned era, depending on how the Session pallet queues the validator set, it might be active or not.$ActiveEra4ActiveEraInfo The active era information, it holds index and start.Y The active era is the era being currently rewarded. Validator set of this era must be equal to [`SessionInterface::validators`].TErasStartSessionIndex EraIndex0SessionIndex1 The session index at which the era start for the last `HISTORY_DEPTH` eras.a Note: This tracks the starting session (i.e. session index when era start being active) for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`.,ErasStakers EraIndex0T::AccountIdExposure> x Exposure of validator at era.a This is keyed first by the era index to allow bulk deletion and then the stash account. Is it removed after `HISTORY_DEPTH` eras.A If stakers hasn't been set or has been removed then empty exposure is returned.HErasStakersClipped EraIndex0T::AccountIdExposure> , Clipped Exposure of validator at era.Y 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.A If stakers hasn't been set or has been removed then empty exposure is returned.HErasValidatorPrefs EraIndex0T::AccountId8ValidatorPrefs Similar to `ErasStakers`, this holds the preferences of validators.a This is keyed first by the era index to allow bulk deletion and then the stash account. Is it removed after `HISTORY_DEPTH` eras.LErasValidatorReward EraIndex0BalanceOf  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.@ErasRewardPoints EraIndextEraRewardPoints Rewards for the last `HISTORY_DEPTH` eras.% If reward hasn't been set or has been removed then 0 reward is returned.8ErasTotalStake EraIndex0BalanceOf@ 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. ForceEraForcingT Mode of era forcing.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. Must contains information for eras for the range: `[active_era - bounding_duration; active_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.TCurrentPlannedSession0SessionIndex The last planned session scheduled by the session pallet.1 This is basically in sync with the call to [`SessionManager::new_session`].8StorageVersion Releases True if network has been upgraded to this version.| Storage version of the pallet. This is set to v6.0.0 for new networks.\bond (controller::SourcevalueTCompact>payee|RewardDestinationXe Take the origin account as a stash and lock up `value` of its balance. `controller` will be the account that controls it.1 `value` must be more than the `minimum_balance` specified by `T::Currency`.% The dispatch origin for this call must be _Signed_ by the stash account.@ Emits `Bonded`., # - Independent of the arguments. Moderate complexity. - O(1).h - Three extra DB entries.Q NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleanedA unless the `origin` falls below _existential deposit_ and gets removed as dust.L ------------------4 Weight: O(1), DB Weight:1 - Read: Bonded, Ledger, [Origin Account], Current Era, History Depth, Locks - Write: Bonded, Payee, [Origin Account], Locks, Ledger0 # (bond_extra8max_additionalTCompact>Te 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.a The dispatch origin for this call must be _Signed_ by the stash, not the controller and it can be only called when [`EraElectionStatus`] is `Closed`.@ Emits `Bonded`., # - Independent of the arguments. Insignificant complexity. - O(1).@ - One DB entry.4 ------------, DB Weight: - Read: Era Election Status, Bonded, Ledger, [Origin Account], Locks - Write: [Origin Account], Locks, Ledger0 # 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.  And, it can be only called when [`EraElectionStatus`] is `Closed`.H Emits `Unbonded`. 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.Q The only way to clean the aforementioned storage item is also user-controlled via\ `withdraw_unbonded`.@ - One DB entry., ----------4 Weight: O(1), DB Weight: - Read: EraElectionStatus, Ledger, CurrentEra, Locks, BalanceOf Stash, - Write: Locks, Ledger, BalanceOf Stash,( Dwithdraw_unbondedHnum_slashing_spans u32|- 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.  And, it can be only called when [`EraElectionStatus`] is `Closed`.L Emits `Withdrawn`.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.@ ---------------  Complexity O(S) where S is the number of slashing spans to remove Update:% - Reads: EraElectionStatus, Ledger, Current Era, Locks, [Origin Account] - Writes: [Origin Account], Locks, Ledger Kill:E - Reads: EraElectionStatus, Ledger, Current Era, Bonded, Slashing Spans, [Origin Account], Locks, BalanceOf stashQ - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, [Origin Account], Locks, BalanceOf stash.t - Writes Each: SpanSlash * S  NOTE: Weight annotation is the kill scenario, we refund otherwise.0 # validateprefs8ValidatorPrefsD 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.  And, it can be only called when [`EraElectionStatus`] is `Closed`., # - Independent of the arguments. Insignificant complexity. - Contains a limited number of reads. - Writes are limited to the `origin` account key.0 -----------4 Weight: O(1), DB Weight: - Read: Era Election Status, Ledger - Write: Nominators, Validators0 # nominatetargetsVec<::Source>L Declare the desire to nominate `targets` for the origin controller.Q Effects will be felt at the beginning of the next era. This can only be called when [`EraElectionStatus`] is `Closed`.U The dispatch origin for this call must be _Signed_ by the controller, not the stash.  And, it can be only called when [`EraElectionStatus`] is `Closed`., # 1 - The transaction's complexity is proportional to the size of `targets` (N) which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS). - Both the reads and writes follow a similar pattern.( ---------4 Weight: O(N) where N is the number of targets, DB Weight: - Reads: Era Election Status, Ledger, Current Era - Writes: Validators, Nominators0 # chillD 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.  And, it can be only called when [`EraElectionStatus`] is `Closed`., # - Independent of the arguments. Insignificant complexity.T - Contains one read. - Writes are limited to the `origin` account key.$ --------4 Weight: O(1), DB Weight: - Read: EraElectionStatus, Ledger - Write: Validators, Nominators0 # $set_payeepayee|RewardDestination@ (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.( ---------< - Weight: O(1)4 - DB Weight:L - Read: LedgerL - Write: Payee0 # 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., ----------4 Weight: O(1), DB Weight: - Read: Bonded, Ledger New Controller, Ledger Old Controller - Write: Bonded, Ledger New Controller, Ledger Old Controller0 # Lset_validator_count new0Compact Sets the ideal number of validators. The dispatch origin must be Root., # 4 Weight: O(1)\ Write: Validator Count0 # `increase_validator_count(additional0Compact Increments the ideal number of validators. The dispatch origin must be Root., # Same as [`set_validator_count`].0 # Tscale_validator_countfactorPercent Scale up the ideal number of validators by a factor. The dispatch origin must be Root., # Same as [`set_validator_count`].0 # 4force_no_eras$ Force there to be no new eras indefinitely. The dispatch origin must be Root., # @ - No arguments.< - Weight: O(1)H - Write: ForceEra0 # 4force_new_era(M 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. The dispatch origin must be Root., # @ - No arguments.< - Weight: O(1)D - Write ForceEra0 # Dset_invulnerables4invulnerablesDVec Set the validators who cannot be slashed (if any). The dispatch origin must be Root., #  - O(V)\ - Write: Invulnerables0 # 4force_unstakestash0T::AccountIdHnum_slashing_spans u32(  Force a current staker to become completely unstaked, immediately. The dispatch origin must be Root., # O(S) where S is the number of slashing spans to be removed Reads: Bonded, Slashing Spans, Account, Locks Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locksl Writes Each: SpanSlash * S0 # Pforce_new_era_always  Force there to be a new era at the end of sessions indefinitely. The dispatch origin must be Root., # < - Weight: O(1)H - Write: ForceEra0 # Tcancel_deferred_slash era EraIndex4slash_indices Vec4 Cancel enactment of a deferred slash. Can be called by the `T::SlashCancelOrigin`. Parameters: era and indices of the slashes for that era to kill., # T Complexity: O(U + S) with U unapplied slashes weighted with U=1000 and S is the number of slash indices to be canceled.h - Read: Unapplied Slashesl - Write: Unapplied Slashes0 # 8payout_stakers - Time complexity: at most O(MaxNominatorRewardedPerValidator). - Contains a limited number of reads and writes.0 ----------- N is the Number of payouts for the validator (including the validator) Weight: - Reward Destination Staked: O(N) - Reward Destination Controller (Creating): O(N), DB Weight:) - Read: EraElectionStatus, CurrentEra, HistoryDepth, ErasValidatorReward,- ErasStakersClipped, ErasRewardPoints, ErasValidatorPrefs (8 items) - Read Each: Bonded, Ledger, Payee, Locks, System Account (5 items) - Write Each: System Account, Locks, Ledger (3 items)Q NOTE: weights are assuming that payouts are made to alive stash account (Staked).Y Paying even a dead controller is cheaper weight-wise. We don't do any refunds here.0 # rebondvalueTCompact>8 Rebond a portion of the stash scheduled to be unlocked.U The dispatch origin must be signed by the controller, and it can be only called when [`EraElectionStatus`] is `Closed`., # - Time complexity: O(L), where L is unlocking chunks - Bounded by `MAX_UNLOCKING_CHUNKS`. - Storage changes: Can't increase storage, only decrease it.@ ---------------4 - DB Weight: - Reads: EraElectionStatus, Ledger, Locks, [Origin Account] - Writes: [Origin Account], Locks, Ledger0 # Dset_history_depthDnew_history_depthDCompactH_era_items_deleted0CompactT1 Set `HistoryDepth` value. This function will delete any history information when `HistoryDepth` is reduced.0 Parameters: - `new_history_depth`: The new history depth you would like to set.I - `era_items_deleted`: The number of items that will be deleted by this dispatch.E This should report all the storage items that will be deleted by clearing oldE era history. Needed to report an accurate weight for the dispatch. Trusted by `Root` to report an accurate number.T Origin must be root., # - E: Number of history depths removed, i.e. 10 -> 7 = 3< - Weight: O(E)4 - DB Weight: - Reads: Current Era, History Depthp - Writes: History Depth1 - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex0 # (reap_stashstash0T::AccountIdHnum_slashing_spans u32% Complexity: O(S) where S is the number of slashing spans on the account., DB Weight: - Reads: Stash Account, Bonded, Slashing Spans, Locks - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Lockst - Writes Each: SpanSlash * S0 # kick whoVec<::Source>4 Remove the given nominations from the calling validator. 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.I And, it can be only called when [`EraElectionStatus`] is `Closed`. The controller account should represent a validator.Q - `who`: A list of nominator stash accounts who are nominating this validator which should no longer be nominating this validator.Y Note: Making this call only makes sense if you first set the validator preferences to| block any further nominations.$$EraPayout EraIndexBalanceBalance Y The era payout has been set; the first balance is the validator-payout; the second is the remainder from the maximum amount of reward. \[era_index, validator_payout, remainder\]Reward$AccountIdBalance The staker has been rewarded by this amount. \[stash, amount\]Slash$AccountIdBalance% One validator (and its nominators) has been slashed by the given amount.X \[validator, amount\]hOldSlashingReportDiscarded0SessionIndex An old slashing report from a prior era was discarded because it could not be processed. \[session_index\]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.OffenceKind8OpaqueTimeSlot U 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.P \[kind, timeslot\].(Historical"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. NextKeys8T::ValidatorIdT::Keys The next session keys for a validator. KeyOwnerP(KeyTypeId, Vec)8T::ValidatorId  The owner of a key. The key is the `KeyTypeId` + the encoded key. set_keyskeysT::KeysproofVec8 Sets the session key(s) of the function caller to `keys`.! 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., # T - Complexity: `O(1)`Y Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys` - DbWrites: `origin account`, `NextKeys` - DbReads per key id: `KeyOwner` - DbWrites per key id: `KeyOwner`0 # (purge_keys0 Removes any session key(s) of the function caller. This doesn't take effect until the next session. The dispatch origin of this function must be signed., # - Complexity: `O(1)` in number of key types.Y Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account` - DbWrites: `NextKeys`, `origin account` - DbWrites per key id: `KeyOwnder`0 # (NewSession0SessionIndexe New session has happened. Note that the argument is the \[session_index\], not the block number as the type might suggest.0InvalidProofd Invalid ownership proof.\NoAssociatedValidatorId No associated validator ID for account.4DuplicatedKeyh Registered duplicate key.NoKeys No keys are associated with this account.$NoAccount Key setting account is not live, so it's impossible to associate keys.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.0SetIdSessionSetId0SessionIndexY A mapping from grandpa set ID to the index of the *most recent* session for which itsh members were responsible. TWOX-NOTE: `SetId` is not under user control. Lreport_equivocationHequivocation_proofEquivocationProof 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`.8AuthoredBlocks0SessionIndex8ValidatorId u32 For each session index, we keep a mapping of `ValidatorId` to the number of blocks authored by the given authority.$heartbeat$heartbeatdHeartbeat(_signature::Signature$, # A - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is length of `heartbeat.network_state.external_address` - `O(K)`: decoding of length `K` - `O(E)`: decoding/encoding of length `E`= - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,\ `ReceivedHeartbeats` - DbWrites: `ReceivedHeartbeats`0 #  DHeartbeatReceived,AuthorityId A new heartbeat was received from `AuthorityId` \[authority_id\]AllGood At the end of the session, no offence was committed.,SomeOffline`Vec= At the end of the session, at least one validator was found to be \[offline\].(InvalidKeyd Non existent public key.LDuplicatedHeartbeatX Duplicated heartbeat. HAuthorityDiscovery $Democracy$Democracy8! The public proposals. Unsorted. The second item is the proposal's hash.$DepositOf$PropIndex(Vec, BalanceOf) Those who have locked a deposit. TWOX-NOTE: Safe, as increasing integer keys are safe.$PreimagesT::HashPreimageStatus, T::BlockNumber>a 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.> Information concerning any given referendum.  TWOX-NOTE: SAFE as indexes are not under an attacker’s control. VotingOf0T::AccountIdVoting, T::AccountId, T::BlockNumber>] 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.Locks0T::AccountId8T::BlockNumber] Accounts for which there are locks in action which may be removed at some point in theQ future. The value is the block number at which the lock expires and may be removed. TWOX-NOTE: OK ― `AccountId` is a secure hash.TLastTabledWasExternalboolY True if the last referendum tabled was submitted externally. False if it was a public( proposal.0NextExternal`(T::Hash, 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.8StorageVersion Releases | Storage version of the pallet. New networks start with last version.dpropose4proposal_hashT::HashvalueTCompact>, Propose a sensitive action to be taken. The dispatch origin of this call must be _Signed_ and the sender must have funds to cover the deposit. - `proposal_hash`: The hash of the proposal preimage. - `value`: The amount of deposit (must be at least `MinimumDeposit`).H Emits `Proposed`.< Weight: `O(p)`second proposalHCompactLseconds_upper_bound0Compact( Signals agreement with a particular proposal. The dispatch origin of this call must be _Signed_ and the sender must have funds to cover the deposit, equal to the original deposit. - `proposal`: The index of the proposal to second.E - `seconds_upper_bound`: an upper bound on the current number of seconds on this) proposal. Extrinsic is weighted according to this value with no refund.! Weight: `O(S)` where S is the number of seconds a proposal already has.vote$ref_index`CompactvotedAccountVote>$5 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. The dispatch origin of this call must be _Signed_. - `ref_index`: The index of the referendum to vote for. - `vote`: The vote configuration.1 Weight: `O(R)` where R is the number of referendums the voter has voted on.@emergency_cancel$ref_indexT Remove a referendum. The dispatch origin of this call must be _Root_. - `ref_index`: The index of the referendum to cancel.H # Weight: `O(1)`.4cancel_queuedwhichP= Delegate the voting power (with some given conviction) of the sending account.Y The balance delegated is locked for as long as it's delegated, and thereafter for the time appropriate for the conviction's lock period.a The dispatch origin of this call must be _Signed_, and the signing account must either:x - be delegating already; or] - have no voting activity (if there is, then it will need to be removed/consolidated through `reap_vote` or `unvote`).I - `to`: The account whose voting the `target` account's voting power will follow.Y - `conviction`: The conviction that will be attached to the delegated votes. When theE account is undelegated, the funds will be locked for the corresponding period.U - `balance`: The amount of the account's balance to be used in delegating. This must not be more than the account's current balance.L Emits `Delegated`.A Weight: `O(R)` where R is the number of referendums the voter delegating to has voted on. Weight is charged as if maximum votes.(undelegate0 Undelegate the voting power of the sending account.a Tokens may be unlocked following once an amount of time consistent with the lock period of the conviction with which the delegation was issued.I The dispatch origin of this call must be _Signed_ and the signing account must beX currently delegating.T Emits `Undelegated`.A Weight: `O(R)` where R is the number of referendums the voter delegating to has voted on. Weight is charged as if maximum votes.Xclear_public_proposalst Clears all public proposals. The dispatch origin of this call must be _Root_.@ Weight: `O(1)`.4note_preimage@encoded_proposalVec(a Register the preimage for an upcoming proposal. This doesn't require the proposal to be% in the dispatch queue but does require a deposit, returned once enacted. The dispatch origin of this call must be _Signed_. - `encoded_proposal`: The preimage of a proposal.\ Emits `PreimageNoted`.Q Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).dnote_preimage_operational@encoded_proposalVec  Same as `note_preimage` but origin is `OperationalPreimageOrigin`.Xnote_imminent_preimage@encoded_proposalVec0E Register the preimage for an upcoming proposal. This requires the proposal to beA in the dispatch queue. No deposit is needed. When this call is successful, i.e.9 the preimage has not been uploaded before and matches some imminent proposal,@ no fee is paid. The dispatch origin of this call must be _Signed_. - `encoded_proposal`: The preimage of a proposal.\ Emits `PreimageNoted`.Q Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit).note_imminent_preimage_operational@encoded_proposalVec1 Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`.4reap_preimage4proposal_hashT::Hash`proposal_len_upper_bound0Compact< Remove an expired proposal preimage and collect the deposit. The dispatch origin of this call must be _Signed_. - `proposal_hash`: The preimage hash of a proposal.- - `proposal_length_upper_bound`: an upper bound on length of the proposal. Extrinsic is weighted according to this value with no refund.Q This will only work after `VotingPeriod` blocks from the time that the preimage was] noted, if it's the same account doing it. If it's a different account, then it'll only work an additional `EnactmentPeriod` later.` Emits `PreimageReaped`. Weight: `O(D)` where D is length of proposal.unlocktarget0T::AccountId Unlock tokens that have an expired lock. The dispatch origin of this call must be _Signed_. - `target`: The account to remove the lock on. Weight: `O(R)` with R number of vote of target.,remove_voteindexL Remove a proposal. The dispatch origin of this call must be `CancelProposalOrigin`. - `prop_index`: The index of the proposal to cancel. Weight: `O(p)` where `p = PublicProps::::decode_len()`H Proposed$PropIndexBalance1 A motion has been proposed by a public account. \[proposal_index, deposit\]Tabled $PropIndexBalance8Vec} A public proposal has been tabled for referendum vote. \[proposal_index, deposit, depositors\]8ExternalTabled An external proposal has been tabled.Started@45 The minimum amount to be used as a deposit for a public referendum proposal.TFastTrackVotingPeriod8T::BlockNumber 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.LPreimageByteDeposit0BalanceOf@) The amount of balance that must be deposited per byte of preimage stored. MaxVotes u32d The maximum number of votes for an account. ValueLow8 Value too low The hashes of the active proposals.(ProposalOfT::Hashh>::Proposal Actual proposal for a given hash, if it's current.VotingT::HashVotes 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).Prime0T::AccountIde The prime member that helps determine the default vote behavior in case of absentations.,set_members ,new_membersDVecprimePOption$old_count,MemberCount` Set the collective's membership.I - `new_members`: The new member list. Be nice to the chain and provide it sorted. - `prime`: The prime member whose vote sets the default.9 - `old_count`: The upper bound for the previous number of members in storage. Used for weight estimation.X Requires root origin.U NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but% the weight estimations rely on it to estimate dispatchable weight., # ( ## WeightT - `O(MP + N)` where: - `M` old-members-count (code- and governance-bounded) - `N` new-members-count (code- and governance-bounded) - `P` proposals-count (code-bounded) - DB:u - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members - 1 storage read (codec `O(P)`) for reading the proposalsI - `P` storage mutations (codec `O(M)`) for updating the votes for each proposala - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one0 # execute proposal|Box<>::Proposal>0length_bound0Compact( Dispatch a proposal from a member using the `Member` origin. Origin must be a member of the collective., # ( ## Weight - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` - DB: 1 read (codec `O(M)`) + DB access of `proposal`( - 1 event0 # propose $thresholdPCompact proposal|Box<>::Proposal>0length_bound0Compactl Add a new proposal to either be voted on or executed directly. Requires the sender to be member.E `threshold` determines whether `proposal` is executed directly (`threshold < 2`)X or put up for voting., # ( ## Weight - `O(B + M + P1)` or `O(B + M + P2)` where: - `B` is `proposal` size in bytes (length-fee-bounded) - `M` is members-count (code- and governance-bounded) - branching is influenced by `threshold` where: - `P1` is proposal execution complexity (`threshold < 2`) - `P2` is proposals-count (code-bounded) (`threshold >= 2`) - DB: - 1 storage read `is_member` (codec `O(M)`) - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) - DB accesses influenced by `threshold`:  - EITHER storage accesses done by `proposal` (`threshold < 2`) - OR proposal insertion (`threshold <= 2`) - 1 storage mutation `Proposals` (codec `O(P2)`) - 1 storage mutation `ProposalCount` (codec `O(1)`) - 1 storage write `ProposalOf` (codec `O(B)`) - 1 storage write `Voting` (codec `O(M)`)0 - 1 event0 # vote proposalT::HashindexXCompactapprovebool8 Add an aye or nay vote for the sender to the given proposal. Requires the sender to be a member.M Transaction fees will be waived if the member is voting on any particular proposali for the first time and the call is successful. Subsequent vote changes will charge a fee., # ( ## Weight  - `O(M)` where `M` is members-count (code- and governance-bounded) - DB: - 1 storage read `Members` (codec `O(M)`) - 1 storage mutation `Voting` (codec `O(M)`)( - 1 event0 # close4proposal_hashT::HashindexXCompactTproposal_weight_bound0length_bound0CompactxQ Close a vote that is either approved, disapproved or whose voting period has ended.Y May be called by any signed account in order to finish voting and close the proposal.M If called before the end of the voting period it will only close the vote if it is has enough votes to be approved or disapproved.M If called after the end of the voting period abstentions are counted as rejections) unless there is a prime member set and the prime member cast an approval.e If the close operation completes successfully with disapproval, the transaction fee willa be waived. Otherwise execution of the approved operation will be charged to the caller. + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.e + `length_bound`: The upper bound for the length of the proposal in storage. Checked via `storage::read` so it is `size_of::() == 4` larger than the pure length., # ( ## Weightx - `O(B + M + P1 + P2)` where: - `B` is `proposal` size in bytes (length-fee-bounded) - `M` is members-count (code- and governance-bounded) - `P1` is the complexity of `proposal` preimage. - `P2` is proposal-count (code-bounded) - DB: - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`) - any mutations done while executing `proposal` (`P1`)D - up to 3 events0 # Ldisapprove_proposal4proposal_hashT::Hash4y Disapprove a proposal, close, and remove it from the system, regardless of its current state. Must be called by the Root origin.0 Parameters:! * `proposal_hash`: The hash of the proposal that should be disapproved., # Complexity: O(P) where P is the number of max proposals, DB Weight:L * Reads: Proposals * Writes: Voting, Proposals, ProposalOf0 #  Proposed$AccountId4ProposalIndexHash,MemberCount M A motion (given hash) has been proposed (by given account) with a threshold (given@ `MemberCount`). \[account, proposal_index, proposal_hash, threshold\]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`). \[account, proposal_hash, voted, yes, no\] ApprovedHash A motion was approved by the required threshold.H \[proposal_hash\],DisapprovedHash A motion was not approved by the required threshold.H \[proposal_hash\] ExecutedHash8DispatchResult% A motion was executed; result will be `Ok` if it returned without error.h \[proposal_hash, result\]8MemberExecutedHash8DispatchResultM A single member did some action; result will be `Ok` if it returned without error.h \[proposal_hash, result\]Closed Hash,MemberCount,MemberCountY A proposal was closed because its threshold was reached or after its duration was up.l \[proposal_hash, yes, no\]($NotMember` Account is not a memberDDuplicateProposal Duplicate proposals not allowed The hashes of the active proposals.(ProposalOfT::Hashh>::Proposal Actual proposal for a given hash, if it's current.VotingT::HashVotes 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).Prime0T::AccountIde The prime member that helps determine the default vote behavior in case of absentations.,set_members ,new_membersDVecprimePOption$old_count,MemberCount` Set the collective's membership.I - `new_members`: The new member list. Be nice to the chain and provide it sorted. - `prime`: The prime member whose vote sets the default.9 - `old_count`: The upper bound for the previous number of members in storage. Used for weight estimation.X Requires root origin.U NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but% the weight estimations rely on it to estimate dispatchable weight., # ( ## WeightT - `O(MP + N)` where: - `M` old-members-count (code- and governance-bounded) - `N` new-members-count (code- and governance-bounded) - `P` proposals-count (code-bounded) - DB:u - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members - 1 storage read (codec `O(P)`) for reading the proposalsI - `P` storage mutations (codec `O(M)`) for updating the votes for each proposala - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one0 # execute proposal|Box<>::Proposal>0length_bound0Compact( Dispatch a proposal from a member using the `Member` origin. Origin must be a member of the collective., # ( ## Weight - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` - DB: 1 read (codec `O(M)`) + DB access of `proposal`( - 1 event0 # propose $thresholdPCompact proposal|Box<>::Proposal>0length_bound0Compactl Add a new proposal to either be voted on or executed directly. Requires the sender to be member.E `threshold` determines whether `proposal` is executed directly (`threshold < 2`)X or put up for voting., # ( ## Weight - `O(B + M + P1)` or `O(B + M + P2)` where: - `B` is `proposal` size in bytes (length-fee-bounded) - `M` is members-count (code- and governance-bounded) - branching is influenced by `threshold` where: - `P1` is proposal execution complexity (`threshold < 2`) - `P2` is proposals-count (code-bounded) (`threshold >= 2`) - DB: - 1 storage read `is_member` (codec `O(M)`) - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) - DB accesses influenced by `threshold`:  - EITHER storage accesses done by `proposal` (`threshold < 2`) - OR proposal insertion (`threshold <= 2`) - 1 storage mutation `Proposals` (codec `O(P2)`) - 1 storage mutation `ProposalCount` (codec `O(1)`) - 1 storage write `ProposalOf` (codec `O(B)`) - 1 storage write `Voting` (codec `O(M)`)0 - 1 event0 # vote proposalT::HashindexXCompactapprovebool8 Add an aye or nay vote for the sender to the given proposal. Requires the sender to be a member.M Transaction fees will be waived if the member is voting on any particular proposali for the first time and the call is successful. Subsequent vote changes will charge a fee., # ( ## Weight  - `O(M)` where `M` is members-count (code- and governance-bounded) - DB: - 1 storage read `Members` (codec `O(M)`) - 1 storage mutation `Voting` (codec `O(M)`)( - 1 event0 # close4proposal_hashT::HashindexXCompactTproposal_weight_bound0length_bound0CompactxQ Close a vote that is either approved, disapproved or whose voting period has ended.Y May be called by any signed account in order to finish voting and close the proposal.M If called before the end of the voting period it will only close the vote if it is has enough votes to be approved or disapproved.M If called after the end of the voting period abstentions are counted as rejections) unless there is a prime member set and the prime member cast an approval.e If the close operation completes successfully with disapproval, the transaction fee willa be waived. Otherwise execution of the approved operation will be charged to the caller. + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.e + `length_bound`: The upper bound for the length of the proposal in storage. Checked via `storage::read` so it is `size_of::() == 4` larger than the pure length., # ( ## Weightx - `O(B + M + P1 + P2)` where: - `B` is `proposal` size in bytes (length-fee-bounded) - `M` is members-count (code- and governance-bounded) - `P1` is the complexity of `proposal` preimage. - `P2` is proposal-count (code-bounded) - DB: - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`) - any mutations done while executing `proposal` (`P1`)D - up to 3 events0 # Ldisapprove_proposal4proposal_hashT::Hash4y Disapprove a proposal, close, and remove it from the system, regardless of its current state. Must be called by the Root origin.0 Parameters:! * `proposal_hash`: The hash of the proposal that should be disapproved., # Complexity: O(P) where P is the number of max proposals, DB Weight:L * Reads: Proposals * Writes: Voting, Proposals, ProposalOf0 #  Proposed$AccountId4ProposalIndexHash,MemberCount M A motion (given hash) has been proposed (by given account) with a threshold (given@ `MemberCount`). \[account, proposal_index, proposal_hash, threshold\]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`). \[account, proposal_hash, voted, yes, no\] ApprovedHash A motion was approved by the required threshold.H \[proposal_hash\],DisapprovedHash A motion was not approved by the required threshold.H \[proposal_hash\] ExecutedHash8DispatchResult% A motion was executed; result will be `Ok` if it returned without error.h \[proposal_hash, result\]8MemberExecutedHash8DispatchResultM A single member did some action; result will be `Ok` if it returned without error.h \[proposal_hash, result\]Closed Hash,MemberCount,MemberCountY A proposal was closed because its threshold was reached or after its duration was up.l \[proposal_hash, yes, no\]($NotMember` Account is not a memberDDuplicateProposal Duplicate proposals not allowed>> t The current elected members. Invariant: Always sorted based on account id.$RunnersUpVec>> The current reserved runners-up.Y Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the last (i.e. _best_) runner-up will be replaced.(CandidatesVec<(T::AccountId, BalanceOf)>Y 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.8ElectionRounds u32A The total number of vote rounds that have happened, excluding the upcoming one.Voting0T::AccountIdVoter> Votes and locked stake of a particular voter. TWOX-NOTE: SAFE as `AccountId` is a crypto hash.votevotesDVecvalueTCompact>\] Vote for a set of candidates for the upcoming round of election. This can be called to set the initial votes, or update already existing votes.a Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount isQ reserved. The deposit is based on the number of votes and can be updated over time.P The `votes` should:H - not be empty.Y - be less than the number of possible candidates. Note that all current members and runners-up are also automatically candidates for the next round.Q If `value` is more than `who`'s total balance, then the maximum of the two is used. The dispatch origin of this call must be signed.0 ### WarningY It is the responsibility of the caller to **NOT** place all of their balance into the lock and keep some for further operations., # U We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.0 # 0remove_voterp Remove `origin` as a voter. This removes the lock and returns the deposit. The dispatch origin of this call must be signed and be a voter.@submit_candidacy< Submit oneself for candidacy. A fixed amount of deposit is recorded.a All candidates are wiped at the end of the term. They either become a member/runner-up, or leave the system while their deposit is slashed. The dispatch origin of this call must be signed.0 ### Warninga Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]] to get their deposit back. Losing the spot in an election will always lead to a slash., #  The number of current candidates must be provided as witness data.0 # Hrenounce_candidacy(renouncing(RenouncingDQ Renounce one's intention to be a candidate for the next election round. 3 potential@ outcomes exist:M - `origin` is a candidate and not elected in any set. In this case, the deposit is unreserved, returned and origin is removed as a candidate.e - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and origin is removed as a runner-up.Y - `origin` is a current member. In this case, the deposit is unreserved and origin isY removed as a member, consequently not being a candidate for the next round anymore.U Similar to [`remove_members`], if replacement runners exists, they are immediatelyM used. If the prime is renouncing, then no prime will exist until the next round.I The dispatch origin of this call must be signed, and have one of the above roles., # The type of renouncing must be provided as witness data.0 # 4remove_member who::SourceU If we have a replacement, we use a small weight. Else, since this is a root call and will go into phragmen, we assume full block for now.0 # Pclean_defunct_voters,_num_voters u320_num_defunct u32(I Clean all voters who are defunct (i.e. they do not serve any purpose at all). The deposit of the removed voters are returned. This is an root function to be used only for cleaning the state. The dispatch origin of this call must be root., # a The total number of voters and those that are defunct must be provided as witness data.0 # NewTermdVec<(AccountId, Balance)>Y A new term with \[new_members\]. This indicates that enough candidates existed to runY the election, not that enough have has been elected. The inner value must be examinedI for this purpose. A `NewTerm(\[\])` indicates that some candidates got their bondY slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to0 begin with.$EmptyTerm5 No (or not enough) candidates existed for this round. This is different from `NewTerm(\[\])`. See the description of `NewTerm`.4ElectionError Internal error happened while trying to perform election.0MemberKicked$AccountIdU A \[member\] has been removed. This should always be followed by either `NewTerm` or4 `EmptyTerm`.$Renounced$AccountId Someone has renounced their candidacy.@CandidateSlashed$AccountIdBalance] A \[candidate\] was slashed by \[amount\] due to failing to obtain a seat as member or, runner-up. Note that old members and runners-up are also candidates.DSeatHolderSlashed$AccountIdBalanceY A \[seat holder\] was slashed by \[amount\] by being forcefully removed from the set. PalletId8LockIdentifier phrelect Identifier for the elections-phragmen pallet's lock4CandidacyBond0BalanceOf@4 How much should be locked up in order to submit one's candidacy.8VotingBondBase0BalanceOf@[ Base deposit associated with voting.U This should be sensibly high to economically ensure the pallet cannot be attacked by creating a gigantic number of votes.@VotingBondFactor0BalanceOf@[ The amount of bond that need to be locked for each vote (32 bytes).8DesiredMembers u32p Number of members to elect.@DesiredRunnersUp u32x Number of runners_up to keep.0TermDuration8T::BlockNumber@8 Q How long each seat is kept. This defines the next block number at which an election] round will happen. If set to zero, no elections are ever triggered and the module willP be in passive mode.D0UnableToVote Cannot vote when no candidates or members exist.NoVotes Must vote for at least one candidate.0TooManyVotes Cannot vote more than candidates.PMaximumVotesExceeded Cannot vote more than maximum allowed.(LowBalance Cannot vote with stake less than minimum balance. The current membership, stored as an ordered Vec.Prime0T::AccountId The current prime member, if one exists.(add_member who0T::AccountId | Add a member `who` to the set. May only be called from `T::AddOrigin`.4remove_member who0T::AccountId Remove a member `who` from the set. May only be called from `T::RemoveOrigin`.,swap_memberremove0T::AccountId add0T::AccountId Swap out one member `remove` for another `add`. May only be called from `T::SwapOrigin`. Prime membership is *not* passed from `remove` to `add`, if extant.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 `T::ResetOrigin`.(change_key new0T::AccountId Swap out the sending member for some other key `new`. May only be called from `Signed` origin of a current member.! Prime membership is passed from the origin account to `new`, if extant.$set_prime who0T::AccountId Set the prime member. Must be a current member. May only be called from `T::PrimeOrigin`.,clear_prime Remove the prime member if it exists. May only be called from `T::PrimeOrigin`.,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.(KeyChanged One of the members' keys changed.Dummysp_std::marker::PhantomData<(AccountId, Event)>p Phantom member, never used.4AlreadyMemberH Already a member.$NotMember8 Not a member. Treasury Treasury 4ProposalCount4ProposalIndex Number of proposals that have been made.$Proposals4ProposalIndexProposal>| Proposals that have been made.$ApprovalsBoundedVec Proposal indices that have been approved but not yet awarded. 4propose_spendvalue`Compact>,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., # L - Complexity: O(1) - DbReads: `ProposalCount`, `origin account` - DbWrites: `ProposalCount`, `Proposals`, `origin account`0 # $ Reject a proposed spend. The original deposit will be slashed. May only be called from `T::RejectOrigin`., # L - Complexity: O(1) - DbReads: `Proposals`, `rejected proposer account` - DbWrites: `Proposals`, `rejected proposer account`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. May only be called from `T::ApproveOrigin`., # P - Complexity: O(1). - DbReads: `Proposals`, `Approvals`\ - DbWrite: `Approvals`0 #  Proposed4ProposalIndex New proposal. \[proposal_index\] SpendingBalance= We have ended a spend period and will now allocate funds. \[budget_remaining\]Awarded 4ProposalIndexBalance$AccountId Some funds have been allocated. \[proposal_index, award, beneficiary\] Rejected4ProposalIndexBalance% A proposal was rejected; funds were slashed. \[proposal_index, slashed\]BurntBalance Some of our funds have been burnt. \[burn\] RolloverBalance1 Spending has finished; this is the amount that rolls over until next spend.T \[budget_remaining\]DepositBalance Some funds have been deposited. \[deposit\]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.LProposalBondMinimum@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. PalletId PalletId py/trsry The treasury's module id, used for deriving its sovereign account ID. pInsufficientProposersBalance| Proposer's balance is too low.0InvalidIndex No proposal or bounty at that index.@TooManyApprovals Too many approvals in the queue.ClaimsClaimsClaimsTotal0BalanceOf@Vesting, BalanceOf, T::BlockNumber)x Vesting schedule for a claim.  First balance is the total amount that should be held for vesting. Second balance is how much should be unlocked per block. The block number is when the vesting should start.Signing Ethereum Signed Message: > (configured prefix string)(address) and `address` matches the `dest` account.0 Parameters: - `dest`: The destination account to payout the claim. - `ethereum_signature`: The signature of an ethereum signed message matching the format described above.$  The weight of this call is invariant over the input parameters. Weight includes logic to validate unsigned `claim` call.\ Total Complexity: O(1)( (mint_claim who@vesting_scheduleOption<(BalanceOf, BalanceOf, T::BlockNumber)>$statementTOption< Mint a new claim to collect DOTs. The dispatch origin for this call must be _Root_.0 Parameters: - `who`: The Ethereum address allowed to collect this claim. - `value`: The number of DOTs that will be claimed.  - `vesting_schedule`: An optional vesting schedule for these DOTs.$  The weight of this call is invariant over the input parameters.! We assume worst case that both vesting and statement is being inserted.\ Total Complexity: O(1)( 0claim_attest dest0T::AccountIdHethereum_signature8EcdsaSignature$statementVech Make a claim to collect your DOTs by signing a statement. The dispatch origin for this call must be _None_.T Unsigned Validation:- A call to `claim_attest` is deemed valid if the signature provided matches the expected signed message of:l > Ethereum Signed Message: > (configured prefix string)(address)(statement)M and `address` matches the `dest` account; the `statement` must match that which is expected according to your purchase arrangement.0 Parameters: - `dest`: The destination account to payout the claim. - `ethereum_signature`: The signature of an ethereum signed message matching the format described above.i - `statement`: The identity of the statement which is being attested to in the signature.$  The weight of this call is invariant over the input parameters. Weight includes logic to validate unsigned `claim_attest` call.\ Total Complexity: O(1)( attest$statementVecD Attest to a statement, needed to finalize the claims process.i WARNING: Insecure unless your chain includes `PrevalidateAttests` as a `SignedExtension`.T Unsigned Validation:- A call to attest is deemed valid if the sender has a `Preclaim` registered and provides a `statement` which is expected for the account.0 Parameters:i - `statement`: The identity of the statement which is being attested to in the signature.$  The weight of this call is invariant over the input parameters. Weight includes logic to do pre-validation on `attest` call.\ Total Complexity: O(1)( (move_claim oldClaimed $AccountId::Call>H Send a batch of dispatch calls.| May be called from any origin. - `calls`: The calls to be dispatched from the same origin.a If origin is root then call are dispatch without checking origin filter. (This includes bypassing `frame_system::Config::BaseCallFilter`)., #  - Complexity: O(C) where C is the number of calls to be batched.0 # Y This will return `Ok` in all circumstances. To determine the success of the batch, an5 event is deposited. If a call failed and the batch was interrupted, then theY `BatchInterrupted` event is deposited, along with the number of successful calls madeQ and the error of the failed call. If all were successful, then the `BatchCompleted`P event is deposited.4as_derivativeindex u16call`Box<::Call>4 Send a call through an indexed pseudonym of the sender.Y Filter from origin are passed along. The call will be dispatched with an origin which use the same filter as the origin of this call.I NOTE: If you need to ensure that any account-based filtering is not honored (i.e.e because you expect `proxy` to have been used prior in the call stack and you do not wantU the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1` in the Multisig pallet instead. NOTE: Prior to version *12, this was called `as_limited_sub`. The dispatch origin for this call must be _Signed_.$batch_allcalls`Vec<::Call>4 Send a batch of dispatch calls and atomically execute them.% The whole transaction will rollback and fail if any of the calls failed.| May be called from any origin. - `calls`: The calls to be dispatched from the same origin.a If origin is root then call are dispatch without checking origin filter. (This includes bypassing `frame_system::Config::BaseCallFilter`)., #  - Complexity: O(C) where C is the number of calls to be batched.0 # @BatchInterrupted u324DispatchErrorY Batch of dispatches did not complete fully. Index of first failing dispatch given, as well as the error. \[index, error\]8BatchCompleted Batch of dispatches completed fully with no error. Identity Identity(IdentityOf0T::AccountIdhRegistration> ! Information that is pertinent to identify the entity behind an account. TWOX-NOTE: OK ― `AccountId` is a secure hash.SuperOf0T::AccountIdP(T::AccountId, Data)a The super-identity of an alternative "sub" identity together with its name, within thatQ context. If the account is not some other account's sub-identity, then just `None`.SubsOf0T::AccountId(BalanceOf, Vec)D 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.(RegistrarsVec, T::AccountId>>>M 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.<4add_registraraccount0T::AccountId4| Add a registrar to the system. The dispatch origin for this call must be `T::RegistrarOrigin`. - `account`: the account of the registrar. Emits `RegistrarAdded` if successful., # ) - `O(R)` where `R` registrar-count (governance-bounded and code-bounded). - One storage mutation (codec `O(R)`).4 - One event.0 # 0set_identityinfo0IdentityInfoL- Set an account's identity information and reserve the appropriate deposit.Y If the account already has identity information, the deposit is taken as part paymentT for the new deposit. The dispatch origin for this call must be _Signed_. - `info`: The identity information. Emits `IdentitySet` if successful., # H - `O(X + X' + R)`! - where `X` additional-field-count (deposit-bounded and code-bounded) - where `R` judgements-count (registrar-count-bounded) - One balance reserve operation.% - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).4 - One event.0 # set_subssubsdVec<(T::AccountId, Data)>T Set the sub-accounts of the sender.Y Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned1 and an amount `SubAccountDeposit` will be reserved for each item in `subs`.e The dispatch origin for this call must be _Signed_ and the sender must have a registered( identity. - `subs`: The identity's (new) sub-accounts., # 4 - `O(P + S)` - where `P` old-subs-count (hard- and deposit-bounded). - where `S` subs-count (hard- and deposit-bounded). - At most one balance operations. - DB: - `P + S` storage mutations (codec complexity `O(1)`) - One storage read (codec complexity `O(P)`). - One storage write (codec complexity `O(S)`). - One storage-exists (`IdentityOf::contains_key`).0 # 8clear_identityH= Clear an account's identity info and all sub-accounts and return all deposits. Payment: All reserved balances on the account are returned.e The dispatch origin for this call must be _Signed_ and the sender must have a registered( identity. Emits `IdentityCleared` if successful., # D - `O(R + S + X)` - where `R` registrar-count (governance-bounded). - where `S` subs-count (hard- and deposit-bounded).% - where `X` additional-field-count (deposit-bounded and code-bounded). - One balance-unreserve operation. - `2` storage reads and `S + 2` storage deletions.4 - One event.0 # Drequest_judgement$reg_index\Compactmax_feeTCompact>\ Request a judgement from a registrar.Y Payment: At most `max_fee` will be reserved for payment to the registrar if judgement given.9 The dispatch origin for this call must be _Signed_ and the sender must have aT registered identity.! - `reg_index`: The index of the registrar whose judgement is requested.Y - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:4 ```nocompile Self::registrars().get(reg_index).unwrap().fee ``` Emits `JudgementRequested` if successful., # 8 - `O(R + X)`. - One balance-reserve operation. - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.4 - One event.0 # 8cancel_request$reg_index8RegistrarIndexDl Cancel a previous request. Payment: A previously reserved deposit is returned on success.9 The dispatch origin for this call must be _Signed_ and the sender must have aT registered identity.I - `reg_index`: The index of the registrar whose judgement is no longer requested. Emits `JudgementUnrequested` if successful., # 8 - `O(R + X)`. - One balance-reserve operation. - One storage mutation `O(R + X)`.0 - One event0 # set_feeindex\Compact feeTCompact>4 Set the fee required for a judgement to be requested from a registrar.Y The dispatch origin for this call must be _Signed_ and the sender must be the account of the registrar whose index is `index`. - `index`: the index of the registrar whose fee is to be set.X - `fee`: the new fee., # ( - `O(R)`.| - One storage mutation `O(R)`. - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)0 # 8set_account_idindex\Compact new0T::AccountId4 Change the account associated with a registrar.Y The dispatch origin for this call must be _Signed_ and the sender must be the account of the registrar whose index is `index`. - `index`: the index of the registrar whose fee is to be set.t - `new`: the new account ID., # ( - `O(R)`.| - One storage mutation `O(R)`. - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)0 # (set_fieldsindex\Compactfields8IdentityFields4 Set the field information for a registrar.Y The dispatch origin for this call must be _Signed_ and the sender must be the account of the registrar whose index is `index`. - `index`: the index of the registrar whose fee is to be set. - `fields`: the fields that the registrar concerns themselves with., # ( - `O(R)`.| - One storage mutation `O(R)`. - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)0 # Dprovide_judgement $reg_index\Compacttarget::Source$judgement\Judgement>L Provide a judgement for an account's identity.Y The dispatch origin for this call must be _Signed_ and the sender must be the account of the registrar whose index is `reg_index`.% - `reg_index`: the index of the registrar whose judgement is being made.Y - `target`: the account whose identity the judgement is upon. This must be an accountx with a registered identity.M - `judgement`: the judgement of the registrar of index `reg_index` about `target`. Emits `JudgementGiven` if successful., # 8 - `O(R + X)`. - One balance-transfer operation. - Up to one account-lookup operation. - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.4 - One event.0 # 4kill_identitytarget::SourceLE Remove an account's identity and sub-account information and slash the deposits.e Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled byI `Slash`. Verification request deposits are not returned; they should be cancelled manually using `cancel_request`. The dispatch origin for this call must match `T::ForceOrigin`.Y - `target`: the account whose identity the judgement is upon. This must be an accountx with a registered identity. Emits `IdentityKilled` if successful., # H - `O(R + S + X)`. - One balance-reserve operation.t - `S + 2` storage mutations.4 - One event.0 # add_sub sub::SourcedataData Add the given account to the sender's subs.a Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated< to the sender.e The dispatch origin for this call must be _Signed_ and the sender must have a registered\ sub identity of `sub`.(rename_sub sub::SourcedataData Alter the associated name of the given sub-account.e The dispatch origin for this call must be _Signed_ and the sender must have a registered\ sub identity of `sub`.(remove_sub sub::Source Remove the given account from the sender's subs.a Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated< to the sender.e The dispatch origin for this call must be _Signed_ and the sender must have a registered\ sub identity of `sub`. quit_sub( Remove the sender as a sub-account.a Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated to the sender (*not* the original depositor).e The dispatch origin for this call must be _Signed_ and the sender must have a registered@ super-identity.I NOTE: This should not normally be used, but is provided in the case that the non- controller of an account is maliciously registered as a sub-account.(,IdentitySet$AccountId A name was set or reset (which will remove all judgements). \[who\]@L The amount held on deposit for a registered identity0FieldDeposit0BalanceOf@- The amount held on deposit per additional field for a registered identity.DSubAccountDeposit0BalanceOf@hB] e The amount held on deposit for a registered subaccount. This should account for the factq that one storage item's value will increase by the size of an account ID, and there will be) another trie item whose value is the size of an account ID plus 32 bytes.8MaxSubAccounts u32d  The maximum number of sub-accounts allowed per identified account.LMaxAdditionalFields u32de Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O required to access an identity, but can be pretty high.4MaxRegistrars u32Q Maxmimum number of registrars allowed in the system. Needed to bound the complexity| of, e.g., updating judgements.@HTooManySubAccounts` Too many subs-accounts. NotFoundT Account isn't found. NotNamedT Account isn't named.(EmptyIndex4 Empty index.(FeeChanged@ Fee is changed.(NoIdentityL No identity found.>>9 The current set of candidates; bidders that are attempting to become members.LSuspendedCandidates0T::AccountId(BalanceOf, BidKind>) The set of suspended candidates. Pot@A Amount of our account balance that is specifically for the next round's bid(s).Head0T::AccountId The most primary from the most recently approved members.MembersDVec The current set of members, ordered.@SuspendedMembers0T::AccountIdboolx The set of suspended members.BidsVec>> The current bids, stored ordered by the value of the bid. Vouching0T::AccountId8VouchingStatus Members currently vouching or banned from vouching againPayouts0T::AccountIdVec<(T::BlockNumber, BalanceOf)>M Pending payouts; ordered by block number, with the amount that should be paid out.Strikes0T::AccountId,StrikeCount The ongoing number of losing votes cast by the member.Votes0T::AccountId0T::AccountIdVote Double map from Candidate -> Voter -> (Maybe) Vote. Defender0T::AccountId The defending member currently being challenged.4DefenderVotes0T::AccountIdVote` Votes for the defender.(MaxMembers u32 The max number of members for the society at one time.0 bidvalue A user outside of the society can make a bid for entry.9 Payment: `CandidateDeposit` will be reserved for making a bid. It is returned when the bid becomes a member, or if the bid calls `unbid`. The dispatch origin for this call must be _Signed_.0 Parameters:Y - `value`: A one time payment the bid would like to receive when joining the society., # U Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve)D - Storage Reads: - One storage read to check for suspended candidate. O(1) - One storage read to check for suspended member. O(1) - One storage read to retrieve all current bids. O(B) - One storage read to retrieve all current candidates. O(C) - One storage read to retrieve all members. O(M)H - Storage Writes: - One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read) - Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)\ - Notable Computation:- - O(B + C + log M) search to check user is not already a part of society. - O(log B) search to insert the new bid sorted.x - External Module Operations: - One balance reserve operation. O(X)! - Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.( - Events:h - One event for new bid. - Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT. Total Complexity: O(M + B + C + logM + logB + X)0 # unbid pos u32L A bidder can remove their bid for entry into society. By doing so, they will have their candidate deposit returned or they will unvouch their voucher. Payment: The bid deposit is unreserved if the user made a bid. The dispatch origin for this call must be _Signed_ and a bidder.0 Parameters: - `pos`: Position in the `Bids` vector of the bid who wants to unbid., # Key: B (len of bids), X (balance unreserve)  - One storage read and write to retrieve and update the bids. O(B)E - Either one unreserve balance action O(X) or one vouching storage removal. O(1)4 - One event.l Total Complexity: O(B + X)0 # vouch who0T::AccountIdvalue tipE As a member, vouch for someone to join society by placing a bid on their behalf.U There is no deposit required to vouch for a new bid, but a member can only vouch for] one bid at a time. If the bid becomes a suspended candidate and ultimately rejected byA the suspension judgement origin, the member will be banned from vouching again.Y As a vouching member, you can claim a tip if the candidate is accepted. This tip willQ be paid as a portion of the reward the member will receive for joining the society. The dispatch origin for this call must be _Signed_ and a member.0 Parameters: - `who`: The user who you would like to vouch for.Q - `value`: The total reward to be paid between you and the candidate if they becomed a member in the society.I - `tip`: Your cut of the total `value` payout when the candidate is inducted into the society. Tips larger than `value` will be saturated upon payout., #  Key: B (len of bids), C (len of candidates), M (len of members)D - Storage Reads: - One storage read to retrieve all members. O(M)  - One storage read to check member is not already vouching. O(1) - One storage read to check for suspended candidate. O(1) - One storage read to check for suspended member. O(1) - One storage read to retrieve all current bids. O(B) - One storage read to retrieve all current candidates. O(C)H - Storage Writes:  - One storage write to insert vouching status to the member. O(1) - One storage mutate to add a new bid to the vector O(B) (TODO: possible optimization w/ read) - Up to one storage removal if bid.len() > MAX_BID_COUNT. O(1)\ - Notable Computation: - O(log M) search to check sender is a member.- - O(B + C + log M) search to check user is not already a part of society. - O(log B) search to insert the new bid sorted.x - External Module Operations: - One balance reserve operation. O(X)! - Up to one balance unreserve operation if bids.len() > MAX_BID_COUNT.( - Events:` - One event for vouch. - Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT. Total Complexity: O(M + B + C + logM + logB + X)0 # unvouch pos u32D- As a vouching member, unvouch a bid. This only works while vouched user is only a bidder (and not a candidate).) The dispatch origin for this call must be _Signed_ and a vouching member.0 Parameters:- - `pos`: Position in the `Bids` vector of the bid who should be unvouched., # T Key: B (len of bids)  - One storage read O(1) to check the signer is a vouching member. - One storage mutate to retrieve and update the bids. O(B) - One vouching storage removal. O(1)4 - One event.\ Total Complexity: O(B)0 # vote$candidate::SourceapproveboolL As a member, vote on a candidate. The dispatch origin for this call must be _Signed_ and a member.0 Parameters:  - `candidate`: The candidate that the member would like to bid on. - `approve`: A boolean which says if the candidate should be approved (`true`) or rejected (`false`)., # Key: C (len of candidates), M (len of members) - One storage read O(M) and O(log M) search to check user is a member.X - One account lookup.- - One storage read O(C) and O(C) search to check that user is a candidate. - One storage write to add vote to votes. O(1)4 - One event. Total Complexity: O(M + logM + C)0 # 4defender_voteapprovebool@ As a member, vote on the defender. The dispatch origin for this call must be _Signed_ and a member.0 Parameters: - `approve`: A boolean which says if the candidate should be approved (`true`) or rejected (`false`)., # h - Key: M (len of members) - One storage read O(M) and O(log M) search to check user is a member. - One storage write to add vote to votes. O(1)4 - One event.x Total Complexity: O(M + logM)0 # payoutPE Transfer the first matured payout for the sender and remove it from the records.i NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts.! Payment: The member will receive a payment equal to their first maturedx payout to their free balance. The dispatch origin for this call must be _Signed_ and a member withL payouts remaining., #  Key: M (len of members), P (number of payouts for a particular member)% - One storage read O(M) and O(log M) search to check signer is a member. - One storage read O(P) to get all payouts for a member. - One storage read O(1) to get the current block number. - One currency transfer call. O(X) - One storage write or removal to update the member's payouts. O(P) Total Complexity: O(M + logM + P + X)0 # found founder0T::AccountId,max_members u32rulesVecLL Found the society. This is done as a discrete action in order to allow for the module to be included into a running chain and can only be done once. The dispatch origin for this call must be from the _FounderSetOrigin_.0 Parameters: - `founder` - The first member and head of the newly founded society. - `max_members` - The initial max number of members for the society. - `rules` - The rules of this society concerning membership., # - Two storage mutates to set `Head` and `Founder`. O(1) - One storage write to add the first member to society. O(1)4 - One event.\ Total Complexity: O(1)0 # unfound4 Annul the founding of the society.] The dispatch origin for this call must be Signed, and the signing account must be bothY the `Founder` and the `Head`. This implies that it may only be done when there is one member., # h - Two storage reads O(1).x - Four storage removals O(1).4 - One event.\ Total Complexity: O(1)0 # Xjudge_suspended_member who0T::AccountIdforgivebooll- Allow suspension judgement origin to make judgement on a suspended member.Y If a suspended member is forgiven, we simply add them back as a member, not affecting any of the existing storage items for that member.I If a suspended member is rejected, remove all associated storage items, including their payouts, and remove any vouched bids they currently have.A The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.0 Parameters: - `who` - The suspended member to be judged.5 - `forgive` - A boolean representing whether the suspension judgement origin% forgives (`true`) or rejects (`false`) a suspended member., # Key: B (len of bids), M (len of members) - One storage read to check `who` is a suspended member. O(1)q - Up to one storage write O(M) with O(log M) binary search to add a member back to society. - Up to 3 storage removals O(1) to clean up a removed member.E - Up to one storage write O(B) with O(B) search to remove vouched bid from bids. - Up to one additional event if unvouch takes place.p - One storage removal. O(1)| - One event for the judgement. Total Complexity: O(M + logM + B)0 # djudge_suspended_candidate who0T::AccountId$judgement$Judgement5 Allow suspended judgement origin to make judgement on a suspended candidate.] If the judgement is `Approve`, we add them to society as a member with the appropriatet payment for joining society.U If the judgement is `Reject`, we either slash the deposit of the bid, giving it back to the society treasury, or we ban the voucher from vouching again.] If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go through the induction process again.A The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.0 Parameters: - `who` - The suspended candidate to be judged. - `judgement` - `Approve`, `Reject`, or `Rebid`., # Key: B (len of bids), M (len of members), X (balance action) - One storage read to check `who` is a suspended candidate. - One storage removal of the suspended candidate.@ - Approve Logic - One storage read to get the available pot to pay users with. O(1) - One storage write to update the available pot. O(1) - One storage read to get the current block number. O(1) - One storage read to get all members. O(M) - Up to one unreserve currency action. - Up to two new storage writes to payouts.M - Up to one storage write with O(log M) binary search to add a member to society.< - Reject Logic - Up to one repatriate reserved currency action. O(X)- - Up to one storage write to ban the vouching member from vouching again.8 - Rebid LogicA - Storage mutate with O(log B) binary search to place the user back into bids. - Up to one additional event if unvouch takes place.\ - One storage removal.| - One event for the judgement. Total Complexity: O(M + logM + B + X)0 # - One storage write to update the max. O(1)4 - One event.\ Total Complexity: O(1)0 # @Founded$AccountId The society is founded by the given identity. \[founder\] Bid$AccountIdBalancea A membership bid just happened. The given account is the candidate's ID and their offer is the second. \[candidate_id, offer\]Vouch $AccountIdBalance$AccountIda A membership bid just happened by vouching. The given account is the candidate's ID andy their offer is the second. The vouching party is the third. \[candidate_id, offer, vouching\]$AutoUnbid$AccountId A \[candidate\] was dropped (due to an excess of bids in the system).Unbid$AccountId A \[candidate\] was dropped (by their request).Unvouch$AccountId  A \[candidate\] was dropped (by request of who vouched for them). Inducted$AccountId8VecY A group of candidates have been inducted. The batch's primary is the first value, the batch in full is the second. \[primary, candidates\]`SuspendedMemberJudgement$AccountIdbool A suspended member has been judged. \[who, judged\]HCandidateSuspended$AccountId A \[candidate\] has been suspended@L The minimum amount of a deposit required for a bid to be made.HWrongSideDeduction@hB]U The amount of the unpaid reward that gets deducted in the case that either a skeptic doesn't vote or someone votes in the wrong way.(MaxStrikes u32 u The number of times a member may vote the wrong way (or not at all, when they are a skeptic)x before they become suspended.,PeriodSpend@ - The amount of incentive paid within each period. Doesn't include VoterTip.8RotationPeriod8T::BlockNumber The number of blocks between candidate/membership rotation periods., T::AccountId>  The set of recoverable accounts and their recovery configuration.@ActiveRecoveries0T::AccountId0T::AccountIdActiveRecovery, T::AccountId>h Active recovery attempts. First account is the account to be recovered, and the second account is the user trying to recover the account.Proxy0T::AccountId0T::AccountId The list of allowed proxy accounts. Map from the user who can access it to the recovered account.$0as_recoveredaccount0T::AccountIdcall`Box<::Call>4 Send a call through a recovered account. The dispatch origin for this call must be _Signed_ and registered to be able to make calls on behalf of the recovered account.0 Parameters:% - `account`: The recovered account you want to make a call on-behalf-of. - `call`: The call you want to make with the recovered account., # - The weight of the `call` + 10,000.  - One storage lookup to check account is recovered by `who`. O(1)0 # 4set_recoveredlost0T::AccountIdrescuer0T::AccountId4 Allow ROOT to bypass the recovery process and set an a rescuer accountt for a lost account directly. The dispatch origin for this call must be _ROOT_.0 Parameters: - `lost`: The "lost account" to be recovered. - `rescuer`: The "rescuer account" which can call as the lost account., # d - One storage write O(1)0 - One event0 # $threshold u160delay_period8T::BlockNumberl] Create a recovery configuration for your account. This makes your account recoverable.1 Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balanceI will be reserved for storing the recovery configuration. This deposit is returned in full when the user calls `remove_recovery`. The dispatch origin for this call must be _Signed_.0 Parameters:% - `friends`: A list of friends you trust to vouch for recovery attempts. Should be ordered and contain no duplicate values.1 - `threshold`: The number of friends that must vouch for a recovery attempt before the account can be recovered. Should be less than or equal to the length of the list of friends.= - `delay_period`: The number of blocks after a recovery attempt is initialized that needs to pass before the account can be recovered., # h - Key: F (len of friends)- - One storage read to check that account is not already recoverable. O(1). - A check that the friends list is sorted and unique. O(F) - One currency reserve operation. O(X) - One storage write. O(1). Codec O(F).4 - One event.l Total Complexity: O(F + X)0 # Dinitiate_recoveryaccount0T::AccountIdX Initiate the process for recovering a recoverable account. Payment: `RecoveryDeposit` balance will be reserved for initiating the% recovery process. This deposit will always be repatriated to the account trying to be recovered. See `close_recovery`. The dispatch origin for this call must be _Signed_.0 Parameters: - `account`: The lost account that you want to recover. This account needs to be recoverable (i.e. have a recovery configuration)., # - One storage read to check that account is recoverable. O(F)Q - One storage read to check that this recovery process hasn't already started. O(1) - One currency reserve operation. O(X) - One storage read to get the current block number. O(1)l - One storage write. O(1).4 - One event.l Total Complexity: O(F + X)0 # 8vouch_recoverylost0T::AccountIdrescuer0T::AccountIdd) Allow a "friend" of a recoverable account to vouch for an active recoveryh process for that account.) The dispatch origin for this call must be _Signed_ and must be a "friend"t for the recoverable account.0 Parameters: - `lost`: The lost account that you want to recover. - `rescuer`: The account trying to rescue the lost account that youT want to vouch for.% The combination of these two parameters must point to an active recovery$ process., # Key: F (len of friends in config), V (len of vouching friends) - One storage read to get the recovery configuration. O(1), Codec O(F)! - One storage read to get the active recovery process. O(1), Codec O(V) - One binary search to confirm caller is a friend. O(logF) - One binary search to confirm caller has not already vouched. O(logV) - One storage write. O(1), Codec O(V).4 - One event. Total Complexity: O(F + logF + V + logV)0 # 8claim_recoveryaccount0T::AccountIdP Allow a successful rescuer to claim their recovered account.- The dispatch origin for this call must be _Signed_ and must be a "rescuer" who has successfully completed the account recovery process: collected1 `threshold` or more vouches, waited `delay_period` blocks since initiation.0 Parameters:- - `account`: The lost account that you want to claim has been successfullyP recovered by you., # Key: F (len of friends in config), V (len of vouching friends) - One storage read to get the recovery configuration. O(1), Codec O(F)! - One storage read to get the active recovery process. O(1), Codec O(V) - One storage read to get the current block number. O(1) - One storage write. O(1), Codec O(V).4 - One event.l Total Complexity: O(F + V)0 # 8close_recoveryrescuer0T::AccountIdP As the controller of a recoverable account, close an active recoveryh process for your account.! Payment: By calling this function, the recoverable account will receive the recovery deposit `RecoveryDeposit` placed by the rescuer. The dispatch origin for this call must be _Signed_ and must be a recoverable account with an active recovery process for it.0 Parameters: - `rescuer`: The account trying to rescue this recoverable account., # Key: V (len of vouching friends)= - One storage read/remove to get the active recovery process. O(1), Codec O(V) - One balance call to repatriate reserved. O(X)4 - One event.l Total Complexity: O(V + X)0 # ` Key: F (len of friends)) - One storage read to get the prefix iterator for active recoveries. O(1)9 - One storage read/remove to get the recovery configuration. O(1), Codec O(F) - One balance call to unreserved. O(X)4 - One event.l Total Complexity: O(F + X)0 # @cancel_recoveredaccount0T::AccountId, Cancel the ability to use `as_recovered` for `account`. The dispatch origin for this call must be _Signed_ and registered to be able to make calls on behalf of the recovered account.0 Parameters: - `account`: The recovered account you are able to call on-behalf-of., #  - One storage mutation to check account is recovered by `who`. O(1)0 # @&iU The base amount of currency needed to reserve for creating a recovery configuration. This is held for an additional storage item whose value size is `2 + sizeof(BlockNumber, Balance)` bytes.LFriendDepositFactor0BalanceOf@PWc i The amount of currency needed per additional user when creating a recovery configuration.i This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage value.(MaxFriends u16   The maximum amount of friends allowed in a recovery configuration.@&i The base amount of currency needed to reserve for starting a recovery.5 This is primarily held for deterring malicious recovery attempts, and should) have a value large enough that a bad actor would choose not to place this) deposit. It also acts to fund additional storage item whose value size isA `sizeof(BlockNumber, Balance + T * AccountId)` bytes. Where T is a configurable, threshold.@(NotAllowed User is not allowed to make a call on behalf of this account4ZeroThreshold Threshold must be greater than zero@NotEnoughFriends Friends list must be greater than zero and threshold(MaxFriends Friends list must be less than max friends$NotSorted Friends list must be sorted and free of duplicates8NotRecoverable This account is not set up for recoveryHAlreadyRecoverable This account is already set up for recovery8AlreadyStarted A recovery process has already started for this account(NotStarted A recovery process has not started for this rescuer$NotFriend This account is not a friend who can vouch,DelayPeriod The friend must wait until the delay period to vouch for this recovery8AlreadyVouched This user has already vouched for this recovery$Threshold The threshold for recovering this account has not been met,StillActive There are still active recovery attempts that need to be closed0AlreadyProxy This account is already set up for recovery BadState| Some internal state is broken.VestingVestingVesting0T::AccountIdVestingInfo, T::BlockNumber> Information regarding the vesting of a given account.vest4 Unlock any vested funds of the sender account.a The dispatch origin for this call must be _Signed_ and the sender must have funds stillh locked under this pallet. Emits either `VestingCompleted` or `VestingUpdated`., # ( - `O(1)`.x - DbWeight: 2 Reads, 2 Writes - Reads: Vesting Storage, Balances Locks, [Sender Account] - Writes: Vesting Storage, Balances Locks, [Sender Account]0 # (vest_othertarget::Source< Unlock any vested funds of a `target` account. The dispatch origin for this call must be _Signed_.U - `target`: The account whose vested funds should be unlocked. Must have funds stillh locked under this pallet. Emits either `VestingCompleted` or `VestingUpdated`., # ( - `O(1)`.x - DbWeight: 3 Reads, 3 Writes - Reads: Vesting Storage, Balances Locks, Target Account - Writes: Vesting Storage, Balances Locks, Target Account0 # ::Source scheduleVestingInfo, T::BlockNumber>@h Create a vested transfer. The dispatch origin for this call must be _Signed_. - `target`: The account that should be transferred the vested funds. - `amount`: The amount of funds to transfer and will be vested. - `schedule`: The vesting schedule attached to the transfer.` Emits `VestingCreated`., # ( - `O(1)`.x - DbWeight: 3 Reads, 3 Writes= - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]A - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]0 # Tforce_vested_transfer source::Sourcetarget::Source scheduleVestingInfo, T::BlockNumber>Dd Force a vested transfer. The dispatch origin for this call must be _Root_. - `source`: The account whose funds should be transferred. - `target`: The account that should be transferred the vested funds. - `amount`: The amount of funds to transfer and will be vested. - `schedule`: The vesting schedule attached to the transfer.` Emits `VestingCreated`., # ( - `O(1)`.x - DbWeight: 4 Reads, 4 Writes5 - Reads: Vesting Storage, Balances Locks, Target Account, Source Account9 - Writes: Vesting Storage, Balances Locks, Target Account, Source Account0 # 8VestingUpdated$AccountIdBalance Y The amount vested has been updated. This could indicate more funds are available. The balance given is the amount which is left unvested (and thus locked).X \[account, unvested\]@VestingCompleted$AccountId An \[account\] has become fully vested. No further vesting can happen.DMinVestedTransfer0BalanceOf@4 The minimum amount transferred to call `vested_transfer`. (NotVesting The account given is not vesting.\ExistingVestingSchedule] An existing vesting schedule already exists for this account that cannot be clobbered.$AmountLow  Amount being transferred is too low to create a vesting schedule.$Scheduler$Scheduler Agenda8T::BlockNumberqVec::Call, T::BlockNumber, T:: PalletsOrigin, T::AccountId>>>M Items to be executed, indexed by the block number that they should be executed on.LookupVeclTaskAddress Lookup from identity to the block number and index of the task.8StorageVersion Releases | Storage version of the pallet. New networks start with last version. schedulewhen8T::BlockNumber8maybe_periodicOption> priorityHschedule::Prioritycall`Box<::Call>(t Anonymously schedule a task., # - S = Number of already scheduled calls - Base Weight: 22.29 + .126 * S µs4 - DB Weight:L - Read: AgendaP - Write: Agenda= - Will use base weight of 25 which should be good for up to 30 scheduled calls0 # cancelwhen8T::BlockNumberindex u32( Cancel an anonymously scheduled task., # - S = Number of already scheduled calls - Base Weight: 22.15 + 2.869 * S µs4 - DB Weight:L - Read: Agendap - Write: Agenda, LookupA - Will use base weight of 100 which should be good for up to 30 scheduled calls0 # 8schedule_namedidVecwhen8T::BlockNumber8maybe_periodicOption> priorityHschedule::Prioritycall`Box<::Call>(\ Schedule a named task., # - S = Number of already scheduled calls - Base Weight: 29.6 + .159 * S µs4 - DB Weight:l - Read: Agenda, Lookupp - Write: Agenda, LookupM - Will use base weight of 35 which should be good for more than 30 scheduled calls0 # 0cancel_namedidVec(| Cancel a named scheduled task., # - S = Number of already scheduled calls - Base Weight: 24.91 + 2.907 * S µs4 - DB Weight:l - Read: Agenda, Lookupp - Write: Agenda, LookupA - Will use base weight of 100 which should be good for up to 30 scheduled calls0 # 8schedule_afterafter8T::BlockNumber8maybe_periodicOption> priorityHschedule::Prioritycall`Box<::Call> Anonymously schedule a task after a delay., # X Same as [`schedule`].0 # Pschedule_named_afteridVecafter8T::BlockNumber8maybe_periodicOption> priorityHschedule::Prioritycall`Box<::Call> Schedule a named task after a delay., # p Same as [`schedule_named`].0 #  $Scheduled,BlockNumber u32 Scheduled some task. \[when, index\] Canceled,BlockNumber u32 Canceled some task. \[when, index\](Dispatched `TaskAddress>8DispatchResult Dispatched some task. \[task, id, result\]@FailedToScheduleh Failed to schedule a call NotFound Cannot find the scheduled call.\TargetBlockNumberInPast Given target block number is in the past.HRescheduleNoChange Reschedule failed because it does not change scheduled time.ProxyProxyProxies0T::AccountIdE(Vec>, BalanceOf)DE 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.4Announcements0T::AccountId=(Vec, T::BlockNumber>>, BalanceOf)D The announcements made by the proxy (key).(proxy real0T::AccountId@force_proxy_typePOptioncall`Box<::Call> Weight is a function of the number of proxies the user has (P).0 # $add_proxy delegate0T::AccountId(proxy_type0T::ProxyTypedelay8T::BlockNumber4I Register a proxy account for the sender that is able to make calls on its behalf. The dispatch origin for this call must be _Signed_.0 Parameters: - `proxy`: The account that the `caller` would like to make a proxy. - `proxy_type`: The permissions allowed for this proxy account.Q - `delay`: The announcement period required of the initial proxy. Will generally be zero., #  Weight is a function of the number of proxies the user has (P).0 # 0remove_proxy delegate0T::AccountId(proxy_type0T::ProxyTypedelay8T::BlockNumber, Unregister a proxy account for the sender. The dispatch origin for this call must be _Signed_.0 Parameters:) - `proxy`: The account that the `caller` would like to remove as a proxy.E - `proxy_type`: The permissions currently enabled for the removed proxy account., #  Weight is a function of the number of proxies the user has (P).0 # 8remove_proxies( Unregister all proxy accounts for the sender. The dispatch origin for this call must be _Signed_.Y WARNING: This may be called on accounts created by `anonymous`, however if done, then] the unreserved fees will be inaccessible. **All access to this account will be lost.**, #  Weight is a function of the number of proxies the user has (P).0 # $anonymous (proxy_type0T::ProxyTypedelay8T::BlockNumberindex u16\= Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and initialize it with a proxy of `proxy_type` for `origin` sender.p Requires a `Signed` origin.U - `proxy_type`: The type of the proxy that the sender will be registered as over theQ new account. This will almost always be the most permissive `ProxyType` possible to| allow for maximum flexibility.U - `index`: A disambiguation index, in case this is called multiple times in the samea transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably justD want to use `0`.Q - `delay`: The announcement period required of the initial proxy. Will generally be zero.U Fails with `Duplicate` if this has already been called in this transaction, from the same sender, with the same parameters. Fails if there are insufficient funds to pay for deposit., #  Weight is a function of the number of proxies the user has (P).0 # TODO: Might be over counting 1 read8kill_anonymousspawner0T::AccountId(proxy_type0T::ProxyTypeindex u16height\Compact$ext_index0CompactP Removes a previously spawned anonymous proxy.M WARNING: **All access to this account will be lost.** Any funds held in it will be8 inaccessible.] Requires a `Signed` origin, and the sender account must have been created by a call to `anonymous` with corresponding parameters.Q - `spawner`: The account that originally called `anonymous` to create this account.Q - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`. - `proxy_type`: The proxy type originally passed to `anonymous`.A - `height`: The height of the chain when the call to `anonymous` was processed.M - `ext_index`: The extrinsic index in which the call to `anonymous` was processed.M Fails with `NoPermission` in case the caller is not a previously created anonymous account whose `anonymous` call has corresponding parameters., #  Weight is a function of the number of proxies the user has (P).0 # announcereal0T::AccountId$call_hash4CallHashOfT  Publish the hash of a proxy-call that will be made in the future.a This must be called some number of blocks before the corresponding `proxy` is attempted) if the delay associated with the proxy relationship is greater than zero. No more than `MaxPending` announcements may be made at any one time.  This will take a deposit of `AnnouncementDepositFactor` as well as `AnnouncementDepositBase` if there are no other pending announcements.) The dispatch origin for this call must be _Signed_ and a proxy of `real`.0 Parameters: - `real`: The account that the proxy will make a call on behalf of. - `call_hash`: The hash of the call to be made by the `real` account., # d Weight is a function of: - A: the number of announcements made. - P: the number of proxies the user has.0 # Lremove_announcementreal0T::AccountId$call_hash4CallHashOf@t Remove a given announcement.] May be called by a proxy account to remove a call they previously announced and return4 the deposit. The dispatch origin for this call must be _Signed_.0 Parameters: - `real`: The account that the proxy will make a call on behalf of. - `call_hash`: The hash of the call to be made by the `real` account., # d Weight is a function of: - A: the number of announcements made. - P: the number of proxies the user has.0 # Lreject_announcement delegate0T::AccountId$call_hash4CallHashOf@ Remove the given announcement of a delegate.e May be called by a target (proxied) account to remove a call that one of their delegates) (`delegate`) has announced they want to execute. The deposit is returned. The dispatch origin for this call must be _Signed_.0 Parameters: - `delegate`: The account that previously announced the call. - `call_hash`: The hash of the call to be made., # d Weight is a function of: - A: the number of announcements made. - P: the number of proxies the user has.0 # call`Box<::Call>DQ Dispatch the given `call` from an account that the sender is authorized for through4 `add_proxy`. Removes any corresponding announcement(s). The dispatch origin for this call must be _Signed_.0 Parameters: - `real`: The account that the proxy will make a call on behalf of.e - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call. - `call`: The call to be made by the `real` account., # d Weight is a function of: - A: the number of announcements made. - P: the number of proxies the user has.0 #  4ProxyExecuted8DispatchResult A proxy was executed correctly, with the given \[result\].@AnonymousCreated$AccountId$AccountId$ProxyType u16 Anonymous account has been created by new proxy with giveni disambiguation index and proxy type. \[anonymous, who, proxy_type, disambiguation_index\]$Announced $AccountId$AccountIdHashQ An announcement was placed to make a call in the future. \[real, proxy, call_hash\]@ProxyDepositBase0BalanceOf@}; The base amount of currency needed to reserve for creating a proxy. This is held for an additional storage item whose value size is% `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes.HProxyDepositFactor0BalanceOf@4s The amount of currency needed per proxy added.i This is held for adding 32 bytes plus an instance of `ProxyType` more into a pre-existinga storage value. Thus, when configuring `ProxyDepositFactor` one should take into account `32 + proxy_type.encode().len()` bytes of data.(MaxProxies u16  The maximum amount of proxies allowed for a single account.(MaxPending u32 E The maximum amount of time-delayed announcements that are allowed to be pending.\AnnouncementDepositBase0BalanceOf@}; 1 The base amount of currency needed to reserve for creating an announcement.i This is held when a new storage item holding a `Balance` is created (typically 16 bytes).dAnnouncementDepositFactor0BalanceOf@h  The amount of currency needed per announcement made.Y This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes) into a pre-existing storage value. TooMany% There are too many proxies registered or too many announcements pending. NotFoundx Proxy registration not found. NotProxy Sender is not a proxy of the account to be proxied.,Unproxyable% A call which is incompatible with the proxy type's filter was attempted.$Duplicatep Account is already a proxy.0NoPermission Call may not be made by proxy because it may escalate its privileges.,Unannounced Announcement, if made at all, was made too recently.,NoSelfProxyh Cannot add self as proxy. Multisig Multisig$Multisigs0T::AccountId [u8; 32]Multisig, T::AccountId> The set of open multisig operations.Calls [u8; 32](OpaqueCall, T::AccountId, BalanceOf)Pas_multi_threshold_1Dother_signatoriesDVeccall`Box<::Call>@U Immediately dispatch a multi-signature call using a single approval from the caller. The dispatch origin for this call must be _Signed_.A - `other_signatories`: The accounts (other than the sender) who are part of the multi-signature, but do not participate in the approval process. - `call`: The call to be executed. Result is equivalent to the dispatched result., #  O(Z + C) where Z is the length of the call and C its execution weight. -------------------------------H - DB Weight: NoneL - Plus Call Weight0 # as_multi$threshold u16Dother_signatoriesDVec>call(OpaqueCall(store_callbool(max_weightWeightY Register approval for a dispatch to be made from a deterministic composite account if approved by a total of `threshold - 1` of `other_signatories`. If there are enough, then dispatch the call.1 Payment: `DepositBase` will be reserved if this is the first approval, plusA `threshold` times `DepositFactor`. It is returned once this dispatch happens or8 is cancelled. The dispatch origin for this call must be _Signed_.Y - `threshold`: The total number of approvals for this dispatch before it is executed.E - `other_signatories`: The accounts (other than the sender) who can approve thisp dispatch. May not be empty.] - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it isU not the first approval, then it must be `Some`, with the timepoint (block number and transaction index) of the first approval transaction. - `call`: The call to be executed.! NOTE: Unless this is the final approval, you will generally want to use `approve_as_multi` instead, since it only requires a hash of the call.] Result is equivalent to the dispatched result if `threshold` is exactly `1`. OtherwiseY on success, result is `Ok` and the result from the interior call, if it was executed, may be found in the deposited `MultisigExecuted` event., # T - `O(S + Z + Call)`. - Up to one balance-reserve or unreserve operation.A - One passthrough operation, one insert, both `O(S)` where `S` is the number ofI signatories. `S` is capped by `MaxSignatories`, with weight being proportional.% - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len. - One encode & hash, both of complexity `O(S)`. - Up to one binary search and insert (`O(logS + S)`). - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.4 - One event.p - The weight of the `call`.1 - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit taken for its lifetime of `DepositBase + threshold * DepositFactor`. -------------------------------4 - DB Weight:% - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)) - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)L - Plus Call Weight0 # @approve_as_multi$threshold u16Dother_signatoriesDVec>$call_hash [u8; 32](max_weightWeightY Register approval for a dispatch to be made from a deterministic composite account if approved by a total of `threshold - 1` of `other_signatories`.1 Payment: `DepositBase` will be reserved if this is the first approval, plusA `threshold` times `DepositFactor`. It is returned once this dispatch happens or8 is cancelled. The dispatch origin for this call must be _Signed_.Y - `threshold`: The total number of approvals for this dispatch before it is executed.E - `other_signatories`: The accounts (other than the sender) who can approve thisp dispatch. May not be empty.] - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it isU not the first approval, then it must be `Some`, with the timepoint (block number and transaction index) of the first approval transaction. - `call_hash`: The hash of the call to be executed.9 NOTE: If this is the final approval, you will want to use `as_multi` instead., # ( - `O(S)`. - Up to one balance-reserve or unreserve operation.A - One passthrough operation, one insert, both `O(S)` where `S` is the number ofI signatories. `S` is capped by `MaxSignatories`, with weight being proportional. - One encode & hash, both of complexity `O(S)`. - Up to one binary search and insert (`O(logS + S)`). - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.4 - One event.1 - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit taken for its lifetime of `DepositBase + threshold * DepositFactor`. ----------------------------------4 - DB Weight: - Read: Multisig Storage, [Caller Account] - Write: Multisig Storage, [Caller Account]0 # $timepointdTimepoint$call_hash [u8; 32]hY Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously for this operation will be unreserved on success. The dispatch origin for this call must be _Signed_.Y - `threshold`: The total number of approvals for this dispatch before it is executed.E - `other_signatories`: The accounts (other than the sender) who can approve thisp dispatch. May not be empty.a - `timepoint`: The timepoint (block number and transaction index) of the first approval| transaction for this dispatch. - `call_hash`: The hash of the call to be executed., # ( - `O(S)`. - Up to one balance-reserve or unreserve operation.A - One passthrough operation, one insert, both `O(S)` where `S` is the number ofI signatories. `S` is capped by `MaxSignatories`, with weight being proportional. - One encode & hash, both of complexity `O(S)`.4 - One event. - I/O: 1 read `O(S)`, one remove.t - Storage: removes one item. ----------------------------------4 - DB Weight: - Read: Multisig Storage, [Caller Account], Refund Account, Calls - Write: Multisig Storage, [Caller Account], Refund Account, Calls0 # ,NewMultisig $AccountId$AccountId CallHash A new multisig operation has begun. \[approving, multisig, call_hash\]@MultisigApproval$AccountIdXTimepoint$AccountId CallHash A multisig operation has been approved by someone. \[approving, timepoint, multisig, call_hash\]@MultisigExecuted$AccountIdXTimepoint$AccountId CallHash8DispatchResultY A multisig operation has been executed. \[approving, timepoint, multisig, call_hash\]DMultisigCancelled$AccountIdXTimepoint$AccountId CallHasha A multisig operation has been cancelled. \[cancelling, timepoint, multisig, call_hash\] ,DepositBase0BalanceOf@u q The base amount of currency needed to reserve for creating a multisig execution or to storel a dispatch call for later. This is held for an additional storage item whose value size is1 `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is `32 + sizeof(AccountId)` bytes.4DepositFactor0BalanceOf@[ U The amount of currency needed per unit threshold when creating a multisig execution.% This is held for adding 32 bytes more into a pre-existing storage value.8MaxSignatories u16d The maximum amount of signatories allowed in the multisig.8@MinimumThreshold Threshold must be 2 or greater., T::BlockNumber>x Bounties that have been made.HBountyDescriptions,BountyIndexVec The description of each bounty. Bounty indices that have been approved but not yet funded.$8propose_bountyvalueTCompact>,descriptionVec0X Propose a new bounty. The dispatch origin for this call must be _Signed_.U Payment: `TipReportDepositBase` will be reserved from the origin account, as well asU `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,h or slashed when rejected. - `curator`: The curator account whom will manage this bounty.h - `fee`: The curator fee.) - `value`: The total payment amount of this bounty, curator fee included. - `description`: The description of this bounty.8approve_bounty$bounty_idPCompact a Approve a bounty proposal. At a later time, the bounty will be funded and become active and the original deposit will be returned. May only be called from `T::ApproveOrigin`., # - O(1).0 # curator::Source feeTCompact> Assign a curator to a funded bounty. May only be called from `T::ApproveOrigin`., # - O(1).0 # @unassign_curator$bounty_idPCompactH Unassign curator from a bounty.! This function can only be called by the `RejectOrigin` a signed origin.i If this function is called by the `RejectOrigin`, we assume that the curator is malicious  or inactive. As a result, we will slash the curator when possible.e If the origin is the curator, we take this as a sign they are unable to do their job anda they willingly give up. We could slash them, but for now we allow them to recover their9 deposit and exit without issue. (We may want to change this if it is abused.)a Finally, the origin can be anyone if and only if the curator is "inactive". This allowse anyone in the community to call out that a curator is not doing their due diligence, and= we should pick a new curator. In this case the curator should also be slashed., # - O(1).0 # 8accept_curator$bounty_idPCompact Accept the curator role for a bounty.- A deposit will be reserved from curator and refund upon successful payout. May only be called from the curator., # - O(1).0 # 0award_bounty$bounty_idPCompact,beneficiary::Source( Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay. The dispatch origin for this call must be the curator of this bounty. - `bounty_id`: Bounty ID to award. - `beneficiary`: The beneficiary account whom will receive the payout., # - O(1).0 # 0claim_bounty$bounty_idPCompact$ Claim the payout from an awarded bounty after payout delay.) The dispatch origin for this call must be the beneficiary of this bounty. - `bounty_id`: Bounty ID to claim., # - O(1).0 # 0close_bounty$bounty_idPCompact(= Cancel a proposed or active bounty. All the funds will be sent to treasury and the curator deposit will be unreserved if possible. Only `T::RejectOrigin` is able to cancel a bounty. - `bounty_id`: Bounty ID to cancel., # - O(1).0 # Pextend_bounty_expiry$bounty_idPCompact_remarkVec( Extend the expiry time of an active bounty. The dispatch origin for this call must be the curator of this bounty. - `bounty_id`: Bounty ID to extend. - `remark`: additional information., # - O(1).0 # 8BountyProposed,BountyIndex| New bounty proposal. \[index\]8BountyRejected,BountyIndexBalance A bounty proposal was rejected; funds were slashed. \[index, bond\]HBountyBecameActive,BountyIndex A bounty proposal is funded and became active. \[index\]4BountyAwarded,BountyIndex$AccountId A bounty is awarded to a beneficiary. \[index, beneficiary\]4BountyClaimed ,BountyIndexBalance$AccountId  A bounty is claimed by beneficiary. \[index, payout, beneficiary\]8BountyCanceled,BountyIndex A bounty is cancelled. \[index\]8BountyExtended,BountyIndex A bounty expiry is extended. \[index\]HDataDepositPerByte0BalanceOf@U The amount held on deposit per byte within bounty description.DBountyDepositBase0BalanceOf@4 The amount held on deposit for placing a bounty proposal.`BountyDepositPayoutDelay8T::BlockNumberY The delay period for which a bounty beneficiary need to wait before claim the payout.HBountyUpdatePeriod8T::BlockNumberl Bounty duration in blocks.PBountyCuratorDepositPermill m Percentage of the curator fee that will be reserved upfront as deposit for bounty curator.HBountyValueMinimum0BalanceOf@hB]p Minimum value for a bounty.LMaximumReasonLength u32@ Maximum acceptable reason length.$pInsufficientProposersBalance| Proposer's balance is too low.0InvalidIndex No proposal or bounty at that index.0ReasonTooBig The reason given is just too big.@UnexpectedStatus The bounty status is unexpected.8RequireCurator` Require bounty curator.0InvalidValueX Invalid bounty value.(InvalidFeeP Invalid bounty fee.4PendingPayoutp A bounty payout is pending. To cancel the bounty, you must unassign and slash the curator.$PrematureI The bounties cannot be claimed/closed because it's still in the countdown period.#Tips TreasuryTipsT::HashOpenTip, T::BlockNumber, T::Hash> e 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.ReasonsT::HashVecI Simple preimage lookup from the reason's hash to the original data. Again, has ana insecure enumerable hash since the key is guaranteed to be the result of a secure hash.8report_awesomereasonVec who0T::AccountIdL] Report something `reason` that deserves a tip and claim any eventual the finder's fee. The dispatch origin for this call must be _Signed_.U Payment: `TipReportDepositBase` will be reserved from the origin account, as well as `DataDepositPerByte` for each byte in `reason`.a - `reason`: The reason for, or the thing that deserves, the tip; generally this will be\ a UTF-8-encoded URL. - `who`: The account which should be credited for the tip.x Emits `NewTip` if successful., # - Complexity: `O(R)` where `R` length of `reason`. - encoding and hashing of 'reason't - DbReads: `Reasons`, `Tips`x - DbWrites: `Reasons`, `Tips`0 # ,retract_tiphashT::HashLU Retract a prior tip-report from `report_awesome`, and cancel the process of tipping. If successful, the original deposit will be unreserved.Q The dispatch origin for this call must be _Signed_ and the tip identified by `hash`E must have been reported by the signing account through `report_awesome` (and notP through `tip_new`).e - `hash`: The identity of the open tip for which a tip value is declared. This is formeda as the hash of the tuple of the original tip `reason` and the beneficiary account ID. Emits `TipRetracted` if successful., # T - Complexity: `O(1)` - Depends on the length of `T::Hash` which is fixed. - DbReads: `Tips`, `origin account` - DbWrites: `Reasons`, `Tips`, `origin account`0 # tip_new reasonVec who0T::AccountId$tip_valueTCompact>X Give a tip for something new; no finder's fee will be taken.U The dispatch origin for this call must be _Signed_ and the signing account must be at member of the `Tippers` set.a - `reason`: The reason for, or the thing that deserves, the tip; generally this will be\ a UTF-8-encoded URL. - `who`: The account which should be credited for the tip.Q - `tip_value`: The amount of tip that the sender would like to give. The median tip value of active tippers will be given to the `who`.x Emits `NewTip` if successful., # U - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. - `O(T)`: decoding `Tipper` vec of length `T`  `T` is charged as upper bound given by `ContainsLengthBound`.  The actual cost depends on the implementation of `T::Tippers`. - `O(R)`: hashing and encoding of reason of length `R` - DbReads: `Tippers`, `Reasons`x - DbWrites: `Reasons`, `Tips`0 # tiphashT::Hash$tip_valueTCompact>d Declare a tip value for an already-open tip.U The dispatch origin for this call must be _Signed_ and the signing account must be at member of the `Tippers` set.e - `hash`: The identity of the open tip for which a tip value is declared. This is formeda as the hash of the tuple of the hash of the original tip `reason` and the beneficiary8 account ID.Q - `tip_value`: The amount of tip that the sender would like to give. The median tip value of active tippers will be given to the `who`.e Emits `TipClosing` if the threshold of tippers has been reached and the countdown period4 has started., # - Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`.a Actually weight could be lower as it depends on how many tips are in `OpenTip` but it is weighted as if almost full i.e of length `T-1`.t - DbReads: `Tippers`, `Tips`L - DbWrites: `Tips`0 # $close_tiphashT::HashD` Close and payout a tip. The dispatch origin for this call must be _Signed_. The tip identified by `hash` must have finished its countdown period.e - `hash`: The identity of the open tip for which a tip value is declared. This is formeda as the hash of the tuple of the original tip `reason` and the beneficiary account ID., # - Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`. - DbReads: `Tips`, `Tippers`, `tip finder` - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`0 # $slash_tiphashT::Hash0 Remove and slash an already-open tip. May only be called from `T::RejectOrigin`. As a result, the finder is slashed and the deposits are lost. Emits `TipSlashed` if successful., #  `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`.0 # NewTipHash A new tip suggestion has been opened. \[tip_hash\](TipClosingHash A tip suggestion has reached threshold and is closing. \[tip_hash\]$TipClosed Hash$AccountIdBalance A tip suggestion has been closed. \[tip_hash, who, payout\]0TipRetractedHash A tip suggestion has been retracted. \[tip_hash\](TipSlashed Hash$AccountIdBalance A tip suggestion has been slashed. \[tip_hash, finder, deposit\]0TipCountdown8T::BlockNumber@8E The period for which a tip remains open after is has achieved threshold tippers.4TipFindersFeePercent1 The amount of the final tip which goes to the original reporter of the tip.PTipReportDepositBase0BalanceOf@4 The amount held on deposit for placing a tip report.HDataDepositPerByte0BalanceOf@U  The amount held on deposit per byte within the tip report reason.LMaximumReasonLength u32@ Maximum acceptable reason length.0ReasonTooBig The reason given is just too big.0AlreadyKnown The tip was already found/started.(UnknownTipd The tip hash is unknown.$NotFinder! The account attempting to retract the tip is not the finder of the tip.$StillOpen- The tip cannot be claimed/closed because there are not enough tippers yet.$Premature5 The tip cannot be claimed/closed because it's still in the countdown period.$hElectionProviderMultiPhasehElectionProviderMultiPhaseRound u32 Internal counter for the number of rounds.U This is useful for de-duplication of transactions submitted to the pool, and generall diagnostics of the pallet.M This is merely incremented once per every time that an upstream `elect` is called.0CurrentPhaseTPhase< Current phase.8QueuedSolutionlReadySolution= Current best solution, signed or unsigned, queued to be returned upon `elect`. SnapshotlRoundSnapshot p Snapshot data of the round.] This is created at the beginning of the signed phase and cleared upon calling `elect`.8DesiredTargets u32 Desired number of targets to elect for this round. Only exists when [`Snapshot`] is present.@SnapshotMetadataXSolutionOrSnapshotSize The metadata of the [`RoundSnapshot`] Only exists when [`Snapshot`] is present.>witnessXSolutionOrSnapshotSize8 Submit a solution for the unsigned phase. The dispatch origin fo this call must be __none__.A This submission is checked on the fly. Moreover, this unsigned solution is onlyY validated when submitted to the pool from the **local** node. Effectively, this meansa that only active validators can submit this transaction when authoring a block (similarD to an inherent).] To prevent any incorrect solution (and thus wasted time/weight), this transaction willQ panic if the solution submitted by the validator is invalid in any way, effectively putting their authoring reward at risk. No deposit or reward is associated with this submission.8SolutionStoredY The election has been finalized, with `Some` of the given computation, or else if thed election failed, `None`. Rewarded$AccountId) An account has been rewarded for their signed submission being finalized.Slashed$AccountId% An account has been slashed for submitting an invalid signed submission.HSignedPhaseStarted u32 The signed phase of the given round has started.PUnsignedPhaseStarted u32 The unsigned phase of the given round has started.4UnsignedPhase8T::BlockNumber Duration of the unsigned phase.,SignedPhase8T::BlockNumberx Duration of the signed phase.pSolutionImprovementThresholdPerbill M The minimum amount of improvement to the solution score that defines a solution asd "better" (in any phase).8OffchainRepeat8T::BlockNumber The repeat threshold of the offchain worker.a For example, if it is 5, that means that at least 5 blocks will elapse between attempts to submit the worker's solution.hPreDispatchEarlySubmissionh Submission was too early.lPreDispatchWrongWinnerCount Wrong number of winners presented.dPreDispatchWeakSubmission Submission was too weak, score-wise.)>a The totals of items and balances within each queue. Saves a lot of storage reads in the case of sparsely packed queues.m The vector is indexed by duration in `Period`s, offset by one, so information on the queue whose duration is one `Period` would be storage `0`.Queues u32Vec, T::AccountId>>9 The queues of bids ready to become gilts. Indexed by duration (in `Period`s).,ActiveTotalxActiveGiltsTotal> Information relating to the gilts currently active.Active,ActiveIndexActiveGilt,::AccountId,< T as frame_system::Config>::BlockNumber>! The currently active gilts, indexed according to the order of creation.$place_bidamountTCompact> duration u324 Place a bid for a gilt to be issued.A Origin must be Signed, and account must have at least `amount` in free balance.= - `amount`: The amount of the bid; these funds will be reserved. If the bid isA successfully elevated into an issued gilt, then these funds will continue to be reserved until the gilt expires. Must be at least `MinFreeze`.Y - `duration`: The number of periods for which the funds will be locked if the gilt is] issued. It will expire only after this period has elapsed after the point of issuance. Must be greater than 1 and no more than `QueueCount`.8 Complexities: - `Queues[duration].len()` (just take max).,retract_bidamountTCompact> duration u32 Retract a previously placed bid.a Origin must be Signed, and the account should have previously issued a still-active bidp of `amount` for `duration`. - `amount`: The amount of the previous bid. - `duration`: The duration of the previous bid.(set_targettargetPCompact Set target proportion of gilt-funds.x Origin must be `AdminOrigin`.] - `target`: The target proportion of effective issued funds that should be under giltsD at any one time.thawindexPCompactY Remove an active but expired gilt. Reserved funds under gilt are freed and balance is] adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion of effective total issued funds.a Origin must be Signed and the account must be the owner of the gilt of the given index. - `index`: The index of the gilt to be thawed.$BidPlaced $AccountId0BalanceOf u32| A bid was successfully placed.p \[ who, amount, duration \]0BidRetracted $AccountId0BalanceOf u32  A bid was successfully removed (before being accepted as a gilt).p \[ who, amount, duration \](GiltIssued,ActiveIndex8T::BlockNumber$AccountId0BalanceOf1 A bid was accepted as a gilt. The balance may not be released until expiry. \[ index, expiry, who, amount \](GiltThawed,ActiveIndex$AccountId0BalanceOf0BalanceOf An expired gilt has been thawed. \[ index, who, original_amount, additional_amount \](QueueCount u32,] Number of duration queues in total. This sets the maximum duration supported, which is this value multiplied by `Period`.,MaxQueueLen u32 Maximum number of items that may be in each duration queue.0FifoQueueLen u32  Portion of the queue which is free from ordering and just a FIFO. Must be no greater than `MaxQueueLen`.Period8T::BlockNumberA The base period for the duration queues. This is the common multiple across all supported freezing durations that can be bid upon.$MinFreeze0BalanceOf@P6MU The minimum amount of funds that may be offered to freeze for a gilt. Note that thisQ does not actually limit the amount which may be frozen in a gilt since gilts may be split up in order to satisfy the desired amount of funds under gilts.e It should be at least big enough to ensure that there is no possible storage spam attackd or queue-filling attack.0IntakePeriod8T::BlockNumber2Y The number of blocks between consecutive attempts to issue more gilts in an effort to get to the target amount to be frozen.] A larger value results in fewer storage hits each block, but a slower period to get to0 the target.4MaxIntakeBids u32d U The maximum amount of bids that can be turned into issued gilts each block. A largera value here means less of the block available for transactions should there be a glut of bids to make into gilts to reach the target. @DurationTooSmall The duration of the bid is less than one.8DurationTooBig The duration is the bid is greater than the number of queues.8AmountTooSmall The amount of the bid is less than the minimum allowed.$BidTooLowe The queue for the bid's duration is full and the amount bid is too low to get in throughl replacing an existing bid.Unknown\ Gilt index is unknown. NotOwnerl Not the owner of the gilt.(NotExpiredt Gilt not yet at expiry date. NotFound The given bid for retraction is not found.&@ParachainsOrigin2\ParachainsConfiguration4Configuration0ActiveConfigHostConfigurationd The active configuration for the current session.4PendingConfig0SessionIndexHostConfiguration Pending configuration (if any) for the next session.set_validation_upgrade_frequency new8T::BlockNumber Set the validation upgrade frequency.pset_validation_upgrade_delay new8T::BlockNumber Set the validation upgrade delay.dset_code_retention_period new8T::BlockNumber Set the acceptance period for an included candidate.Dset_max_code_size new u32 Set the max validation code size for incoming upgrades.@set_max_pov_size new u32 Set the max POV block size for incoming upgrades.Xset_max_head_data_size new u32 Set the max head data size for paras.Pset_parathread_cores new u32 Set the number of parathread execution cores.Xset_parathread_retries new u32 Set the number of retries for a particular parathread.pset_group_rotation_frequency new8T::BlockNumber Set the parachain validator-group rotation frequencytset_chain_availability_period new8T::BlockNumber Set the availability period for parachains.xset_thread_availability_period new8T::BlockNumber Set the availability period for parathreads.`set_scheduling_lookahead new u32= Set the scheduling lookahead, in expected number of blocks at peak throughput.lset_max_validators_per_core new,Option Set the maximum number of validators to assign to any core.Hset_max_validators new,Option Set the maximum number of validators to use in parachain consensus.Hset_dispute_period new0SessionIndex Set the dispute period, in number of sessions to keep for disputes.set_dispute_post_conclusion_acceptance_period new8T::BlockNumber Set the dispute post conclusion acceptance period.hset_dispute_max_spam_slots new u32 Set the maximum number of dispute spam slots.set_dispute_conclusion_by_time_out_period new8T::BlockNumber Set the dispute conclusion by time out period.Dset_no_show_slots new u32 Set the no show slots, in number of number of consensus slots.P Must be at least 1.Pset_n_delay_tranches new u32 Set the total number of delay tranches.xset_zeroth_delay_tranche_width new u32 Set the zeroth delay tranche width.Pset_needed_approvals new u32 Set the number of validators needed to approve a block.pset_relay_vrf_modulo_samples new u32U Set the number of samples to do of the RelayVRFModulo approval assignment criterion.hset_max_upward_queue_count new u321 Sets the maximum items that can present in a upward dispatch queue at once.dset_max_upward_queue_size new u32i Sets the maximum total size of items that can present in a upward dispatch queue at once.tset_max_downward_message_size new u32 Set the critical downward message size.set_preferred_dispatchable_upward_messages_step_weight newWeight= Sets the soft limit for the phase of dispatching dispatchable upward messages.lset_max_upward_message_size new u321 Sets the maximum size of an upward message that can be sent by a candidate.set_max_upward_message_num_per_candidate new u32  Sets the maximum number of messages that a candidate can contain.dset_hrmp_open_request_ttl new u329 Sets the number of sessions after which an HRMP open channel request expires.\set_hrmp_sender_deposit newBalanceU Sets the amount of funds that the sender should provide for opening an HRMP channel.hset_hrmp_recipient_deposit newBalancee Sets the amount of funds that the recipient should provide for accepting opening an HRMP$ channel.tset_hrmp_channel_max_capacity new u32! Sets the maximum number of messages allowed in an HRMP channel at once.|set_hrmp_channel_max_total_size new u32U Sets the maximum total size of messages in bytes allowed in an HRMP channel at once.set_hrmp_max_parachain_inbound_channels new u32M Sets the maximum number of inbound HRMP channels a parachain is allowed to accept.set_hrmp_max_parathread_inbound_channels new u32Q Sets the maximum number of inbound HRMP channels a parathread is allowed to accept.set_hrmp_channel_max_message_size new u32A Sets the maximum size of a message that could ever be put into an HRMP channel.set_hrmp_max_parachain_outbound_channels new u32I Sets the maximum number of outbound HRMP channels a parachain is allowed to open.set_hrmp_max_parathread_outbound_channels new u32M Sets the maximum number of outbound HRMP channels a parathread is allowed to open.set_hrmp_max_message_num_per_candidate new u329 Sets the maximum number of outbound HRMP messages can be sent by a candidate.  All the validators actively participating in parachain consensus. Indices are into the broader validator set.LActiveValidatorKeys@Vec The parachain attestation keys of the validators actively participating in parachain consensus. This should be the same length as `ActiveValidatorIndices`.48ParasInclusion4ParaInclusion TAvailabilityBitfields8ValidatorIndexAvailabilityBitfieldRecorde The latest bitfield for each validator, referred to by their index in the validator set.LPendingAvailabilityParaIdCandidatePendingAvailability Candidates pending availability by `ParaId`.xPendingAvailabilityCommitmentsParaIdPCandidateCommitments The commitments of candidates pending availability, by ParaId. HeadData$CoreIndex(GroupIndex A candidate was backed. [candidate, head_data]DCandidateIncludedXCandidateReceipt HeadData$CoreIndex(GroupIndex A candidate was included. [candidate, head_data]DCandidateTimedOut XCandidateReceipt HeadData$CoreIndex A candidate timed out. [candidate, head_data]`DWrongBitfieldSize Availability bitfield has unexpected size.pBitfieldDuplicateOrUnorderedQ Multiple bitfields submitted by same validator or validators out of order by index.dValidatorIndexOutOfBounds| Validator index out of bounds.`InvalidBitfieldSignatureH Invalid signaturePUnscheduledCandidate Candidate submitted but para not scheduled.CandidateScheduledBeforeParaFree5 Candidate scheduled despite pending candidate already existing for the para.4WrongCollator Candidate included with the wrong collator.LScheduledOutOfOrderx Scheduled cores out of order.@HeadDataTooLarge Head data exceeds the configured maximum.PPrematureCodeUpgradeh Code upgrade prematurely.` is effectively a bool, but it never hits storage in the `None` variant due to the guarantees of FRAME's storage APIs.I If this is `None` at the end of the block, we panic and render the block invalid.enterdataParachainsInherentData5 Enter the paras inherent. This will process bitfields and backed candidates.dTooManyInclusionInherents Inclusion inherent called more than once per block.LInvalidParentHeaderY The hash of the submitted parent header doesn't correspond to the saved block hash of0 the parent.68ParasScheduler4ParaScheduler>m All the validator groups. One for each core. Indices are into `ActiveValidators` - not them broader set of Polkadot validators, but instead just the subset used for parachains during8 this session. Bound: The number of cores is the sum of the numbers of parachains and parathread multiplexers. Reasonably, 100-1000. The dominant factor is the number of validators: safe upper bound at 10k.>  One entry for each availability core. Entries are `None` if the core is not currently occupied. Can be temporarily `Some` if scheduled but not occupied.A The i'th parachain belongs to the i'th core, with the remaining cores all beingd parathread-multiplexers. Bounded by the maximum of either of these two values: * The number of parachains and parathread multiplexersE * The number of validators divided by `configuration.max_validators_per_core`.PParathreadClaimIndex,VecY An index used to ensure that only one claim on a parathread exists in the queue or is currently being handled by an occupied core.} Bounded by the number of parathread cores and scheduling lookahead. Reasonably, 10 * 50 = 500.DSessionStartBlock8T::BlockNumber The block number where the session start occurred. Used to track how many group rotations have occurred.Y Note that in the context of parachains modules the session change is signalled duringa the block and enacted at the end of the block (at the finalization stage, to be exact).Y Thus for all intents and purposes the effect of the session change is observed at thee block following the session change, block number of which we save in this storage value.$ScheduledLVec Currently scheduled cores - free but up to be occupied.M Bounded by the number of cores: one for each parachain and parathread multiplexer. The value contained here will not be valid after the end of a block. Runtime APIs should be used to determine scheduled cores/` for the upcoming block.7ParasParas4(Parachains,Vec- All parachains. Ordered ascending by ParaId. Parathreads are not included.8ParaLifecyclesParaId4ParaLifecycle The current lifecycle of a all known Para IDs.HeadsParaId HeadData The head-data of every registered para. I Past code of parachains. The parachains themselves may not be registered anymore,I but we also keep their code on-chain for the same amount of time as outdated code to keep it available for secondary checkers. Which paras have past code that needs pruning and the relay-chain block at which the code was replaced. Note that this is the actual height of the included block, not the expected height at which the code upgrade would be applied, although they may be equal. This is to ensure the entire acceptance period is covered, not an offset acceptance period startingI from the time at which the parachain perceives a code upgrade as having occurred.U Multiple entries for a single para are permitted. Ordered ascending by block number.HFutureCodeUpgradesParaId8T::BlockNumber ) The block number at which the planned code change is expected for a para.e The change will be applied after the first parablock for this ID included which executes in the context of a relay chain block with a number >= `expected_at`.8FutureCodeHashParaIdHash The actual future code hash of a para. Corresponding code can be retrieved with [`CodeByHash`].0ActionsQueue0SessionIndex,Vec The actions to perform during the start of a specific session index.PUpcomingParasGenesisParaId` more suitable for the semantics of this variable.XBufferedSessionChangeshVecY Buffered session changes along with the block number at which they should be applied.] Typically this will be empty or one element long. Apart from that this item never hits4 the storage.i However this is a `Vec` regardless to handle various edge cases that may occur at runtime upgrade boundaries or if governance intervenes.4force_approveup_to,BlockNumber = Issue a signal to the consensus engine to forcibly act as though all parachainU blocks in all relay chain blocks up to and including the given number in the current chain are valid and should be finalized.9 ParasDmp DmpTDownwardMessageQueuesParaIdVec> The downward messages addressed for a certain para.dDownwardMessageQueueHeadsParaIdHash% A mapping that stores the downward message queue MQC head for each para. Each link in this chain has a form:x `(prev_head, B, H(M))`, where - `prev_head`: is the previous head hash or zero if none.! - `B`: is the relay-chain block number in which a message was appended. - `H(M)`: is the hash of the message being appended.: ParasUmp UmpLRelayDispatchQueuesParaId\VecDequeq The messages waiting to be handled by the relay-chain originating from a certain parachain.y Note that some upward messages might have been already processed by the inclusion logic. E.g.t channel management messages. The messages are processed in FIFO order.XRelayDispatchQueueSizeParaId((u32, u32) ,E Size of the dispatch queues. Caches sizes of the queues in `RelayDispatchQueue`. First item in the tuple is the count of messages and second is the total length (in bytes) of the message payloads.u Note that this is an auxilary mapping: it's possible to tell the byte size and the number ofy messages only looking at `RelayDispatchQueues`. This mapping is separate to avoid the cost of= loading the whole message queue if only the total size and count are required., Invariant:E - The set of keys should exactly match the set of keys of `RelayDispatchQueues`.4NeedsDispatch,Vec The ordered list of `ParaId`s that have a `RelayDispatchQueue` entry., Invariant:5 - The set of items from this vector should be exactly the set of the keys in `RelayDispatchQueues` and `RelayDispatchQueueSize`.hNextDispatchRoundStartWithParaId} This is the para that gets will get dispatched first during the next upward dispatchable queueD execution round., Invariant:  - If `Some(para)`, then `para` must be present in `NeedsDispatch`.;$ParasHrmpHrmp0\HrmpOpenChannelRequests4HrmpChannelIdXHrmpOpenChannelRequest The set of pending HRMP open channel requests. The set is accompanied by a list for iteration., Invariant:= - There are no channels that exists in list but not in the set and vice versa.lHrmpOpenChannelRequestsListHVeclHrmpOpenChannelRequestCountParaId u32 i This mapping tracks how many open channel requests are inititated by a given sender para.} Invariant: `HrmpOpenChannelRequests` should contain the same number of items that has `(X, _)` as the number of `HrmpOpenChannelRequestCount` for `X`.|HrmpAcceptedChannelRequestCountParaId u32 q This mapping tracks how many open channel requests were accepted by a given recipient para.m Invariant: `HrmpOpenChannelRequests` should contain the same number of items `(_, X)` withU `confirmed` set to true, as the number of `HrmpAcceptedChannelRequestCount` for `X`.`HrmpCloseChannelRequests4HrmpChannelId() A set of pending HRMP close channel requests that are going to be closed during the session change. Used for checking if a given channel is registered for closure. The set is accompanied by a list for iteration., Invariant:= - There are no channels that exists in list but not in the set and vice versa.pHrmpCloseChannelRequestsListHVec8HrmpWatermarksParaId8T::BlockNumber The HRMP watermark associated with each para., Invariant:y - each para `P` used here as a key should satisfy `Paras::is_valid_para(P)` within a session.0HrmpChannels4HrmpChannelId,HrmpChannel HRMP channel data associated with each para., Invariant:u - each participant in the channel should satisfy `Paras::is_valid_para(P)` within a session.`HrmpIngressChannelsIndexParaId,Vec4Y Ingress/egress indexes allow to find all the senders and receivers given the opposite, side. I.e.! (a) ingress index allows to find all the senders for a given recipient. (b) egress index allows to find all the recipients for a given sender.0 Invariants: - for each ingress index entry for `P` each item `I` in the index should present in `HrmpChannels`< as `(I, P)`. - for each egress index entry for `P` each item `E` in the index should present in `HrmpChannels`< as `(P, E)`. - there should be no other dangling channels in `HrmpChannels`.h - the vectors are sorted.\HrmpEgressChannelsIndexParaId,VecLHrmpChannelContents4HrmpChannelIdVec> Storage for the messages for each channel.e Invariant: cannot be non-empty if the corresponding channel in `HrmpChannels` is `None`.HHrmpChannelDigestsParaIdVec<(T::BlockNumber, Vec)> Maintains a mapping that can be used to answer the question:) What paras sent a message at the given block number for a given reciever.0 Invariants: - The inner `Vec` is never empty. - The inner `Vec` cannot store two same `ParaId`. - The outer vector is sorted ascending by block number and cannot store two items with the same@ block number.Xhrmp_init_open_channel $recipientParaIdTproposed_max_capacity u32dproposed_max_message_size u32(Q Initiate opening a channel from a parachain to a given recipient with given channel0 parameters.] - `proposed_max_capacity` - specifies how many messages can be in the channel at once.M - `proposed_max_message_size` - specifies the maximum size of any of the messages. These numbers are a subject to the relay-chain configuration limits.U The channel can be opened only after the recipient confirms it and only on a session change.`hrmp_accept_open_channelsenderParaId Accept a pending open channel request from the given sender. The channel will be opened only on the next session boundary.Hhrmp_close_channel(channel_id4HrmpChannelIdY Initiate unilateral closing of a channel. The origin must be either the sender or the recipient in the channel being closed. The closure can only happen on a session change.@force_clean_hrmpparaParaId This extrinsic triggers the cleanup of all the HRMP storage items that% a para may have. Normally this happens once per session, but this allows you to trigger the cleanup immediately for a specific parachain.T Origin must be Root.\force_process_hrmp_open Force process hrmp open channel requests.  If there are pending HRMP open channel requests, you can use this function process all of those requests immediately.`force_process_hrmp_close Force process hrmp close channel requests.  If there are pending HRMP close channel requests, you can use this function process all of those requests immediately. POpenChannelRequestedParaIdParaId u32 u32t Open HRMP channel requested.! \[sender, recipient, proposed_max_capacity, proposed_max_message_size\]LOpenChannelAcceptedParaIdParaId Open HRMP channel accepted. \[sender, recipient\]4ChannelClosedParaId4HrmpChannelId HRMP channel closed. \[by_parachain, channel_id\] Assignment keys for the current session.m Note that this API is private due to it being prone to 'off-by-one' at session boundaries. When in doubt, use `Sessions` API instead.TEarliestStoredSession0SessionIndex The earliest session for which previous session info is stored. Sessions0SessionIndex,SessionInfo Session information in a rolling window.5 Should have an entry in range `EarliestStoredSession..=CurrentSessionIndex`.u Does not have any entries before the session index in the first session change notification.=$Registrar$Registrar ,PendingSwapParaIdParaIdd Pending swap operations.ParasParaIdParaInfo> Amount held on deposit for each para and the original depositor. The given account ID is responsible for registering the code and initial head data, but may only do5 so if it isn't yet registered. (After that, it's up to governance to do so.)8NextFreeParaIdParaId` The next free `ParaId`. register idParaId0genesis_head HeadDataidParaId0genesis_head HeadData@0 u HDataDepositPerByte0BalanceOf@U,MaxCodeSize u32,MaxHeadSize u32P44NotRegisteredh The ID is not registered.DAlreadyRegisteredx The ID is already registered. NotOwner The caller is not the owner of this Id.0CodeTooLarge` Invalid para code size.@HeadDataTooLarget Invalid para head data size.0NotParachaind Para is not a Parachain.4NotParathreadh Para is not a Parathread.@CannotDeregister\ Cannot deregister para)>>@ Amounts held on deposit for each (possibly future) leased parachain. The actual amount locked on its behalf by any account at any time is the maximum of the second values of the items in this list whose first value is the account.a The 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 ita will be left-padded with one or more `None`s to denote the fact that nothing is held on] deposit for the non-existent chain currently, but is held at some point in the future. It is illegal for a `None` value to trail in the list. ,force_leaseparaParaIdleaser0T::AccountIdamount0BalanceOf0period_begin@LeasePeriodOf0period_count@LeasePeriodOfm Just a hotwire into the `lease_out` call, in case Root wants to force some lease to happen independently of any other on-chain mechanism to use it. Can only be called by the Root origin.@clear_all_leasesparaParaId Q Clear all leases for a Para Id, refunding any deposits back to the original owners. Can only be called by the Root origin., 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.1 Amounts currently reserved in the accounts of the bidders currently winning8 (sub-)ranges.Winning8T::BlockNumber8WinningData a The winning bids for each of the 10 ranges at each sample in the final Ending Period ofI the current auction. The map's key is the 0-based index into the Sample Size. The first sample of the ending period is 0; the last is `Sample Size - 1`. ,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. bidpara4auction_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.8cancel_auction | Cancel an in-progress auction. Can only be called by Root origin.$8AuctionStarted 0AuctionIndex,LeasePeriod,BlockNumber M 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. [auction_index, lease_period, ending]4AuctionClosed0AuctionIndex An auction ended. All funds become unreserved. [auction_index]$WonDeploy$AccountId$SlotRangeParaIdBalanceU Someone won the right to deploy a parachain. Balance amount is deducted for deposit. [bidder, range, parachain_id, amount](WonRenewalParaId,LeasePeriod,LeasePeriodBalance An existing parachain won the right to continue.E First balance is the extra amount reserved. Second is the total amount reserved. [parachain_id, begin, count, total_amount] Reserved $AccountIdBalanceBalanceM Funds were reserved for a winning bid. First balance is the extra amount reserved. Second is the total. [bidder, extra_reserved, total_amount](Unreserved$AccountIdBalance% Funds were unreserved since bidder is no longer active. [bidder, amount]HReserveConfiscated ParaId$AccountIdBalance y Someone attempted to lease the same slot twice for a parachain. The amount is held in reserve but no parachain slot has been leased. \[parachain_id, leaser, amount\],BidAccepted$AccountIdParaIdBalance,LeasePeriod,LeasePeriod A new bid has been accepted as the current winner. \[who, para_id, amount, first_slot, last_slot\]4WinningOffset0AuctionIndex,BlockNumberq The winning offset was chosen for an auction. This will map into the `Winning` storage map. \[auction_index, block_number\]0EndingPeriod8T::BlockNumber@ The number of blocks over which an auction may be retroactively ended.0SampleLength8T::BlockNumber The length of each sample to take during the ending period. EndingPeriod / SampleLength = Total # of Samples8SlotRangeCount u32$LLeasePeriodsPerSlot u328DAuctionInProgress This auction is already in progress.DLeasePeriodInPast The lease period is in the past.4NotParaOrigin The origin for this call must be a parachain.DParaNotRegistered\ Para is not registeredDParaNotOnboarding The parachain ID is not on-boarding.4InvalidOrigin) The origin for this call must be the origin who registered the parachain.DAlreadyRegistered Parachain is already registered.,InvalidCode The code must correspond to the hash., T::BlockNumber, LeasePeriodOf< T>>h Info on all of the funds. NewRaise,VecU The funds that have had additional contributions during the last block. This is used in order to determine which funds should submit new or updated bids.0EndingsCount u32) The number of auctions that have entered into their ending period so far.4NextTrieIndex u32 Tracker for the next available trie index createindex capTCompact>0first_perioddCompact>,last_perioddCompact> end\Compact verifierLOptionm Create a new crowdloaning campaign for a parachain slot with the given lease period range.a This applies a lock to your parachain configuration, ensuring that it cannot be changedh by the parachain manager.(contribute indexvalueTCompact>$signatureXOptionU Contribute to a crowd sale. This will transfer some balance over to fund a parachainU slot. It will be withdrawable when the crowdloan has ended and the funds are unused. withdraw who0T::AccountIdindexD Withdraw full balance of a specific contributor. Origin must be signed, but can come from anyone. The fund must be either in, or ready for, retirement. For a fund to be *in* retirement, then the retirement flag must be set. For a fund to be ready for retirement, then: - it must not already be in retirement;Q - the amount of raised funds must be bigger than the _free_ balance of the account;8 - and either: - the block number must be at least `end`; or1 - the current lease period must be greater than the fund's `last_period`.q In this case, the fund's retirement flag is set and its `end` is reset to the current block number. - `who`: The account whose contribution should be withdrawn. - `index`: The parachain to whose crowdloan the contribution was made.refundindex Automatically refund contributors of an ended crowdloan.% Due to weight restrictions, this function may need to be called multipleM times to fully refund all users. We will refund `RemoveKeysLimit` users at a time. Origin must be signed, but can come from anyone. dissolveindexY Remove a fund after the retirement period has ended and all funds have been returned.editindex capTCompact>0first_perioddCompact>,last_perioddCompact> end\Compact verifierLOption Edit the configuration for an in-progress crowdloan. Can only be called by Root origin. add_memoindexParaIdmemoVec Add an optional memo to an existing crowdloan contribution.1 Origin must be Signed, and the user must have contributed to the crowdloan.pokeindexParaId p Poke the fund into NewRaise Origin must be Signed, and the fund has non-zero raise.0CreatedParaId Create a new crowdloaning campaign. [fund_index],Contributed $AccountIdParaIdBalance Contributed to a crowd sale. [who, fund_index, amount] Withdrew $AccountIdParaIdBalance  Withdrew full balance of a contributor. [who, fund_index, amount]DPartiallyRefundedParaId1 The loans in a fund have been partially dissolved, i.e. there are some left over child keys that still need to be killed. [fund_index],AllRefundedParaId All loans in a fund have been refunded. [fund_index]$DissolvedParaId Fund is dissolved. [fund_index] A memo has been updated. [who, fund_index, memo]@vHm The minimum amount that may be contributed into a crowdloan. Should almost certainly be ath least ExistentialDeposit.,dest_weightWeight, Teleport some assets from the local chain to some destination chain.- - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send] from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally beh an `AccountId32` value. - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the< `dest` side.! - `dest_weight`: Equal to the total weight on `dest` of the XCM message) `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.\reserve_transfer_assetsdest4MultiLocation,beneficiary4MultiLocationassets,dest_weightWeight0 Transfer some assets from the local chain to the sovereign account of a destination chain and forwardP a notification XCM.- - `origin`: Must be capable of withdrawing the `assets` and executing XCM. - `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send] from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain. - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally beh an `AccountId32` value. - `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the< `dest` side.! - `dest_weight`: Equal to the total weight on `dest` of the XCM messageU `ReserveAssetDeposit { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.executemessageDBox>(max_weightWeight, Execute an XCM message from a local, signed, origin.Q An event is deposited indicating whether `msg` could be executed completely or only, partially.q No more than `max_weight` will be used in its attempted execution. If this is less than the] maximum amount of weight that the message could take to be executed, then no executionX attempt will be made.q NOTE: A successful return to this does *not* imply that the `msg` was executed successfully to completion; only that *some* of it was executed.$Attempted@xcm::v0::OutcomeSent 4MultiLocation4MultiLocationXcm<()>,Unreachable,SendFailure Filtered The message execution fails the filter.HUnweighableMessage The message's weight could not be determined.c@CheckSpecVersion8CheckTxVersion0CheckGenesis8CheckMortality(CheckNonce,CheckWeight`ChargeTransactionPayment