Enum darwinia_staking::pallet::Call
source · [−]pub enum Call<T: Config> {
Show 28 variants
bond {
controller: <T::Lookup as StaticLookup>::Source,
value: StakingBalanceT<T>,
payee: RewardDestination<AccountId<T>>,
promise_month: u8,
},
bond_extra {
max_additional: StakingBalanceT<T>,
promise_month: u8,
},
deposit_extra {
value: RingBalance<T>,
promise_month: u8,
},
unbond {
value: StakingBalanceT<T>,
},
withdraw_unbonded {
num_slashing_spans: u32,
},
claim_mature_deposits {},
try_claim_deposits_with_punish {
expire_time: TsInMs,
},
validate {
prefs: ValidatorPrefs,
},
nominate {
targets: Vec<<T::Lookup as StaticLookup>::Source>,
},
chill {},
set_payee {
payee: RewardDestination<AccountId<T>>,
},
set_controller {
controller: <T::Lookup as StaticLookup>::Source,
},
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<AccountId<T>>,
},
force_unstake {
stash: AccountId<T>,
num_slashing_spans: u32,
},
force_new_era_always {},
cancel_deferred_slash {
era: EraIndex,
slash_indices: Vec<u32>,
},
payout_stakers {
validator_stash: AccountId<T>,
era: EraIndex,
},
rebond {
plan_to_rebond_ring: RingBalance<T>,
plan_to_rebond_kton: KtonBalance<T>,
},
set_history_depth {
new_history_depth: EraIndex,
era_items_deleted: u32,
},
reap_stash {
stash: AccountId<T>,
num_slashing_spans: u32,
},
kick {
who: Vec<<T::Lookup as StaticLookup>::Source>,
},
set_staking_configs {
min_nominator_bond: RingBalance<T>,
min_validator_bond: RingBalance<T>,
max_nominator_count: Option<u32>,
max_validator_count: Option<u32>,
chill_threshold: Option<Percent>,
min_commission: Perbill,
},
chill_other {
controller: T::AccountId,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
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
.
- Independent of the arguments. Moderate complexity.
- O(1).
- Three extra DB entries.
NOTE: Two of the storage writes (Self::bonded
, Self::payee
) are never cleaned
unless the origin
falls below existential deposit and gets removed as dust.
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
.
- Independent of the arguments. Insignificant complexity.
- O(1).
deposit_extra
Deposit some extra amount ring, and return kton to the controller.
The dispatch origin for this call must be Signed by the stash, not the controller.
Is a no-op if value to be deposited is zero.
- Independent of the arguments. Insignificant complexity.
- O(1).
- One DB entry.
DB Weight:
- Read: Era Election Status, Bonded, Ledger, [Origin Account]
- Write: [Origin Account], Ledger
unbond
Fields
value: StakingBalanceT<T>
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.
The dispatch origin for this call must be Signed by the controller, not the stash.
Once the unlock period is done, the funds will be withdrew automatically and 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, [StakingLock::shrink
] need
to be called first 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.
After all pledged Ring and Kton are unbonded, the bonded accounts, namely stash and
controller, will also be unbonded. Once user want to bond again, the bond
method
should be called. If there are still pledged Ring or Kton and user want to bond more
values, the bond_extra
method should be called.
withdraw_unbonded
Fields
num_slashing_spans: u32
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
.
Complexity O(S) where S is the number of slashing spans to remove NOTE: Weight annotation is the kill scenario, we refund otherwise.
claim_mature_deposits
Fields
Stash accounts can get their ring back after the depositing time exceeded, and the ring getting back is still in staking status.
- Independent of the arguments. Insignificant complexity.
- One storage read.
- One storage write.
- Writes are limited to the
origin
account key.
DB Weight:
- Read: Ledger, [Origin Account]
- Write: [Origin Account], Ledger
try_claim_deposits_with_punish
Fields
expire_time: TsInMs
Claim deposits while the depositing time has not been exceeded, the ring will not be slashed, but the account is required to pay KTON as punish.
Refer to https://talk.darwinia.network/topics/55
Assume the expire_time
is a unique ID for the deposit
- Independent of the arguments. Insignificant complexity.
- One storage read.
- One storage write.
- Writes are limited to the
origin
account key.
DB Weight:
- Read: Ledger, Locks, [Origin Account]
- Write: [Origin Account], Locks, Ledger
validate
Fields
prefs: ValidatorPrefs
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.
nominate
Fields
targets: Vec<<T::Lookup as StaticLookup>::Source>
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.
- 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.
chill
Fields
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.
- Independent of the arguments. Insignificant complexity.
- Contains one read.
- Writes are limited to the
origin
account key.
set_payee
Fields
payee: RewardDestination<AccountId<T>>
(Re-)set the payment target for a 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.
- Independent of the arguments. Insignificant complexity.
- Contains a limited number of reads.
- Writes are limited to the
origin
account key.
- Weight: O(1)
- DB Weight:
- Read: Ledger
- Write: Payee
set_controller
(Re-)set the controller of a stash.
Effects will be felt at the beginning of the next era.
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.
Weight: O(1) DB Weight:
- Read: Bonded, Ledger New Controller, Ledger Old Controller
- Write: Bonded, Ledger New Controller, Ledger Old Controller
set_validator_count
Fields
new: u32
Sets the ideal number of validators.
The dispatch origin must be Root.
Weight: O(1) Write: Validator Count
increase_validator_count
Fields
additional: u32
Increments the ideal number of validators.
The dispatch origin must be Root.
Same as Self::set_validator_count
.
scale_validator_count
Scale up the ideal number of validators by a factor.
The dispatch origin must be Root.
Same as Self::set_validator_count
.
force_no_eras
Fields
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.
- No arguments.
- Weight: O(1)
- Write: ForceEra
force_new_era
Fields
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.
- No arguments.
- Weight: O(1)
- Write ForceEra
set_invulnerables
Set the validators who cannot be slashed (if any).
The dispatch origin must be Root.
- O(V)
- Write: Invulnerables
force_unstake
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, Locks Writes Each: SpanSlash * S
force_new_era_always
Fields
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.
- Weight: O(1)
- Write: ForceEra
cancel_deferred_slash
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.
Complexity: O(U + S) with U unapplied slashes weighted with U=1000 and S is the number of slash indices to be canceled.
- Read: Unapplied Slashes
- Write: Unapplied Slashes
payout_stakers
Pay out all the stakers behind a single validator for a single era.
validator_stash
is the stash account of the validator. Their nominators, up toT::MaxNominatorRewardedPerValidator
, will also receive their rewards.era
may 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.
- Time complexity: at most O(MaxNominatorRewardedPerValidator).
- Contains a limited number of reads and writes.
N is the Number of payouts for the validator (including the validator) Weight:
-
Reward Destination Staked: O(N)
-
Reward Destination Controller (Creating): O(N)
NOTE: weights are assuming that payouts are made to alive stash account (Staked). Paying even a dead controller is cheaper weight-wise. We don’t do any refunds here.
rebond
Rebond a portion of the stash scheduled to be unlocked.
The dispatch origin must be signed by the controller.
- Time complexity: O(L), where L is unlocking chunks
- Bounded by
MAX_UNLOCKING_CHUNKS
. - Storage changes: Can’t increase storage, only decrease it.
set_history_depth
Set HistoryDepth
value. This function will delete any history information
when HistoryDepth
is reduced.
Parameters:
new_history_depth
: The new history depth you would like to set.era_items_deleted
: The number of items that will be deleted by this dispatch. This should report all the storage items that will be deleted by clearing old era history. Needed to report an accurate weight for the dispatch. Trusted byRoot
to report an accurate number.
Origin must be root.
- E: Number of history depths removed, i.e. 10 -> 7 = 3
- Weight: O(E)
- DB Weight:
- Reads: Current Era, History Depth
- Writes: History Depth
- Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs
- Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex
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_balance
of the stash is below existential deposit. - or, the
ledger.total
of the stash is below existential deposit.
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.
kick
Fields
who: Vec<<T::Lookup as StaticLookup>::Source>
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
Fields
min_nominator_bond: RingBalance<T>
min_validator_bond: RingBalance<T>
chill_threshold: Option<Percent>
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_count
ormax_validator_count
which should be filled in order for thechill_other
transaction 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.
Origin 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.
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:
- A
ChillThreshold
must 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
MaxNominatorCount
andMaxValidatorCount
must be set which is used to determine how close we are to the threshold. - A
MinNominatorBond
andMinValidatorBond
must 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.
Implementations
sourceimpl<T: Config> Call<T>
impl<T: Config> Call<T>
sourcepub fn new_call_variant_bond(
controller: <T::Lookup as StaticLookup>::Source,
value: StakingBalanceT<T>,
payee: RewardDestination<AccountId<T>>,
promise_month: u8
) -> Self
pub fn new_call_variant_bond(
controller: <T::Lookup as StaticLookup>::Source,
value: StakingBalanceT<T>,
payee: RewardDestination<AccountId<T>>,
promise_month: u8
) -> Self
Create a call with the variant bond
.
sourcepub fn new_call_variant_bond_extra(
max_additional: StakingBalanceT<T>,
promise_month: u8
) -> Self
pub fn new_call_variant_bond_extra(
max_additional: StakingBalanceT<T>,
promise_month: u8
) -> Self
Create a call with the variant bond_extra
.
sourcepub fn new_call_variant_deposit_extra(
value: RingBalance<T>,
promise_month: u8
) -> Self
pub fn new_call_variant_deposit_extra(
value: RingBalance<T>,
promise_month: u8
) -> Self
Create a call with the variant deposit_extra
.
sourcepub fn new_call_variant_unbond(value: StakingBalanceT<T>) -> Self
pub fn new_call_variant_unbond(value: StakingBalanceT<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_claim_mature_deposits() -> Self
pub fn new_call_variant_claim_mature_deposits() -> Self
Create a call with the variant claim_mature_deposits
.
sourcepub fn new_call_variant_try_claim_deposits_with_punish(
expire_time: TsInMs
) -> Self
pub fn new_call_variant_try_claim_deposits_with_punish(
expire_time: TsInMs
) -> Self
Create a call with the variant try_claim_deposits_with_punish
.
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::Lookup as StaticLookup>::Source>
) -> Self
pub fn new_call_variant_nominate(
targets: Vec<<T::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<AccountId<T>>
) -> Self
pub fn new_call_variant_set_payee(
payee: RewardDestination<AccountId<T>>
) -> Self
Create a call with the variant set_payee
.
sourcepub fn new_call_variant_set_controller(
controller: <T::Lookup as StaticLookup>::Source
) -> Self
pub fn new_call_variant_set_controller(
controller: <T::Lookup as StaticLookup>::Source
) -> 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<AccountId<T>>
) -> Self
pub fn new_call_variant_set_invulnerables(
invulnerables: Vec<AccountId<T>>
) -> Self
Create a call with the variant set_invulnerables
.
sourcepub fn new_call_variant_force_unstake(
stash: AccountId<T>,
num_slashing_spans: u32
) -> Self
pub fn new_call_variant_force_unstake(
stash: AccountId<T>,
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_indices: Vec<u32>
) -> Self
pub fn new_call_variant_cancel_deferred_slash(
era: EraIndex,
slash_indices: Vec<u32>
) -> Self
Create a call with the variant cancel_deferred_slash
.
sourcepub fn new_call_variant_payout_stakers(
validator_stash: AccountId<T>,
era: EraIndex
) -> Self
pub fn new_call_variant_payout_stakers(
validator_stash: AccountId<T>,
era: EraIndex
) -> Self
Create a call with the variant payout_stakers
.
sourcepub fn new_call_variant_rebond(
plan_to_rebond_ring: RingBalance<T>,
plan_to_rebond_kton: KtonBalance<T>
) -> Self
pub fn new_call_variant_rebond(
plan_to_rebond_ring: RingBalance<T>,
plan_to_rebond_kton: KtonBalance<T>
) -> Self
Create a call with the variant rebond
.
sourcepub fn new_call_variant_set_history_depth(
new_history_depth: EraIndex,
era_items_deleted: u32
) -> Self
pub fn new_call_variant_set_history_depth(
new_history_depth: EraIndex,
era_items_deleted: u32
) -> Self
Create a call with the variant set_history_depth
.
sourcepub fn new_call_variant_reap_stash(
stash: AccountId<T>,
num_slashing_spans: u32
) -> Self
pub fn new_call_variant_reap_stash(
stash: AccountId<T>,
num_slashing_spans: u32
) -> Self
Create a call with the variant reap_stash
.
sourcepub fn new_call_variant_kick(
who: Vec<<T::Lookup as StaticLookup>::Source>
) -> Self
pub fn new_call_variant_kick(
who: Vec<<T::Lookup as StaticLookup>::Source>
) -> Self
Create a call with the variant kick
.
sourcepub fn new_call_variant_set_staking_configs(
min_nominator_bond: RingBalance<T>,
min_validator_bond: RingBalance<T>,
max_nominator_count: Option<u32>,
max_validator_count: Option<u32>,
chill_threshold: Option<Percent>,
min_commission: Perbill
) -> Self
pub fn new_call_variant_set_staking_configs(
min_nominator_bond: RingBalance<T>,
min_validator_bond: RingBalance<T>,
max_nominator_count: Option<u32>,
max_validator_count: Option<u32>,
chill_threshold: Option<Percent>,
min_commission: Perbill
) -> Self
Create a call with the variant set_staking_configs
.
sourcepub fn new_call_variant_chill_other(controller: T::AccountId) -> Self
pub fn new_call_variant_chill_other(controller: T::AccountId) -> Self
Create a call with the variant chill_other
.
Trait Implementations
sourceimpl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
sourcefn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
Attempt to deserialise the value from input.
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
fn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
sourcefn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
Convert self to a slice and append it to the destination.
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> R where
F: FnOnce(&[u8]) -> R,
Convert self to a slice and then invoke the given closure with it.
fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
sourcefn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
Return the function name of the Call.
sourcefn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
Return all function names.
sourceimpl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
sourcefn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
Return a DispatchInfo
, containing relevant information of this dispatch. Read more
sourceimpl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
<T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
RewardDestination<AccountId<T>>: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
Vec<<T::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
RewardDestination<AccountId<T>>: TypeInfo + 'static,
<T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
Vec<AccountId<T>>: TypeInfo + 'static,
AccountId<T>: TypeInfo + 'static,
AccountId<T>: TypeInfo + 'static,
RingBalance<T>: HasCompact,
KtonBalance<T>: HasCompact,
AccountId<T>: TypeInfo + 'static,
Vec<<T::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
impl<T: Config> TypeInfo for Call<T> where
PhantomData<(T,)>: TypeInfo + 'static,
<T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
RewardDestination<AccountId<T>>: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
StakingBalanceT<T>: TypeInfo + 'static,
Vec<<T::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
RewardDestination<AccountId<T>>: TypeInfo + 'static,
<T::Lookup as StaticLookup>::Source: TypeInfo + 'static,
Vec<AccountId<T>>: TypeInfo + 'static,
AccountId<T>: TypeInfo + 'static,
AccountId<T>: TypeInfo + 'static,
RingBalance<T>: HasCompact,
KtonBalance<T>: HasCompact,
AccountId<T>: TypeInfo + 'static,
Vec<<T::Lookup as StaticLookup>::Source>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
RingBalance<T>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
sourceimpl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
type Origin = <T as Config>::Origin
type Origin = <T as Config>::Origin
The origin type of the runtime, (i.e. frame_system::Config::Origin
).
sourcefn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
Dispatch this call but do not check the filter in origin.
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for Call<T> where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<<T as Config>::KtonCurrency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<<T as Config>::RingCurrency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe,
<<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,
impl<T> Send for Call<T> where
T: Send,
<<T as Config>::KtonCurrency as Currency<<T as Config>::AccountId>>::Balance: Send,
<<T as Config>::RingCurrency as Currency<<T as Config>::AccountId>>::Balance: Send,
<<T as Config>::Lookup as StaticLookup>::Source: Send,
impl<T> Sync for Call<T> where
T: Sync,
<<T as Config>::KtonCurrency as Currency<<T as Config>::AccountId>>::Balance: Sync,
<<T as Config>::RingCurrency as Currency<<T as Config>::AccountId>>::Balance: Sync,
<<T as Config>::Lookup as StaticLookup>::Source: Sync,
impl<T> Unpin for Call<T> where
T: Unpin,
<T as Config>::AccountId: Unpin,
<<T as Config>::KtonCurrency as Currency<<T as Config>::AccountId>>::Balance: Unpin,
<<T as Config>::RingCurrency as Currency<<T as Config>::AccountId>>::Balance: Unpin,
<<T as Config>::Lookup as StaticLookup>::Source: Unpin,
impl<T> UnwindSafe for Call<T> where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<<T as Config>::KtonCurrency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe,
<<T as Config>::RingCurrency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe,
<<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
impl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
Decode Self
and consume all of the given input data. Read more
fn decode_and_advance_with_depth_limit<I>(
limit: u32,
input: &mut I
) -> Result<T, Error> where
I: Input,
fn decode_and_advance_with_depth_limit<I>(
limit: u32,
input: &mut I
) -> Result<T, Error> where
I: Input,
Decode Self
and advance input
by the number of bytes consumed. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<R, Global>impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
R: Read + ?Sized, impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Causes self
to use its Binary
implementation when Debug
-formatted.
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Causes self
to use its Display
implementation when
Debug
-formatted. Read more
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Causes self
to use its LowerExp
implementation when
Debug
-formatted. Read more
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Causes self
to use its LowerHex
implementation when
Debug
-formatted. Read more
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Causes self
to use its Octal
implementation when Debug
-formatted.
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Causes self
to use its Pointer
implementation when
Debug
-formatted. Read more
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Causes self
to use its UpperExp
implementation when
Debug
-formatted. Read more
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Causes self
to use its UpperHex
implementation when
Debug
-formatted. Read more
impl<T> Hashable for T where
T: Codec,
impl<T> Hashable for T where
T: Codec,
fn blake2_128(&self) -> [u8; 16]
fn blake2_256(&self) -> [u8; 32]
fn blake2_128_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
fn twox_128(&self) -> [u8; 16]
fn twox_256(&self) -> [u8; 32]
fn twox_64_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
fn identity(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
sourcefn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
Performs the conversion.
impl<T> Pipe for T where
T: ?Sized,
impl<T> Pipe for T where
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
Borrows self
and passes that borrow into the pipe function. Read more
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
Mutably borrows self
and passes that borrow into the pipe function. Read more
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.borrow()
into the pipe function. Read more
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
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
) -> R where
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
Mutably borrows self
, then passes self.borrow_mut()
into the pipe
function. Read more
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.as_ref()
into the pipe function.
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R where
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) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
Mutably borrows self
, then passes self.as_mut()
into the pipe
function. Read more
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows self
, then passes self.deref()
into the pipe function.
impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeDeref for T
impl<T> PipeDeref for T
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more
impl<T> PipeRef for T
impl<T> PipeRef for T
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Immutable access to the Borrow<B>
of a value. Read more
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the BorrowMut<B>
of a value. Read more
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Immutable access to the AsRef<R>
view of a value. Read more
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Mutable access to the AsMut<R>
view of a value. Read more
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the Deref::Target
of a value. Read more
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the Deref::Target
of a value. Read more
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls .tap()
only in debug builds, and is erased in release builds.
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls .tap_mut()
only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Calls .tap_borrow()
only in debug builds, and is erased in release
builds. Read more
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Calls .tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read more
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Calls .tap_ref()
only in debug builds, and is erased in release
builds. Read more
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Calls .tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more
impl<T> Tap for T
impl<T> Tap for T
fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
Provides immutable access for inspection. Read more
fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
Calls tap
in debug builds, and does nothing in release builds.
fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Provides mutable access for modification. Read more
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Calls tap_mut
in debug builds, and does nothing in release builds.
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the reference for inspection.
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Calls tap_ref
in debug builds, and does nothing in release builds.
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the reference for modification.
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_ref_mut
in debug builds, and does nothing in release builds.
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the borrow for inspection. Read more
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Calls tap_borrow
in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_borrow_mut
in debug builds, and does nothing in release
builds. Read more
impl<T> TapDeref for T
impl<T> TapDeref for T
fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Immutably dereferences self
for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref
in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self
for modification.
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Calls tap_deref_mut
in debug builds, and does nothing in release
builds. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more