pub enum Call<T: Config> {
Show 33 variants
bond {
value: BalanceOf<T>,
payee: RewardDestination<T::AccountId>,
},
bond_extra {
max_additional: BalanceOf<T>,
},
unbond {
value: BalanceOf<T>,
},
withdraw_unbonded {
num_slashing_spans: u32,
},
validate {
prefs: ValidatorPrefs,
},
nominate {
targets: Vec<<<T as Config>::Lookup as StaticLookup>::Source>,
},
chill {},
set_payee {
payee: RewardDestination<T::AccountId>,
},
set_controller {},
set_validator_count {
new: u32,
},
increase_validator_count {
additional: u32,
},
scale_validator_count {
factor: Percent,
},
force_no_eras {},
force_new_era {},
set_invulnerables {
invulnerables: Vec<T::AccountId>,
},
force_unstake {
stash: T::AccountId,
num_slashing_spans: u32,
},
force_new_era_always {},
cancel_deferred_slash {
era: EraIndex,
slash_keys: Vec<(T::AccountId, Perbill, u32)>,
},
payout_stakers {
validator_stash: T::AccountId,
era: EraIndex,
},
rebond {
value: BalanceOf<T>,
},
reap_stash {
stash: T::AccountId,
num_slashing_spans: u32,
},
kick {
who: Vec<<<T as Config>::Lookup as StaticLookup>::Source>,
},
set_staking_configs {
min_nominator_bond: ConfigOp<BalanceOf<T>>,
min_validator_bond: ConfigOp<BalanceOf<T>>,
max_nominator_count: ConfigOp<u32>,
max_validator_count: ConfigOp<u32>,
chill_threshold: ConfigOp<Percent>,
min_commission: ConfigOp<Perbill>,
max_staked_rewards: ConfigOp<Percent>,
},
chill_other {
stash: T::AccountId,
},
force_apply_min_commission {
validator_stash: T::AccountId,
},
set_min_commission {
new: Perbill,
},
payout_stakers_by_page {
validator_stash: T::AccountId,
era: EraIndex,
page: Page,
},
update_payee {
controller: T::AccountId,
},
deprecate_controller_batch {
controllers: BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>,
},
restore_ledger {
stash: T::AccountId,
maybe_controller: Option<T::AccountId>,
maybe_total: Option<BalanceOf<T>>,
maybe_unlocking: Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>,
},
migrate_currency {
stash: T::AccountId,
},
apply_slash {
slash_era: EraIndex,
slash_key: (T::AccountId, Perbill, u32),
},
withdraw_overstake {
stash: T::AccountId,
},
// some variants omitted
}Expand description
Contains a variant per dispatchable extrinsic that this pallet has.
Variants§
bond
Take the origin account as a stash and lock up value of its balance. controller will
be the account that controls it.
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.
NOTE: Two of the storage writes (Self::bonded, Self::payee) are never cleaned
unless the origin falls below existential deposit (or equal to 0) and gets removed
as dust.
bond_extra
Add some extra amount that have appeared in the stash free_balance into the balance up
for staking.
The dispatch origin for this call must be Signed by the stash, not the controller.
Use this if there are additional funds in your stash account that you wish to bond.
Unlike bond or unbond this function does not impose
any limitation on the amount that can be added.
Emits Bonded.
unbond
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
asset::existential_deposit, then it is increased to the full amount.
The dispatch origin for this call must be Signed by the controller, not the stash.
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 MaxUnlockingChunks)
can co-exists at the same time. If there are no unlocking chunks slots available
Call::withdraw_unbonded is called to remove some of the chunks (if possible).
If a user encounters the InsufficientBond error when calling this extrinsic,
they should call chill first in order to free up their bonded funds.
Emits Unbonded.
See also Call::withdraw_unbonded.
withdraw_unbonded
Remove any unlocked chunks from the unlocking queue from our management.
This essentially frees up that balance to be used by the stash account to do whatever it wants.
The dispatch origin for this call must be Signed by the controller.
Emits Withdrawn.
See also Call::unbond.
§Parameters
num_slashing_spans: Deprecated. This parameter is retained for backward compatibility. It no longer has any effect.
validate
Declare the desire to validate for the origin controller.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash.
Fields
prefs: ValidatorPrefsnominate
Declare the desire to nominate targets for the origin controller.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash.
chill
Declare no desire to either validate or nominate.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash.
§Complexity
- Independent of the arguments. Insignificant complexity.
- Contains one read.
- Writes are limited to the
originaccount key.
set_payee
(Re-)set the payment target for a controller.
Effects will be felt instantly (as soon as this function is completed successfully).
The dispatch origin for this call must be Signed by the controller, not the stash.
Fields
payee: RewardDestination<T::AccountId>set_controller
(Re-)sets the controller of a stash to the stash itself. This function previously
accepted a controller argument to set the controller to an account other than the
stash itself. This functionality has now been removed, now only setting the controller
to the stash, if it is not already.
Effects will be felt instantly (as soon as this function is completed successfully).
The dispatch origin for this call must be Signed by the stash, not the controller.
set_validator_count
Sets the ideal number of validators.
The dispatch origin must be Root.
increase_validator_count
Increments the ideal number of validators up to maximum of
T::MaxValidatorSet.
The dispatch origin must be Root.
scale_validator_count
Scale up the ideal number of validators by a factor up to maximum of
T::MaxValidatorSet.
The dispatch origin must be Root.
force_no_eras
Force there to be no new eras indefinitely.
The dispatch origin must be Root.
§Warning
The election process starts multiple blocks before the end of the era. Thus the election process may be ongoing when this is called. In this case the election will continue until the next era is triggered.
force_new_era
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.
§Warning
The election process starts multiple blocks before the end of the era. If this is called just before a new era is triggered, the election process may not have enough blocks to get a result.
set_invulnerables
Set the validators who cannot be slashed (if any).
The dispatch origin must be Root.
force_unstake
Force a current staker to become completely unstaked, immediately.
The dispatch origin must be Root.
§Parameters
stash: The stash account to be unstaked.num_slashing_spans: Deprecated. This parameter is retained for backward compatibility. It no longer has any effect.
force_new_era_always
Force there to be a new era at the end of sessions indefinitely.
The dispatch origin must be Root.
§Warning
The election process starts multiple blocks before the end of the era. If this is called just before a new era is triggered, the election process may not have enough blocks to get a result.
cancel_deferred_slash
Cancels scheduled slashes for a given era before they are applied.
This function allows T::AdminOrigin to selectively remove pending slashes from
the UnappliedSlashes storage, preventing their enactment.
§Parameters
era: The staking era for which slashes were deferred.slash_keys: A list of slash keys identifying the slashes to remove. This is a tuple of(stash, slash_fraction, page_index).
payout_stakers
Pay out next page of the stakers behind a validator for the given era.
validator_stashis the stash account of the validator.eramay be any era between[current_era - history_depth; current_era].
The origin of this call must be Signed. Any account can call this function, even if it is not one of the stakers.
The reward payout could be paged in case there are too many nominators backing the
validator_stash. This call will payout unpaid pages in an ascending order. To claim a
specific page, use payout_stakers_by_page.`
If all pages are claimed, it returns an error InvalidPage.
rebond
Rebond a portion of the stash scheduled to be unlocked.
The dispatch origin must be signed by the controller.
reap_stash
Remove all data structures concerning a staker/stash once it is at a state where it can
be considered dust in the staking system. The requirements are:
- the
total_balanceof the stash is below minimum bond. - or, the
ledger.totalof the stash is below minimum bond. - or, existential deposit is zero and either
total_balanceorledger.totalis zero.
The former can happen in cases like a slash; the latter when a fully unbonded account
is still receiving staking rewards in RewardDestination::Staked.
It can be called by anyone, as long as stash meets the above requirements.
Refunds the transaction fees upon successful execution.
§Parameters
stash: The stash account to be reaped.num_slashing_spans: Deprecated. This parameter is retained for backward compatibility. It no longer has any effect.
kick
Remove the given nominations from the calling validator.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed by the controller, not the stash.
who: A list of nominator stash accounts who are nominating this validator which should no longer be nominating this validator.
Note: Making this call only makes sense if you first set the validator preferences to block any further nominations.
set_staking_configs
Update the various staking configurations .
min_nominator_bond: The minimum active bond needed to be a nominator.min_validator_bond: The minimum active bond needed to be a validator.max_nominator_count: The max number of users who can be a nominator at once. When set toNone, no limit is enforced.max_validator_count: The max number of users who can be a validator at once. When set toNone, no limit is enforced.chill_threshold: The ratio ofmax_nominator_countormax_validator_countwhich should be filled in order for thechill_othertransaction to work.min_commission: The minimum amount of commission that each validators must maintain. This is checked only upon callingvalidate. Existing validators are not affected.
RuntimeOrigin must be Root to call this function.
NOTE: Existing nominators and validators will not be affected by this update.
to kick people under the new limits, chill_other should be called.
Fields
chill_other
Declare a controller to stop participating as either a validator or nominator.
Effects will be felt at the beginning of the next era.
The dispatch origin for this call must be Signed, but can be called by anyone.
If the caller is the same as the controller being targeted, then no further checks are
enforced, and this function behaves just like chill.
If the caller is different than the controller being targeted, the following conditions must be met:
controllermust belong to a nominator who has become non-decodable,
Or:
- A
ChillThresholdmust be set and checked which defines how close to the max nominators or validators we must reach before users can start chilling one-another. - A
MaxNominatorCountandMaxValidatorCountmust be set which is used to determine how close we are to the threshold. - A
MinNominatorBondandMinValidatorBondmust be set and checked, which determines if this is a person that should be chilled because they have not met the threshold bond required.
This can be helpful if bond requirements are updated, and we need to remove old users who do not satisfy these requirements.
force_apply_min_commission
Force a validator to have at least the minimum commission. This will not affect a validator who already has a commission greater than or equal to the minimum. Any account can call this.
set_min_commission
Sets the minimum amount of commission that each validators must maintain.
This call has lower privilege requirements than set_staking_config and can be called
by the T::AdminOrigin. Root can always call this.
payout_stakers_by_page
Pay out a page of the stakers behind a validator for the given era and page.
validator_stashis the stash account of the validator.eramay be any era between[current_era - history_depth; current_era].pageis the page index of nominators to pay out with value between 0 andnum_nominators / T::MaxExposurePageSize.
The origin of this call must be Signed. Any account can call this function, even if it is not one of the stakers.
If a validator has more than Config::MaxExposurePageSize nominators backing
them, then the list of nominators is paged, with each page being capped at
[Config::MaxExposurePageSize.] If a validator has more than one page of nominators,
the call needs to be made for each page separately in order for all the nominators
backing a validator to receive the reward. The nominators are not sorted across pages
and so it should not be assumed the highest staker would be on the topmost page and vice
versa. If rewards are not claimed in Config::HistoryDepth eras, they are lost.
update_payee
Migrates an account’s RewardDestination::Controller to
RewardDestination::Account(controller).
Effects will be felt instantly (as soon as this function is completed successfully).
This will waive the transaction fee if the payee is successfully migrated.
deprecate_controller_batch
Updates a batch of controller accounts to their corresponding stash account if they are not the same. Ignores any controller accounts that do not exist, and does not operate if the stash and controller are already the same.
Effects will be felt instantly (as soon as this function is completed successfully).
The dispatch origin must be T::AdminOrigin.
Fields
controllers: BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>restore_ledger
Restores the state of a ledger which is in an inconsistent state.
The requirements to restore a ledger are the following:
- The stash is bonded; or
- The stash is not bonded but it has a staking lock left behind; or
- If the stash has an associated ledger and its state is inconsistent; or
- If the ledger is not corrupted but its staking lock is out of sync.
The maybe_* input parameters will overwrite the corresponding data and metadata of the
ledger associated with the stash. If the input parameters are not set, the ledger will
be reset values from on-chain state.
Fields
maybe_unlocking: Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>migrate_currency
Migrates permissionlessly a stash from locks to holds.
This removes the old lock on the stake and creates a hold on it atomically. If all stake cannot be held, the best effort is made to hold as much as possible. The remaining stake is removed from the ledger.
The fee is waived if the migration is successful.
apply_slash
Manually applies a deferred slash for a given era.
Normally, slashes are automatically applied shortly after the start of the slash_era.
This function exists as a fallback mechanism in case slashes were not applied due to
unexpected reasons. It allows anyone to manually apply an unapplied slash.
§Parameters
slash_era: The staking era in which the slash was originally scheduled.slash_key: A unique identifier for the slash, represented as a tuple:stash: The stash account of the validator being slashed.slash_fraction: The fraction of the stake that was slashed.page_index: The index of the exposure page being processed.
§Behavior
- The function is permissionless—anyone can call it.
- The
slash_eramust be the current era or a past era. If it is in the future, the call fails withEraNotStarted. - The fee is waived if the slash is successfully applied.
§Future Improvement
- Implement an off-chain worker (OCW) task to automatically apply slashes when there is unused block space, improving efficiency.
withdraw_overstake
Adjusts the staking ledger by withdrawing any excess staked amount.
This function corrects cases where a user’s recorded stake in the ledger exceeds their actual staked funds. This situation can arise due to cases such as external slashing by another pallet, leading to an inconsistency between the ledger and the actual stake.
Implementations§
Source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
Sourcepub fn new_call_variant_bond(
value: BalanceOf<T>,
payee: RewardDestination<T::AccountId>,
) -> Self
pub fn new_call_variant_bond( value: BalanceOf<T>, payee: RewardDestination<T::AccountId>, ) -> Self
Create a call with the variant bond.
Sourcepub fn new_call_variant_bond_extra(max_additional: BalanceOf<T>) -> Self
pub fn new_call_variant_bond_extra(max_additional: BalanceOf<T>) -> Self
Create a call with the variant bond_extra.
Sourcepub fn new_call_variant_unbond(value: BalanceOf<T>) -> Self
pub fn new_call_variant_unbond(value: BalanceOf<T>) -> Self
Create a call with the variant unbond.
Sourcepub fn new_call_variant_withdraw_unbonded(num_slashing_spans: u32) -> Self
pub fn new_call_variant_withdraw_unbonded(num_slashing_spans: u32) -> Self
Create a call with the variant withdraw_unbonded.
Sourcepub fn new_call_variant_validate(prefs: ValidatorPrefs) -> Self
pub fn new_call_variant_validate(prefs: ValidatorPrefs) -> Self
Create a call with the variant validate.
Sourcepub fn new_call_variant_nominate(
targets: Vec<<<T as Config>::Lookup as StaticLookup>::Source>,
) -> Self
pub fn new_call_variant_nominate( targets: Vec<<<T as Config>::Lookup as StaticLookup>::Source>, ) -> Self
Create a call with the variant nominate.
Sourcepub fn new_call_variant_chill() -> Self
pub fn new_call_variant_chill() -> Self
Create a call with the variant chill.
Sourcepub fn new_call_variant_set_payee(
payee: RewardDestination<T::AccountId>,
) -> Self
pub fn new_call_variant_set_payee( payee: RewardDestination<T::AccountId>, ) -> Self
Create a call with the variant set_payee.
Sourcepub fn new_call_variant_set_controller() -> Self
pub fn new_call_variant_set_controller() -> Self
Create a call with the variant set_controller.
Sourcepub fn new_call_variant_set_validator_count(new: u32) -> Self
pub fn new_call_variant_set_validator_count(new: u32) -> Self
Create a call with the variant set_validator_count.
Sourcepub fn new_call_variant_increase_validator_count(additional: u32) -> Self
pub fn new_call_variant_increase_validator_count(additional: u32) -> Self
Create a call with the variant increase_validator_count.
Sourcepub fn new_call_variant_scale_validator_count(factor: Percent) -> Self
pub fn new_call_variant_scale_validator_count(factor: Percent) -> Self
Create a call with the variant scale_validator_count.
Sourcepub fn new_call_variant_force_no_eras() -> Self
pub fn new_call_variant_force_no_eras() -> Self
Create a call with the variant force_no_eras.
Sourcepub fn new_call_variant_force_new_era() -> Self
pub fn new_call_variant_force_new_era() -> Self
Create a call with the variant force_new_era.
Sourcepub fn new_call_variant_set_invulnerables(
invulnerables: Vec<T::AccountId>,
) -> Self
pub fn new_call_variant_set_invulnerables( invulnerables: Vec<T::AccountId>, ) -> Self
Create a call with the variant set_invulnerables.
Sourcepub fn new_call_variant_force_unstake(
stash: T::AccountId,
num_slashing_spans: u32,
) -> Self
pub fn new_call_variant_force_unstake( stash: T::AccountId, num_slashing_spans: u32, ) -> Self
Create a call with the variant force_unstake.
Sourcepub fn new_call_variant_force_new_era_always() -> Self
pub fn new_call_variant_force_new_era_always() -> Self
Create a call with the variant force_new_era_always.
Sourcepub fn new_call_variant_cancel_deferred_slash(
era: EraIndex,
slash_keys: Vec<(T::AccountId, Perbill, u32)>,
) -> Self
pub fn new_call_variant_cancel_deferred_slash( era: EraIndex, slash_keys: Vec<(T::AccountId, Perbill, u32)>, ) -> Self
Create a call with the variant cancel_deferred_slash.
Sourcepub fn new_call_variant_payout_stakers(
validator_stash: T::AccountId,
era: EraIndex,
) -> Self
pub fn new_call_variant_payout_stakers( validator_stash: T::AccountId, era: EraIndex, ) -> Self
Create a call with the variant payout_stakers.
Sourcepub fn new_call_variant_rebond(value: BalanceOf<T>) -> Self
pub fn new_call_variant_rebond(value: BalanceOf<T>) -> Self
Create a call with the variant rebond.
Sourcepub fn new_call_variant_reap_stash(
stash: T::AccountId,
num_slashing_spans: u32,
) -> Self
pub fn new_call_variant_reap_stash( stash: T::AccountId, num_slashing_spans: u32, ) -> Self
Create a call with the variant reap_stash.
Sourcepub fn new_call_variant_kick(
who: Vec<<<T as Config>::Lookup as StaticLookup>::Source>,
) -> Self
pub fn new_call_variant_kick( who: Vec<<<T as Config>::Lookup as StaticLookup>::Source>, ) -> Self
Create a call with the variant kick.
Sourcepub fn new_call_variant_set_staking_configs(
min_nominator_bond: ConfigOp<BalanceOf<T>>,
min_validator_bond: ConfigOp<BalanceOf<T>>,
max_nominator_count: ConfigOp<u32>,
max_validator_count: ConfigOp<u32>,
chill_threshold: ConfigOp<Percent>,
min_commission: ConfigOp<Perbill>,
max_staked_rewards: ConfigOp<Percent>,
) -> Self
pub fn new_call_variant_set_staking_configs( min_nominator_bond: ConfigOp<BalanceOf<T>>, min_validator_bond: ConfigOp<BalanceOf<T>>, max_nominator_count: ConfigOp<u32>, max_validator_count: ConfigOp<u32>, chill_threshold: ConfigOp<Percent>, min_commission: ConfigOp<Perbill>, max_staked_rewards: ConfigOp<Percent>, ) -> Self
Create a call with the variant set_staking_configs.
Sourcepub fn new_call_variant_chill_other(stash: T::AccountId) -> Self
pub fn new_call_variant_chill_other(stash: T::AccountId) -> Self
Create a call with the variant chill_other.
Sourcepub fn new_call_variant_force_apply_min_commission(
validator_stash: T::AccountId,
) -> Self
pub fn new_call_variant_force_apply_min_commission( validator_stash: T::AccountId, ) -> Self
Create a call with the variant force_apply_min_commission.
Sourcepub fn new_call_variant_set_min_commission(new: Perbill) -> Self
pub fn new_call_variant_set_min_commission(new: Perbill) -> Self
Create a call with the variant set_min_commission.
Sourcepub fn new_call_variant_payout_stakers_by_page(
validator_stash: T::AccountId,
era: EraIndex,
page: Page,
) -> Self
pub fn new_call_variant_payout_stakers_by_page( validator_stash: T::AccountId, era: EraIndex, page: Page, ) -> Self
Create a call with the variant payout_stakers_by_page.
Sourcepub fn new_call_variant_update_payee(controller: T::AccountId) -> Self
pub fn new_call_variant_update_payee(controller: T::AccountId) -> Self
Create a call with the variant update_payee.
Sourcepub fn new_call_variant_deprecate_controller_batch(
controllers: BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>,
) -> Self
pub fn new_call_variant_deprecate_controller_batch( controllers: BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>, ) -> Self
Create a call with the variant deprecate_controller_batch.
Sourcepub fn new_call_variant_restore_ledger(
stash: T::AccountId,
maybe_controller: Option<T::AccountId>,
maybe_total: Option<BalanceOf<T>>,
maybe_unlocking: Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>,
) -> Self
pub fn new_call_variant_restore_ledger( stash: T::AccountId, maybe_controller: Option<T::AccountId>, maybe_total: Option<BalanceOf<T>>, maybe_unlocking: Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>, ) -> Self
Create a call with the variant restore_ledger.
Sourcepub fn new_call_variant_migrate_currency(stash: T::AccountId) -> Self
pub fn new_call_variant_migrate_currency(stash: T::AccountId) -> Self
Create a call with the variant migrate_currency.
Sourcepub fn new_call_variant_apply_slash(
slash_era: EraIndex,
slash_key: (T::AccountId, Perbill, u32),
) -> Self
pub fn new_call_variant_apply_slash( slash_era: EraIndex, slash_key: (T::AccountId, Perbill, u32), ) -> Self
Create a call with the variant apply_slash.
Sourcepub fn new_call_variant_withdraw_overstake(stash: T::AccountId) -> Self
pub fn new_call_variant_withdraw_overstake(stash: T::AccountId) -> Self
Create a call with the variant withdraw_overstake.
Trait Implementations§
Source§impl<T: Config> Authorize for Call<T>
impl<T: Config> Authorize for Call<T>
Source§impl<T: Config> CheckIfFeeless for Call<T>
impl<T: Config> CheckIfFeeless for Call<T>
Source§type Origin = <T as Config>::RuntimeOrigin
type Origin = <T as Config>::RuntimeOrigin
Source§fn is_feeless(&self, origin: &Self::Origin) -> bool
fn is_feeless(&self, origin: &Self::Origin) -> bool
#[pallet::feeless_if]Source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
Source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
Source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
Source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Source§fn using_encoded<R, F>(&self, f: F) -> R
fn using_encoded<R, F>(&self, f: F) -> R
Source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Source§impl<T: Config> GetCallIndex for Call<T>
impl<T: Config> GetCallIndex for Call<T>
Source§fn get_call_index(&self) -> u8
fn get_call_index(&self) -> u8
Source§fn get_call_indices() -> &'static [u8] ⓘ
fn get_call_indices() -> &'static [u8] ⓘ
GetCallName.Source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
Source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
Source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
GetCallIndex.Source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
Source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo, containing relevant information of this dispatch. Read moreSource§impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
BalanceOf<T>: HasCompact,
RewardDestination<T::AccountId>: TypeInfo + 'static,
Vec<<<T as Config>::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
Vec<T::AccountId>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Vec<(T::AccountId, Perbill, u32)>: TypeInfo + 'static,
ConfigOp<BalanceOf<T>>: TypeInfo + 'static,
BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>: TypeInfo + 'static,
Option<T::AccountId>: TypeInfo + 'static,
Option<BalanceOf<T>>: TypeInfo + 'static,
Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>: TypeInfo + 'static,
(T::AccountId, Perbill, u32): TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
BalanceOf<T>: HasCompact,
RewardDestination<T::AccountId>: TypeInfo + 'static,
Vec<<<T as Config>::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
Vec<T::AccountId>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
Vec<(T::AccountId, Perbill, u32)>: TypeInfo + 'static,
ConfigOp<BalanceOf<T>>: TypeInfo + 'static,
BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>: TypeInfo + 'static,
Option<T::AccountId>: TypeInfo + 'static,
Option<BalanceOf<T>>: TypeInfo + 'static,
Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>: TypeInfo + 'static,
(T::AccountId, Perbill, u32): TypeInfo + 'static,
T: Config + 'static,
Source§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
Source§type RuntimeOrigin = <T as Config>::RuntimeOrigin
type RuntimeOrigin = <T as Config>::RuntimeOrigin
frame_system::Config::RuntimeOrigin).Source§fn dispatch_bypass_filter(
self,
origin: Self::RuntimeOrigin,
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin, ) -> DispatchResultWithPostInfo
impl<T: Config> DecodeWithMemTracking for Call<T>where
RewardDestination<T::AccountId>: DecodeWithMemTracking,
Vec<<<T as Config>::Lookup as StaticLookup>::Source>: DecodeWithMemTracking,
Vec<T::AccountId>: DecodeWithMemTracking,
T::AccountId: DecodeWithMemTracking,
Vec<(T::AccountId, Perbill, u32)>: DecodeWithMemTracking,
ConfigOp<BalanceOf<T>>: DecodeWithMemTracking,
BoundedVec<T::AccountId, T::MaxControllersInDeprecationBatch>: DecodeWithMemTracking,
Option<T::AccountId>: DecodeWithMemTracking,
Option<BalanceOf<T>>: DecodeWithMemTracking,
Option<BoundedVec<UnlockChunk<BalanceOf<T>>, T::MaxUnlockingChunks>>: DecodeWithMemTracking,
(T::AccountId, Perbill, u32): DecodeWithMemTracking,
BalanceOf<T>: HasCompact,
<BalanceOf<T> as HasCompact>::Type: DecodeWithMemTracking,
impl<T: Config> EncodeLike for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> Freeze for Call<T>where
<T as Config>::RuntimeEvent: Sized,
<T as Config>::CurrencyBalance: Freeze,
<T as Config>::AccountId: Freeze,
impl<T> RefUnwindSafe for Call<T>where
<T as Config>::RuntimeEvent: Sized,
<T as Config>::CurrencyBalance: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
T: RefUnwindSafe,
<T as Config>::MaxControllersInDeprecationBatch: RefUnwindSafe,
<<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,
<T as Config>::MaxUnlockingChunks: RefUnwindSafe,
impl<T> Send for Call<T>where
<T as Config>::RuntimeEvent: Sized,
T: Send,
<T as Config>::MaxControllersInDeprecationBatch: Send,
<<T as Config>::Lookup as StaticLookup>::Source: Send,
<T as Config>::MaxUnlockingChunks: Send,
impl<T> Sync for Call<T>where
<T as Config>::RuntimeEvent: Sized,
T: Sync,
<T as Config>::MaxControllersInDeprecationBatch: Sync,
<<T as Config>::Lookup as StaticLookup>::Source: Sync,
<T as Config>::MaxUnlockingChunks: Sync,
impl<T> Unpin for Call<T>where
<T as Config>::RuntimeEvent: Sized,
<T as Config>::CurrencyBalance: Unpin,
<T as Config>::AccountId: Unpin,
T: Unpin,
<T as Config>::MaxControllersInDeprecationBatch: Unpin,
<<T as Config>::Lookup as StaticLookup>::Source: Unpin,
<T as Config>::MaxUnlockingChunks: Unpin,
impl<T> UnwindSafe for Call<T>where
<T as Config>::RuntimeEvent: Sized,
<T as Config>::CurrencyBalance: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
T: UnwindSafe,
<T as Config>::MaxControllersInDeprecationBatch: UnwindSafe,
<<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe,
<T as Config>::MaxUnlockingChunks: 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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
Source§impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
impl<T> DecodeWithMemLimit for Twhere
T: DecodeWithMemTracking,
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> 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, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
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 S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.