Struct parachain_staking::pallet::Pallet
source · pub struct Pallet<T>(_);
Expand description
Pallet for parachain staking
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn set_total_selected(
origin: OriginFor<T>,
new: u32
) -> DispatchResultWithPostInfo
pub fn set_total_selected( origin: OriginFor<T>, new: u32 ) -> DispatchResultWithPostInfo
Set the total number of collator candidates selected per round
- changes are not applied until the start of the next round
sourcepub fn set_collator_commission(
origin: OriginFor<T>,
new: Perbill
) -> DispatchResultWithPostInfo
pub fn set_collator_commission( origin: OriginFor<T>, new: Perbill ) -> DispatchResultWithPostInfo
Set the commission for all collators
sourcepub fn join_candidates(
origin: OriginFor<T>,
bond: BalanceOf<T>,
liquidity_token: CurrencyIdOf<T>,
use_balance_from: Option<BondKind>,
candidate_count: u32,
liquidity_token_count: u32
) -> DispatchResultWithPostInfo
pub fn join_candidates( origin: OriginFor<T>, bond: BalanceOf<T>, liquidity_token: CurrencyIdOf<T>, use_balance_from: Option<BondKind>, candidate_count: u32, liquidity_token_count: u32 ) -> DispatchResultWithPostInfo
Join the set of collator candidates
sourcepub fn schedule_leave_candidates(
origin: OriginFor<T>,
candidate_count: u32
) -> DispatchResultWithPostInfo
pub fn schedule_leave_candidates( origin: OriginFor<T>, candidate_count: u32 ) -> DispatchResultWithPostInfo
Request to leave the set of candidates. If successful, the account is immediately removed from the candidate pool to prevent selection as a collator.
sourcepub fn execute_leave_candidates(
origin: OriginFor<T>,
candidate: T::AccountId,
candidate_delegation_count: u32
) -> DispatchResultWithPostInfo
pub fn execute_leave_candidates( origin: OriginFor<T>, candidate: T::AccountId, candidate_delegation_count: u32 ) -> DispatchResultWithPostInfo
Execute leave candidates request
sourcepub fn cancel_leave_candidates(
origin: OriginFor<T>,
candidate_count: u32
) -> DispatchResultWithPostInfo
pub fn cancel_leave_candidates( origin: OriginFor<T>, candidate_count: u32 ) -> DispatchResultWithPostInfo
Cancel open request to leave candidates
- only callable by collator account
- result upon successful call is the candidate is active in the candidate pool
sourcepub fn go_offline(origin: OriginFor<T>) -> DispatchResultWithPostInfo
pub fn go_offline(origin: OriginFor<T>) -> DispatchResultWithPostInfo
Temporarily leave the set of collator candidates without unbonding
sourcepub fn go_online(origin: OriginFor<T>) -> DispatchResultWithPostInfo
pub fn go_online(origin: OriginFor<T>) -> DispatchResultWithPostInfo
Rejoin the set of collator candidates if previously had called go_offline
sourcepub fn schedule_candidate_bond_more(
origin: OriginFor<T>,
more: BalanceOf<T>,
use_balance_from: Option<BondKind>
) -> DispatchResultWithPostInfo
pub fn schedule_candidate_bond_more( origin: OriginFor<T>, more: BalanceOf<T>, use_balance_from: Option<BondKind> ) -> DispatchResultWithPostInfo
Request by collator candidate to increase self bond by more
sourcepub fn schedule_candidate_bond_less(
origin: OriginFor<T>,
less: BalanceOf<T>
) -> DispatchResultWithPostInfo
pub fn schedule_candidate_bond_less( origin: OriginFor<T>, less: BalanceOf<T> ) -> DispatchResultWithPostInfo
Request by collator candidate to decrease self bond by less
sourcepub fn execute_candidate_bond_request(
origin: OriginFor<T>,
candidate: T::AccountId,
use_balance_from: Option<BondKind>
) -> DispatchResultWithPostInfo
pub fn execute_candidate_bond_request( origin: OriginFor<T>, candidate: T::AccountId, use_balance_from: Option<BondKind> ) -> DispatchResultWithPostInfo
Execute pending request to adjust the collator candidate self bond
sourcepub fn cancel_candidate_bond_request(
origin: OriginFor<T>
) -> DispatchResultWithPostInfo
pub fn cancel_candidate_bond_request( origin: OriginFor<T> ) -> DispatchResultWithPostInfo
Cancel pending request to adjust the collator candidate self bond
sourcepub fn delegate(
origin: OriginFor<T>,
collator: T::AccountId,
amount: BalanceOf<T>,
use_balance_from: Option<BondKind>,
candidate_delegation_count: u32,
delegation_count: u32
) -> DispatchResultWithPostInfo
pub fn delegate( origin: OriginFor<T>, collator: T::AccountId, amount: BalanceOf<T>, use_balance_from: Option<BondKind>, candidate_delegation_count: u32, delegation_count: u32 ) -> DispatchResultWithPostInfo
If caller is not a delegator and not a collator, then join the set of delegators If caller is a delegator, then makes delegation to change their delegation state
sourcepub fn schedule_leave_delegators(
origin: OriginFor<T>
) -> DispatchResultWithPostInfo
pub fn schedule_leave_delegators( origin: OriginFor<T> ) -> DispatchResultWithPostInfo
Request to leave the set of delegators. If successful, the caller is scheduled to be allowed to exit. Success forbids future delegator actions until the request is invoked or cancelled.
sourcepub fn execute_leave_delegators(
origin: OriginFor<T>,
delegator: T::AccountId,
delegation_count: u32
) -> DispatchResultWithPostInfo
pub fn execute_leave_delegators( origin: OriginFor<T>, delegator: T::AccountId, delegation_count: u32 ) -> DispatchResultWithPostInfo
Execute the right to exit the set of delegators and revoke all ongoing delegations.
sourcepub fn cancel_leave_delegators(
origin: OriginFor<T>
) -> DispatchResultWithPostInfo
pub fn cancel_leave_delegators( origin: OriginFor<T> ) -> DispatchResultWithPostInfo
Cancel a pending request to exit the set of delegators. Success clears the pending exit
request (thereby resetting the delay upon another leave_delegators
call).
sourcepub fn schedule_revoke_delegation(
origin: OriginFor<T>,
collator: T::AccountId
) -> DispatchResultWithPostInfo
pub fn schedule_revoke_delegation( origin: OriginFor<T>, collator: T::AccountId ) -> DispatchResultWithPostInfo
Request to revoke an existing delegation. If successful, the delegation is scheduled
to be allowed to be revoked via the execute_delegation_request
extrinsic.
sourcepub fn schedule_delegator_bond_more(
origin: OriginFor<T>,
candidate: T::AccountId,
more: BalanceOf<T>,
use_balance_from: Option<BondKind>
) -> DispatchResultWithPostInfo
pub fn schedule_delegator_bond_more( origin: OriginFor<T>, candidate: T::AccountId, more: BalanceOf<T>, use_balance_from: Option<BondKind> ) -> DispatchResultWithPostInfo
Request to bond more for delegators wrt a specific collator candidate.
sourcepub fn schedule_delegator_bond_less(
origin: OriginFor<T>,
candidate: T::AccountId,
less: BalanceOf<T>
) -> DispatchResultWithPostInfo
pub fn schedule_delegator_bond_less( origin: OriginFor<T>, candidate: T::AccountId, less: BalanceOf<T> ) -> DispatchResultWithPostInfo
Request bond less for delegators wrt a specific collator candidate.
sourcepub fn execute_delegation_request(
origin: OriginFor<T>,
delegator: T::AccountId,
candidate: T::AccountId,
use_balance_from: Option<BondKind>
) -> DispatchResultWithPostInfo
pub fn execute_delegation_request( origin: OriginFor<T>, delegator: T::AccountId, candidate: T::AccountId, use_balance_from: Option<BondKind> ) -> DispatchResultWithPostInfo
Execute pending request to change an existing delegation
sourcepub fn cancel_delegation_request(
origin: OriginFor<T>,
candidate: T::AccountId
) -> DispatchResultWithPostInfo
pub fn cancel_delegation_request( origin: OriginFor<T>, candidate: T::AccountId ) -> DispatchResultWithPostInfo
Cancel request to change an existing delegation.
sourcepub fn add_staking_liquidity_token(
origin: OriginFor<T>,
paired_or_liquidity_token: PairedOrLiquidityToken<CurrencyIdOf<T>>,
current_liquidity_tokens: u32
) -> DispatchResultWithPostInfo
pub fn add_staking_liquidity_token( origin: OriginFor<T>, paired_or_liquidity_token: PairedOrLiquidityToken<CurrencyIdOf<T>>, current_liquidity_tokens: u32 ) -> DispatchResultWithPostInfo
Enables new staking token to be used for staking. Only tokens paired with MGX can be used. Caller can pass the id of token for which MGX paired pool already exists or liquidity token id itself. Root only
sourcepub fn remove_staking_liquidity_token(
origin: OriginFor<T>,
paired_or_liquidity_token: PairedOrLiquidityToken<CurrencyIdOf<T>>,
current_liquidity_tokens: u32
) -> DispatchResultWithPostInfo
pub fn remove_staking_liquidity_token( origin: OriginFor<T>, paired_or_liquidity_token: PairedOrLiquidityToken<CurrencyIdOf<T>>, current_liquidity_tokens: u32 ) -> DispatchResultWithPostInfo
Removes previously added liquidity token
sourcepub fn aggregator_update_metadata(
origin: OriginFor<T>,
collator_candidates: Vec<T::AccountId>,
action: MetadataUpdateAction
) -> DispatchResultWithPostInfo
pub fn aggregator_update_metadata( origin: OriginFor<T>, collator_candidates: Vec<T::AccountId>, action: MetadataUpdateAction ) -> DispatchResultWithPostInfo
Modifies aggregator metadata by extending or reducing list of approved candidates Account may only become aggregator only if its not collator or delegator at the moment
sourcepub fn update_candidate_aggregator(
origin: OriginFor<T>,
maybe_aggregator: Option<T::AccountId>
) -> DispatchResultWithPostInfo
pub fn update_candidate_aggregator( origin: OriginFor<T>, maybe_aggregator: Option<T::AccountId> ) -> DispatchResultWithPostInfo
Assigns/replaces the candidate that given collator wants to aggregate under
sourcepub fn payout_collator_rewards(
origin: OriginFor<T>,
collator: T::AccountId,
number_of_sesisons: Option<u32>
) -> DispatchResultWithPostInfo
pub fn payout_collator_rewards( origin: OriginFor<T>, collator: T::AccountId, number_of_sesisons: Option<u32> ) -> DispatchResultWithPostInfo
This extrinsic should be used to distribute rewards for collator and assodiated delegators. As round rewards are processed in random order its impossible predict how many delegators (and assodiated transfer extrinsic calls) will be required so worst case scenario (delegators_count = MaxCollatorCandidates) is assumed.
params:
- collator - account id
- limit - number of rewards periods that should be processed within extrinsic. Note
that limit assumes worst case scenario of (delegators_count = MaxCollatorCandidates)
so as a result,
limit
or more session round rewards may be distributed
sourcepub fn payout_delegator_reward(
origin: OriginFor<T>,
round: u32,
collator: T::AccountId,
delegator: T::AccountId
) -> DispatchResultWithPostInfo
pub fn payout_delegator_reward( origin: OriginFor<T>, round: u32, collator: T::AccountId, delegator: T::AccountId ) -> DispatchResultWithPostInfo
Payout delegator rewards only for particular round. Collators should rather use
Pallet::payout_collator_rewards
but if collator is inresponsive one can claim
particular delegator rewards manually.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
pub fn payout_reward( round: u32, to: T::AccountId, amt: BalanceOf<T>, kind: RewardKind<T::AccountId> ) -> DispatchResult
pub fn is_delegator(acc: &T::AccountId) -> bool
pub fn is_candidate(acc: &T::AccountId) -> bool
pub fn is_aggregator(acc: &T::AccountId) -> bool
pub fn is_selected_candidate(acc: &T::AccountId) -> bool
pub fn do_update_candidate_aggregator( candidate: &T::AccountId, maybe_aggregator: Option<T::AccountId> ) -> DispatchResult
pub fn calculate_collators_valuations<'a, I>( valuated_bond_it: I ) -> BTreeMap<T::AccountId, BalanceOf<T>>where I: Iterator<Item = (&'a Bond<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>, BalanceOf<T>)> + Clone,
pub fn calculate_aggregators_collator_info<'a, I>( valuated_bond_it: I ) -> BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>where I: Iterator<Item = (&'a Bond<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>, BalanceOf<T>)>,
pub fn calculate_valuations_and_aggregation_info( ) -> (BTreeMap<T::AccountId, BalanceOf<T>>, BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>)
sourcepub fn compute_top_candidates(
) -> (Vec<(T::AccountId, BalanceOf<T>)>, Vec<(T::AccountId, BalanceOf<T>)>, BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>)
pub fn compute_top_candidates( ) -> (Vec<(T::AccountId, BalanceOf<T>)>, Vec<(T::AccountId, BalanceOf<T>)>, BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>)
Compute the top TotalSelected
candidates in the CandidatePool and return
a vec of their AccountIds (in the order of selection)
pub fn staking_liquidity_tokens_snapshot()
sourcepub fn select_top_candidates(now: u32) -> (u32, u32, BalanceOf<T>)
pub fn select_top_candidates(now: u32) -> (u32, u32, BalanceOf<T>)
Best as in most cumulatively supported in terms of stake Returns [collator_count, delegation_count, total staked]
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn collator_commission() -> Perbill
pub fn collator_commission() -> Perbill
An auto-generated getter for CollatorCommission
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn total_selected() -> u32
pub fn total_selected() -> u32
An auto-generated getter for TotalSelected
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn round() -> RoundInfo<BlockNumberFor<T>>
pub fn round() -> RoundInfo<BlockNumberFor<T>>
An auto-generated getter for Round
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn delegator_state<KArg>(
k: KArg
) -> Option<Delegator<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>where
KArg: EncodeLike<T::AccountId>,
pub fn delegator_state<KArg>( k: KArg ) -> Option<Delegator<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>where KArg: EncodeLike<T::AccountId>,
An auto-generated getter for DelegatorState
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn candidate_state<KArg>(
k: KArg
) -> Option<CollatorCandidate<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>where
KArg: EncodeLike<T::AccountId>,
pub fn candidate_state<KArg>( k: KArg ) -> Option<CollatorCandidate<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>where KArg: EncodeLike<T::AccountId>,
An auto-generated getter for CandidateState
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn selected_candidates() -> Vec<T::AccountId>
pub fn selected_candidates() -> Vec<T::AccountId>
An auto-generated getter for SelectedCandidates
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn total<KArg>(k: KArg) -> BalanceOf<T>where
KArg: EncodeLike<CurrencyIdOf<T>>,
pub fn total<KArg>(k: KArg) -> BalanceOf<T>where KArg: EncodeLike<CurrencyIdOf<T>>,
An auto-generated getter for Total
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn candidate_pool(
) -> OrderedSet<Bond<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>
pub fn candidate_pool( ) -> OrderedSet<Bond<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>>
An auto-generated getter for CandidatePool
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn at_stake<KArg1, KArg2>(
k1: KArg1,
k2: KArg2
) -> CollatorSnapshot<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>where
KArg1: EncodeLike<u32>,
KArg2: EncodeLike<T::AccountId>,
pub fn at_stake<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> CollatorSnapshot<T::AccountId, BalanceOf<T>, CurrencyIdOf<T>>where KArg1: EncodeLike<u32>, KArg2: EncodeLike<T::AccountId>,
An auto-generated getter for AtStake
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn awarded_pts<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> u32where
KArg1: EncodeLike<u32>,
KArg2: EncodeLike<T::AccountId>,
pub fn awarded_pts<KArg1, KArg2>(k1: KArg1, k2: KArg2) -> u32where KArg1: EncodeLike<u32>, KArg2: EncodeLike<T::AccountId>,
An auto-generated getter for AwardedPts
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn staking_liquidity_tokens(
) -> BTreeMap<CurrencyIdOf<T>, Option<(BalanceOf<T>, BalanceOf<T>)>>
pub fn staking_liquidity_tokens( ) -> BTreeMap<CurrencyIdOf<T>, Option<(BalanceOf<T>, BalanceOf<T>)>>
An auto-generated getter for StakingLiquidityTokens
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_candidate_aggregator() -> BTreeMap<T::AccountId, T::AccountId>
pub fn get_candidate_aggregator() -> BTreeMap<T::AccountId, T::AccountId>
An auto-generated getter for CandidateAggregator
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_aggregator_metadata<KArg>(
k: KArg
) -> Option<AggregatorMetadataType<T::AccountId, CurrencyIdOf<T>>>where
KArg: EncodeLike<T::AccountId>,
pub fn get_aggregator_metadata<KArg>( k: KArg ) -> Option<AggregatorMetadataType<T::AccountId, CurrencyIdOf<T>>>where KArg: EncodeLike<T::AccountId>,
An auto-generated getter for AggregatorMetadata
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_round_aggregator_info<KArg>(
k: KArg
) -> Option<BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>>where
KArg: EncodeLike<u32>,
pub fn get_round_aggregator_info<KArg>( k: KArg ) -> Option<BTreeMap<T::AccountId, BTreeMap<T::AccountId, BalanceOf<T>>>>where KArg: EncodeLike<u32>,
An auto-generated getter for RoundAggregatorInfo
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_round_collator_reward_info<KArg1, KArg2>(
k1: KArg1,
k2: KArg2
) -> Option<RoundCollatorRewardInfoType<T::AccountId, BalanceOf<T>>>where
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<u32>,
pub fn get_round_collator_reward_info<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> Option<RoundCollatorRewardInfoType<T::AccountId, BalanceOf<T>>>where KArg1: EncodeLike<T::AccountId>, KArg2: EncodeLike<u32>,
An auto-generated getter for RoundCollatorRewardInfo
.
Trait Implementations§
source§impl<T: Config> EstimateNextSessionRotation<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> EstimateNextSessionRotation<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn average_session_length() -> BlockNumberFor<T>
fn average_session_length() -> BlockNumberFor<T>
source§fn estimate_current_session_progress(
now: BlockNumberFor<T>
) -> (Option<Permill>, Weight)
fn estimate_current_session_progress( now: BlockNumberFor<T> ) -> (Option<Permill>, Weight)
source§fn estimate_next_session_rotation(
_now: BlockNumberFor<T>
) -> (Option<BlockNumberFor<T>>, Weight)
fn estimate_next_session_rotation( _now: BlockNumberFor<T> ) -> (Option<BlockNumberFor<T>>, Weight)
source§impl<T: Config> EventHandler<<T as Config>::AccountId, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> EventHandler<<T as Config>::AccountId, <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
Add reward points to block authors:
- 20 points to the block producer for producing a block in the chain
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_idle(_now: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(_now: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moresource§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
source§fn integrity_test()
fn integrity_test()
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
.source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_idle
.source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
.source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§impl<T: Config> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T: Config> PalletsInfoAccess for Pallet<T>
impl<T: Config> PalletsInfoAccess for Pallet<T>
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> SessionManager<<T as Config>::AccountId> for Pallet<T>
impl<T: Config> SessionManager<<T as Config>::AccountId> for Pallet<T>
source§fn new_session(_: SessionIndex) -> Option<Vec<T::AccountId>>
fn new_session(_: SessionIndex) -> Option<Vec<T::AccountId>>
source§fn start_session(session_index: SessionIndex)
fn start_session(session_index: SessionIndex)
source§fn end_session(_: SessionIndex)
fn end_session(_: SessionIndex)
source§impl<T: Config> ShouldEndSession<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> ShouldEndSession<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn should_end_session(now: BlockNumberFor<T>) -> bool
fn should_end_session(now: BlockNumberFor<T>) -> bool
true
if the session should be ended.source§impl<T: Config> StorageInfoTrait for Pallet<T>
impl<T: Config> StorageInfoTrait for Pallet<T>
fn storage_info() -> Vec<StorageInfo>
source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T> Eq for Pallet<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,
impl<T> Send for Pallet<T>where T: Send,
impl<T> Sync for Pallet<T>where T: Sync,
impl<T> Unpin for Pallet<T>where T: Unpin,
impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.