pub enum Call<T: Config> {
Show 23 variants join { amount: BalanceOf<T>, pool_id: PoolId, }, bond_extra { extra: BondExtra<BalanceOf<T>>, }, claim_payout {}, unbond { member_account: <<T as Config>::Lookup as StaticLookup>::Source, unbonding_points: BalanceOf<T>, }, pool_withdraw_unbonded { pool_id: PoolId, num_slashing_spans: u32, }, withdraw_unbonded { member_account: <<T as Config>::Lookup as StaticLookup>::Source, num_slashing_spans: u32, }, create { amount: BalanceOf<T>, root: <<T as Config>::Lookup as StaticLookup>::Source, nominator: <<T as Config>::Lookup as StaticLookup>::Source, bouncer: <<T as Config>::Lookup as StaticLookup>::Source, }, create_with_pool_id { amount: BalanceOf<T>, root: <<T as Config>::Lookup as StaticLookup>::Source, nominator: <<T as Config>::Lookup as StaticLookup>::Source, bouncer: <<T as Config>::Lookup as StaticLookup>::Source, pool_id: PoolId, }, nominate { pool_id: PoolId, validators: Vec<T::AccountId>, }, set_state { pool_id: PoolId, state: PoolState, }, set_metadata { pool_id: PoolId, metadata: Vec<u8>, }, set_configs { min_join_bond: ConfigOp<BalanceOf<T>>, min_create_bond: ConfigOp<BalanceOf<T>>, max_pools: ConfigOp<u32>, max_members: ConfigOp<u32>, max_members_per_pool: ConfigOp<u32>, global_max_commission: ConfigOp<Perbill>, }, update_roles { pool_id: PoolId, new_root: ConfigOp<T::AccountId>, new_nominator: ConfigOp<T::AccountId>, new_bouncer: ConfigOp<T::AccountId>, }, chill { pool_id: PoolId, }, bond_extra_other { member: <<T as Config>::Lookup as StaticLookup>::Source, extra: BondExtra<BalanceOf<T>>, }, set_claim_permission { permission: ClaimPermission, }, claim_payout_other { other: T::AccountId, }, set_commission { pool_id: PoolId, new_commission: Option<(Perbill, T::AccountId)>, }, set_commission_max { pool_id: PoolId, max_commission: Perbill, }, set_commission_change_rate { pool_id: PoolId, change_rate: CommissionChangeRate<BlockNumberFor<T>>, }, claim_commission { pool_id: PoolId, }, adjust_pool_deposit { pool_id: PoolId, }, set_commission_claim_permission { pool_id: PoolId, permission: Option<CommissionClaimPermission<T::AccountId>>, }, // some variants omitted
}
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

Variants§

§

join

Fields

§amount: BalanceOf<T>
§pool_id: PoolId

Stake funds with a pool. The amount to bond is transferred from the member to the pools account and immediately increases the pools bond.

Note

  • An account can only be a member of a single pool.
  • An account cannot join the same pool multiple times.
  • This call will not dust the member account, so the member must have at least existential deposit + amount in their account.
  • Only a pool with PoolState::Open can be joined
§

bond_extra

Fields

Bond extra more funds from origin into the pool to which they already belong.

Additional funds can come from either the free balance of the account, of from the accumulated rewards, see BondExtra.

Bonding extra funds implies an automatic payout of all pending rewards as well. See bond_extra_other to bond pending rewards of other members.

§

claim_payout

Fields

A bonded member can use this to claim their payout based on the rewards that the pool has accumulated since their last claimed payout (OR since joining if this is their first time claiming rewards). The payout will be transferred to the member’s account.

The member will earn rewards pro rata based on the members stake vs the sum of the members in the pools stake. Rewards do not “expire”.

See claim_payout_other to caim rewards on bahalf of some other pool member.

§

unbond

Fields

§member_account: <<T as Config>::Lookup as StaticLookup>::Source
§unbonding_points: BalanceOf<T>

Unbond up to unbonding_points of the member_account’s funds from the pool. It implicitly collects the rewards one last time, since not doing so would mean some rewards would be forfeited.

Under certain conditions, this call can be dispatched permissionlessly (i.e. by any account).

Conditions for a permissionless dispatch.

  • The pool is blocked and the caller is either the root or bouncer. This is refereed to as a kick.
  • The pool is destroying and the member is not the depositor.
  • The pool is destroying, the member is the depositor and no other members are in the pool.
Conditions for permissioned dispatch (i.e. the caller is also the

member_account):

  • The caller is not the depositor.
  • The caller is the depositor, the pool is destroying and no other members are in the pool.

Note

If there are too many unlocking chunks to unbond with the pool account, Call::pool_withdraw_unbonded can be called to try and minimize unlocking chunks. The [StakingInterface::unbond] will implicitly call Call::pool_withdraw_unbonded to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks are available). However, it may not be possible to release the current unlocking chunks, in which case, the result of this call will likely be the NoMoreChunks error from the staking system.

