Enum pallet_staking::Call

source ·
pub enum Call<T: Config> {
Show 26 variants bond { controller: <<T as Config>::Lookup as StaticLookup>::Source, 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 { controller: <<T as Config>::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<T::AccountId>, }, force_unstake { stash: T::AccountId, num_slashing_spans: u32, }, force_new_era_always {}, cancel_deferred_slash { era: EraIndex, slash_indices: Vec<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>, }, chill_other { controller: T::AccountId, }, force_apply_min_commission { validator_stash: T::AccountId, }, set_min_commission { new: Perbill, }, // some variants omitted
}
Expand description

Contains one variant per dispatchable that can be called by an extrinsic.

Variants§

§

bond

Fields

§controller: <<T as Config>::Lookup as StaticLookup>::Source
§value: BalanceOf<T>

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

Fields

§max_additional: BalanceOf<T>

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).

§

unbond

Fields

§value: BalanceOf<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, 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

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.

§

validate

Fields

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 as Config>::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 (T::MaxNominations).
  • 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

(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.

  • 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

Fields

§controller: <<T as Config>::Lookup as StaticLookup>::Source

(Re-)set the controller of a stash.

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.

  • 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 upto maximum of ElectionProviderBase::MaxWinners.

The dispatch origin must be Root.

Same as Self::set_validator_count.

§

scale_validator_count

Fields

§factor: Percent

Scale up the ideal number of validators by a factor upto maximum of ElectionProviderBase::MaxWinners.

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

Fields

§invulnerables: Vec<T::AccountId>

Set the validators who cannot be slashed (if any).

The dispatch origin must be Root.

§

force_unstake

Fields

§stash: T::AccountId
§num_slashing_spans: u32

Force a current staker to become completely unstaked, immediately.

The dispatch origin must be Root.

§

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.

§

cancel_deferred_slash

Fields

§slash_indices: Vec<u32>

Cancel enactment of a deferred slash.

Can be called by the T::AdminOrigin.

Parameters: era and indices of the slashes for that era to kill.

§

payout_stakers

Fields

§validator_stash: T::AccountId

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 to T::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

Fields

§value: BalanceOf<T>

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 MaxUnlockingChunks.
  • Storage changes: Can’t increase storage, only decrease it.

§

reap_stash

Fields

§stash: T::AccountId
§num_slashing_spans: u32

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:

  1. the total_balance of the stash is below existential deposit.
  2. 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 as Config>::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: 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>

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 to None, no limit is enforced.
  • max_validator_count: The max number of users who can be a validator at once. When set to None, no limit is enforced.
  • chill_threshold: The ratio of max_nominator_count or max_validator_count which should be filled in order for the chill_other transaction to work.
  • min_commission: The minimum amount of commission that each validators must maintain. This is checked only upon calling validate. 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.

§

chill_other

Fields

§controller: T::AccountId

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:

  • controller must belong to a nominator who has become non-decodable,

Or:

  • 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 and MaxValidatorCount must be set which is used to determine how close we are to the threshold.
  • A MinNominatorBond and MinValidatorBond 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.

§

force_apply_min_commission

Fields

§validator_stash: T::AccountId

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

Fields

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.

Implementations§

source§

impl<T: Config> Call<T>

source

pub fn new_call_variant_bond( controller: <<T as Config>::Lookup as StaticLookup>::Source, value: BalanceOf<T>, payee: RewardDestination<T::AccountId> ) -> Self

Create a call with the variant bond.

source

pub fn new_call_variant_bond_extra(max_additional: BalanceOf<T>) -> Self

Create a call with the variant bond_extra.

source

pub fn new_call_variant_unbond(value: BalanceOf<T>) -> Self

Create a call with the variant unbond.

source

pub fn new_call_variant_withdraw_unbonded(num_slashing_spans: u32) -> Self

Create a call with the variant withdraw_unbonded.

source

pub fn new_call_variant_validate(prefs: ValidatorPrefs) -> Self

Create a call with the variant validate.

source

pub fn new_call_variant_nominate( targets: Vec<<<T as Config>::Lookup as StaticLookup>::Source> ) -> Self

Create a call with the variant nominate.

source

pub fn new_call_variant_chill() -> Self

Create a call with the variant chill.

source

pub fn new_call_variant_set_payee( payee: RewardDestination<T::AccountId> ) -> Self

Create a call with the variant set_payee.

source

pub fn new_call_variant_set_controller( controller: <<T as Config>::Lookup as StaticLookup>::Source ) -> Self

Create a call with the variant set_controller.

source

pub fn new_call_variant_set_validator_count(new: u32) -> Self

Create a call with the variant set_validator_count.

source

pub fn new_call_variant_increase_validator_count(additional: u32) -> Self

Create a call with the variant increase_validator_count.

source

pub fn new_call_variant_scale_validator_count(factor: Percent) -> Self

Create a call with the variant scale_validator_count.

source

pub fn new_call_variant_force_no_eras() -> Self

Create a call with the variant force_no_eras.

source

pub fn new_call_variant_force_new_era() -> Self

Create a call with the variant force_new_era.

source

pub fn new_call_variant_set_invulnerables( invulnerables: Vec<T::AccountId> ) -> Self

Create a call with the variant set_invulnerables.

source

pub fn new_call_variant_force_unstake( stash: T::AccountId, num_slashing_spans: u32 ) -> Self

Create a call with the variant force_unstake.

source

pub fn new_call_variant_force_new_era_always() -> Self

Create a call with the variant force_new_era_always.

source

pub fn new_call_variant_cancel_deferred_slash( era: EraIndex, slash_indices: Vec<u32> ) -> Self

Create a call with the variant cancel_deferred_slash.

source

pub fn new_call_variant_payout_stakers( validator_stash: T::AccountId, era: EraIndex ) -> Self

Create a call with the variant payout_stakers.

source

pub fn new_call_variant_rebond(value: BalanceOf<T>) -> Self

Create a call with the variant rebond.

source

pub fn new_call_variant_reap_stash( stash: T::AccountId, num_slashing_spans: u32 ) -> Self

Create a call with the variant reap_stash.

source

pub fn new_call_variant_kick( who: Vec<<<T as Config>::Lookup as StaticLookup>::Source> ) -> Self

Create a call with the variant kick.

source

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> ) -> Self

