|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=Ŭ^%#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.$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.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@vH The deposit needed for reserving an index. 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@ T The minimum amount required to keep an account open. 8VestingBalance Vesting balance too high to send valueTLiquidityRestrictions Account liquidity restrictions prevent withdrawal Overflowt Got an overflow after addingLInsufficientBalancex 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@@B  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.@DeferredOffencesdVec>e Deferred reports that have been rejected by the offence handler and need to be submittedD at a later time.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.Offence Kind8OpaqueTimeSlotboolU There is an offence reported of the given `kind` happened at the `session_index` andM (kind-specific) time slot. This event is not deposited for duplicate slashes. last element indicates of the offence was applied (true) or queued (false)t \[kind, timeslot, applied\].(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@5 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.m Similar to [`remove_members`], if replacement runners exists, they are immediately used.5 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)>i A new term with \[new_members\]. This indicates that enough candidates existed to run theY election, not that enough have has been elected. The inner value must be examined fori this purpose. A `NewTerm(\[\])` indicates that some candidates got their bond slashed andY none were elected, whilst `EmptyTerm` means that no candidates existed to 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.4CandidacyBond0BalanceOf@8VotingBondBase0BalanceOf@p.@VotingBondFactor0BalanceOf@8DesiredMembers u32 @DesiredRunnersUp u320TermDuration8T::BlockNumber ModuleId8LockIdentifier phrelectD0UnableToVote 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. Treasury Treasury 4ProposalCount4ProposalIndex Number of proposals that have been made.$Proposals4ProposalIndexProposal>| Proposals that have been made.$ApprovalsHVec Proposal indices that have been approved but not yet awarded. 4propose_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::BlockNumberF Period between successive spends.BurnPermill' Percentage of spare funds (if any) that are burnt per spend period. ModuleId ModuleId 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.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, 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@ 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.Utility batchcalls`Vec<::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\]@}*/ The amount held on deposit for a registered identity.0FieldDeposit0BalanceOf@V'- The amount held on deposit per additional field for a registered identity.DSubAccountDeposit0BalanceOf@. 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.>, 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@f 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@V' 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@a.q The base amount of currency needed to reserve for creating a multisig execution or to storel a dispatch call for later.4DepositFactor0BalanceOf@U The amount of currency needed per unit threshold when creating a multisig execution.8MaxSignatories u16d The maximum amount of signatories allowed for a given 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@ The amount held on deposit per byte within bounty description.DBountyDepositBase0BalanceOf@ T 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@vHp 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@ T The amount held on deposit for placing a tip report.HDataDepositPerByte0BalanceOf@  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::BlockNumberX 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). hPreDispatchEarlySubmissionh Submission was too early.lPreDispatchWrongWinnerCount Wrong number of winners presented.dPreDispatchWeakSubmission Submission was too weak, score-wise.$ @CheckSpecVersion8CheckTxVersion0CheckGenesis8CheckMortality(CheckNonce,CheckWeight`ChargeTransactionPaymentHPrevalidateAttests