§

pool_withdraw_unbonded

Fields

§pool_id: PoolId
§num_slashing_spans: u32

Call withdraw_unbonded for the pools account. This call can be made by any account.

This is useful if there are too many unlocking chunks to call unbond, and some can be cleared by withdrawing. In the case there are too many unlocking chunks, the user would probably see an error like NoMoreChunks emitted from the staking system when they attempt to unbond.

§

withdraw_unbonded

Fields

§member_account: <<T as Config>::Lookup as StaticLookup>::Source
§num_slashing_spans: u32

Withdraw unbonded funds from member_account. If no bonded funds can be unbonded, an error is returned.

Under certain conditions, this call can be dispatched permissionlessly (i.e. by any account).

Conditions for a permissionless dispatch

  • The pool is in destroy mode and the target is not the depositor.
  • The target is the depositor and they are the only member in the sub pools.
  • The pool is blocked and the caller is either the root or bouncer.

Conditions for permissioned dispatch

  • The caller is the target and they are not the depositor.

Note

If the target is the depositor, the pool will be destroyed.

§

create

Fields

§amount: BalanceOf<T>
§root: <<T as Config>::Lookup as StaticLookup>::Source
§nominator: <<T as Config>::Lookup as StaticLookup>::Source
§bouncer: <<T as Config>::Lookup as StaticLookup>::Source

Create a new delegation pool.

Arguments

  • amount - The amount of funds to delegate to the pool. This also acts of a sort of deposit since the pools creator cannot fully unbond funds until the pool is being destroyed.
  • index - A disambiguation index for creating the account. Likely only useful when creating multiple pools in the same extrinsic.
  • root - The account to set as PoolRoles::root.
  • nominator - The account to set as the PoolRoles::nominator.
  • bouncer - The account to set as the PoolRoles::bouncer.

Note

In addition to amount, the caller will transfer the existential deposit; so the caller needs at have at least amount + existential_deposit transferable.

§

create_with_pool_id

Fields

§amount: BalanceOf<T>
§root: <<T as Config>::Lookup as StaticLookup>::Source
§nominator: <<T as Config>::Lookup as StaticLookup>::Source
§bouncer: <<T as Config>::Lookup as StaticLookup>::Source
§pool_id: PoolId

Create a new delegation pool with a previously used pool id

Arguments

same as create with the inclusion of

  • pool_id - `A valid PoolId.
§

nominate

Fields

§pool_id: PoolId
§validators: Vec<T::AccountId>

Nominate on behalf of the pool.

The dispatch origin of this call must be signed by the pool nominator or the pool root role.

This directly forward the call to the staking pallet, on behalf of the pool bonded account.

§

set_state

Fields

§pool_id: PoolId

Set a new state for the pool.

If a pool is already in the Destroying state, then under no condition can its state change again.

The dispatch origin of this call must be either:

  1. signed by the bouncer, or the root role of the pool,
  2. if the pool conditions to be open are NOT met (as described by ok_to_be_open), and then the state of the pool can be permissionlessly changed to Destroying.
§

set_metadata

Fields

§pool_id: PoolId
§metadata: Vec<u8>

Set a new metadata for the pool.

The dispatch origin of this call must be signed by the bouncer, or the root role of the pool.

§

set_configs

Fields

§min_join_bond: ConfigOp<BalanceOf<T>>
§min_create_bond: ConfigOp<BalanceOf<T>>
§max_pools: ConfigOp<u32>
§max_members: ConfigOp<u32>
§max_members_per_pool: ConfigOp<u32>
§global_max_commission: ConfigOp<Perbill>

Update configurations for the nomination pools. The origin for this call must be Root.

Arguments

§

update_roles

Fields

§pool_id: PoolId
§new_root: ConfigOp<T::AccountId>
§new_nominator: ConfigOp<T::AccountId>
§new_bouncer: ConfigOp<T::AccountId>

Update the roles of the pool.

The root is the only entity that can change any of the roles, including itself, excluding the depositor, who can never change.

It emits an event, notifying UIs of the role change. This event is quite relevant to most pool members and they should be informed of changes to pool roles.

§

chill

Fields

§pool_id: PoolId

Chill on behalf of the pool.

The dispatch origin of this call must be signed by the pool nominator or the pool root role, same as Pallet::nominate.

This directly forward the call to the staking pallet, on behalf of the pool bonded account.

§

bond_extra_other

Fields

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

origin bonds funds from extra for some pool member member into their respective pools.

origin can bond extra funds from free balance or pending rewards when origin == other.

In the case of origin != other, origin can only bond extra pending rewards of other members assuming set_claim_permission for the given member is PermissionlessAll or PermissionlessCompound.

§

set_claim_permission

Fields

§permission: ClaimPermission

Allows a pool member to set a claim permission to allow or disallow permissionless bonding and withdrawing.

By default, this is Permissioned, which implies only the pool member themselves can claim their pending rewards. If a pool member wishes so, they can set this to PermissionlessAll to allow any account to claim their rewards and bond extra to the pool.

Arguments

  • origin - Member of a pool.
  • actor - Account to claim reward. // improve this
§

claim_payout_other

Fields

§other: T::AccountId

origin can claim payouts on some pool member other’s behalf.

Pool member other must have a PermissionlessAll or PermissionlessWithdraw in order for this call to be successful.

§

set_commission

Fields

§pool_id: PoolId
§new_commission: Option<(Perbill, T::AccountId)>

Set the commission of a pool. Both a commission percentage and a commission payee must be provided in the current tuple. Where a current of None is provided, any current commission will be removed.

  • If a None is supplied to new_commission, existing commission will be removed.
§

set_commission_max

Fields

§pool_id: PoolId
§max_commission: Perbill

Set the maximum commission of a pool.

  • Initial max can be set to any Perbill, and only smaller values thereafter.
  • Current commission will be lowered in the event it is higher than a new max commission.
§

set_commission_change_rate

Fields

§pool_id: PoolId
§change_rate: CommissionChangeRate<BlockNumberFor<T>>

Set the commission change rate for a pool.

Initial change rate is not bounded, whereas subsequent updates can only be more restrictive than the current.

§

claim_commission

Fields

§pool_id: PoolId

Claim pending commission.

The dispatch origin of this call must be signed by the root role of the pool. Pending commission is paid out and added to total claimed commission`. Total pending commission is reset to zero. the current.