Create a call with the variant set_staking_configs.

source

pub fn new_call_variant_chill_other(controller: T::AccountId) -> Self

Create a call with the variant chill_other.

source

pub fn new_call_variant_force_apply_min_commission( validator_stash: T::AccountId ) -> Self

Create a call with the variant force_apply_min_commission.

source

pub fn new_call_variant_set_min_commission(new: Perbill) -> Self

Create a call with the variant set_min_commission.

Trait Implementations§

source§

impl<T: Config> Clone for Call<T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Config> Debug for Call<T>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Config> Decode for Call<T>

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
source§

fn skip<I>(input: &mut I) -> Result<(), Error>where I: Input,

Attempt to skip the encoded value from input. Read more
source§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T: Config> Encode for Call<T>

source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode(&self) -> Vec<u8, Global>

Convert self to an owned vector.
source§

fn using_encoded<R, F>(&self, f: F) -> Rwhere F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
source§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: Config> GetCallName for Call<T>

source§

fn get_call_name(&self) -> &'static str

Return the function name of the Call.
source§

fn get_call_names() -> &'static [&'static str]

Return all function names.
source§

impl<T: Config> GetDispatchInfo for Call<T>

source§

fn get_dispatch_info(&self) -> DispatchInfo

👎Deprecated: Trait has moved to frame_support::dispatch
source§

impl<T: Config> GetDispatchInfo for Call<T>

source§

fn get_dispatch_info(&self) -> DispatchInfo

Return a DispatchInfo, containing relevant information of this dispatch. Read more
source§

impl<T: Config> PartialEq<Call<T>> for Call<T>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T> TypeInfo for Call<T>where PhantomData<(T,)>: TypeInfo + 'static, <<T as Config>::Lookup as StaticLookup>::Source: 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, ConfigOp<BalanceOf<T>>: TypeInfo + 'static, T: Config + 'static,

§

type Identity = Call<T>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T: Config> UnfilteredDispatchable for Call<T>

§