§

adjust_pool_deposit

Fields

§pool_id: PoolId

Top up the deficit or withdraw the excess ED from the pool.

When a pool is created, the pool depositor transfers ED to the reward account of the pool. ED is subject to change and over time, the deposit in the reward account may be insufficient to cover the ED deficit of the pool or vice-versa where there is excess deposit to the pool. This call allows anyone to adjust the ED deposit of the pool by either topping up the deficit or claiming the excess.

§

set_commission_claim_permission

Fields

§pool_id: PoolId
§permission: Option<CommissionClaimPermission<T::AccountId>>

Set or remove a pool’s commission claim permission.

Determines who can claim the pool’s pending commission. Only the Root role of the pool is able to conifigure commission claim permissions.

Implementations§

source§

impl<T: Config> Call<T>

source

pub fn new_call_variant_join(amount: BalanceOf<T>, pool_id: PoolId) -> Self

Create a call with the variant join.

source

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

Create a call with the variant bond_extra.

source

pub fn new_call_variant_claim_payout() -> Self

Create a call with the variant claim_payout.

source

pub fn new_call_variant_unbond( member_account: <<T as Config>::Lookup as StaticLookup>::Source, unbonding_points: BalanceOf<T> ) -> Self

Create a call with the variant unbond.

source

pub fn new_call_variant_pool_withdraw_unbonded( pool_id: PoolId, num_slashing_spans: u32 ) -> Self

Create a call with the variant pool_withdraw_unbonded.

source

pub fn new_call_variant_withdraw_unbonded( member_account: <<T as Config>::Lookup as StaticLookup>::Source, num_slashing_spans: u32 ) -> Self

Create a call with the variant withdraw_unbonded.

source

pub fn new_call_variant_create( amount: BalanceOf<T>, root: <<T as Config>::Lookup as StaticLookup>::Source, nominator: <<T as Config>::Lookup as StaticLookup>::Source, bouncer: <<T as Config>::Lookup as StaticLookup>::Source ) -> Self

Create a call with the variant create.

source

pub fn new_call_variant_create_with_pool_id( amount: BalanceOf<T>, root: <<T as Config>::Lookup as StaticLookup>::Source, nominator: <<T as Config>::Lookup as StaticLookup>::Source, bouncer: <<T as Config>::Lookup as StaticLookup>::Source, pool_id: PoolId ) -> Self

Create a call with the variant create_with_pool_id.

source

pub fn new_call_variant_nominate( pool_id: PoolId, validators: Vec<T::AccountId> ) -> Self

Create a call with the variant nominate.

source

pub fn new_call_variant_set_state(pool_id: PoolId, state: PoolState) -> Self

Create a call with the variant set_state.

source

pub fn new_call_variant_set_metadata(pool_id: PoolId, metadata: Vec<u8>) -> Self

Create a call with the variant set_metadata.

source

pub fn new_call_variant_set_configs( min_join_bond: ConfigOp<BalanceOf<T>>, min_create_bond: ConfigOp<BalanceOf<T>>, max_pools: ConfigOp<u32>, max_members: ConfigOp<u32>, max_members_per_pool: ConfigOp<u32>, global_max_commission: ConfigOp<Perbill> ) -> Self