type RuntimeOrigin = <T as Config>::RuntimeOrigin

The origin type of the runtime, (i.e. frame_system::Config::RuntimeOrigin).
source§

fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin ) -> DispatchResultWithPostInfo

Dispatch this call but do not check the filter in origin.
source§

impl<T: Config> EncodeLike<Call<T>> for Call<T>

source§

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>::CurrencyBalance: RefUnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,

§

impl<T> Send for Call<T>where T: Send, <T as Config>::CurrencyBalance: Send, <<T as Config>::Lookup as StaticLookup>::Source: Send,

§

impl<T> Sync for Call<T>where T: Sync, <T as Config>::CurrencyBalance: 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>::CurrencyBalance: 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>::CurrencyBalance: UnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CheckedConversion for T

source§

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
source§

fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
source§

impl<T> Conv for T

source§

fn conv<T>(self) -> Twhere Self: Into<T>,

Converts self into T using Into<T>. Read more
source§

impl<T> DecodeAll for Twhere T: Decode,

source§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

impl<T> DecodeLimit for Twhere T: Decode,

source§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
source§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
source§

impl<T> Downcast for Twhere T: Any,

source§

fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>

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.
source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
source§

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.
source§

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.
source§

impl<T> DowncastSync for Twhere T: Any + Send + Sync,

source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> DynClone for Twhere T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
source§

impl<T> FmtForward for T

source§

fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
source§

fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
source§

fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
source§

fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
source§

fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Hashable for Twhere T: Codec,

source§

fn blake2_128(&self) -> [u8; 16]

source§

fn blake2_256(&self) -> [u8; 32]

source§

fn blake2_128_concat(&self) -> Vec<u8, Global>

source§

fn twox_128(&self) -> [u8; 16]

source§

fn twox_256(&self) -> [u8; 32]

source§

fn twox_64_concat(&self) -> Vec<u8, Global>

source§

fn identity(&self) -> Vec<u8, Global>

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IsType<T> for T

source§

fn from_ref(t: &T) -> &T

Cast reference.
source§

fn into_ref(&self) -> &T

Cast reference.
source§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
source§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
source§

impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

source§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

source§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

source§

impl<T> KeyedVec for Twhere T: Codec,

source§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8, Global>

Return an encoding of Self prepended by given slice.
source§

impl<T> Pipe for Twhere T: ?Sized,

source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
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,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
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,

Borrows 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,

Mutably borrows self, then passes self.as_mut() into the pipe function.
source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> Rwhere Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Pointable for T

source§

const ALIGN: usize = mem::align_of::<T>()

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
source§

fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
source§

impl<T> Tap for T

source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .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,

Calls .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,

Calls .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,

Calls .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,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> TryConv for T

source§

fn try_conv<T>(self) -> Result<T, Self::Error>where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,

source§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
source§

impl<V, T> VZip<V> for Twhere V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

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
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<S> Codec for Swhere S: Decode + Encode,

source§

impl<T> EncodeLike<&&T> for Twhere T: Encode,

source§

impl<T> EncodeLike<&T> for Twhere T: Encode,

source§

impl<T> EncodeLike<&mut T> for Twhere T: Encode,

source§

impl<T> EncodeLike<Arc<T>> for Twhere T: Encode,

source§

impl<T> EncodeLike<Box<T, Global>> for Twhere T: Encode,

source§

impl<'a, T> EncodeLike<Cow<'a, T>> for Twhere T: ToOwned + Encode,

source§

impl<T> EncodeLike<Rc<T>> for Twhere T: Encode,

source§

impl<S> FullCodec for Swhere S: Decode + FullEncode,

source§

impl<S> FullEncode for Swhere S: Encode + EncodeLike<S>,

source§

impl<T> MaybeDebug for Twhere T: Debug,

source§

impl<T> MaybeDebug for Twhere T: Debug,

source§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

source§

impl<T> Member for Twhere T: Send + Sync + Debug + Eq + PartialEq<T> + Clone + 'static,

source§

impl<T> Parameter for Twhere T: Codec + EncodeLike<T> + Clone + Eq + Debug + TypeInfo,

source§

impl<T> StaticTypeInfo for Twhere T: TypeInfo + 'static,