Create a call with the variant set_configs.

source

pub fn new_call_variant_update_roles( pool_id: PoolId, new_root: ConfigOp<T::AccountId>, new_nominator: ConfigOp<T::AccountId>, new_bouncer: ConfigOp<T::AccountId> ) -> Self

Create a call with the variant update_roles.

source

pub fn new_call_variant_chill(pool_id: PoolId) -> Self

Create a call with the variant chill.

source

pub fn new_call_variant_bond_extra_other( member: <<T as Config>::Lookup as StaticLookup>::Source, extra: BondExtra<BalanceOf<T>> ) -> Self

Create a call with the variant bond_extra_other.

source

pub fn new_call_variant_set_claim_permission( permission: ClaimPermission ) -> Self

Create a call with the variant set_claim_permission.

source

pub fn new_call_variant_claim_payout_other(other: T::AccountId) -> Self

Create a call with the variant claim_payout_other.

source

pub fn new_call_variant_set_commission( pool_id: PoolId, new_commission: Option<(Perbill, T::AccountId)> ) -> Self

Create a call with the variant set_commission.

source

pub fn new_call_variant_set_commission_max( pool_id: PoolId, max_commission: Perbill ) -> Self

Create a call with the variant set_commission_max.

source

pub fn new_call_variant_set_commission_change_rate( pool_id: PoolId, change_rate: CommissionChangeRate<BlockNumberFor<T>> ) -> Self

Create a call with the variant set_commission_change_rate.

source

pub fn new_call_variant_claim_commission(pool_id: PoolId) -> Self

Create a call with the variant claim_commission.

source

pub fn new_call_variant_adjust_pool_deposit(pool_id: PoolId) -> Self

Create a call with the variant adjust_pool_deposit.

source

pub fn new_call_variant_set_commission_claim_permission( pool_id: PoolId, permission: Option<CommissionClaimPermission<T::AccountId>> ) -> Self

Create a call with the variant set_commission_claim_permission.

Trait Implementations§

source§

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

§

type Origin = <T as Config>::RuntimeOrigin

The Origin type of the runtime.
source§

fn is_feeless(&self, origin: &Self::Origin) -> bool

Checks if the dispatchable satisfies the feeless condition as defined by #[pallet::feeless_if]
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.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

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>

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

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

source§

fn size_hint(&self) -> usize

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

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>

Convert self to an owned vector.
§

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

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

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

source§

fn get_call_index(&self) -> u8

Return the index of this Call.
source§

fn get_call_indices() -> &'static [u8]

Return all call indices in the same order as [GetCallName].
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 in the same order as [GetCallIndex].
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 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, BalanceOf<T>: HasCompact, BondExtra<BalanceOf<T>>: TypeInfo + 'static, <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static, Vec<T::AccountId>: TypeInfo + 'static, ConfigOp<BalanceOf<T>>: TypeInfo + 'static, ConfigOp<T::AccountId>: TypeInfo + 'static, T::AccountId: TypeInfo + 'static, Option<(Perbill, T::AccountId)>: TypeInfo + 'static, CommissionChangeRate<BlockNumberFor<T>>: TypeInfo + 'static, Option<CommissionClaimPermission<T::AccountId>>: 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 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>::Currency as Inspect<<T as Config>::AccountId>>::Balance: RefUnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: RefUnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,

§

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

§

impl<T> Sync for Call<T>where T: 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>::Currency as Inspect<<T as Config>::AccountId>>::Balance: Unpin, <<<T as Config>::Block as Block>::Header as Header>::Number: 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>::Currency as Inspect<<T as Config>::AccountId>>::Balance: UnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: 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
§

impl<T> Conv for T

§

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

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

impl<T> DecodeAll for Twhere T: Decode,

§

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

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

impl<T> DecodeLimit for Twhere T: Decode,

§

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
§

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

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

§

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

Checks if this value is equivalent to the given key. Read more
§

impl<T> FmtForward for T

§

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,

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

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

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

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

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

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,

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

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

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

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

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

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.

§

impl<T> Hashable for Twhere T: Codec,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

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.

§

impl<T, U> IntoKey<U> for Twhere U: FromKey<T>,

§

fn into_key(self) -> U

§

impl<T> IsType<T> for T

§

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

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

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

Cast mutable reference.
§

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.

§

impl<T> KeyedVec for Twhere T: Codec,

§

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

Return an encoding of Self prepended by given slice.
§

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

§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same 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
§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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
§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

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

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

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

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
§

impl<T> TryConv for T

§

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

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

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

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

§

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
§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for Twhere T: Debug,

source§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

source§

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,

source§

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

§

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

§

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