pub enum Call<T: Config> {
Show 21 variants unbond_and_unstake { contract_id: T::SmartContract, value: Balance, }, withdraw_unbonded {}, maintenance_mode { enabled: bool, }, register { owner: T::AccountId, smart_contract: T::SmartContract, }, set_dapp_reward_beneficiary { smart_contract: T::SmartContract, beneficiary: Option<T::AccountId>, }, set_dapp_owner { smart_contract: T::SmartContract, new_owner: T::AccountId, }, unregister { smart_contract: T::SmartContract, }, lock { amount: Balance, }, unlock { amount: Balance, }, claim_unlocked {}, relock_unlocking {}, stake { smart_contract: T::SmartContract, amount: Balance, }, unstake { smart_contract: T::SmartContract, amount: Balance, }, claim_staker_rewards {}, claim_bonus_reward { smart_contract: T::SmartContract, }, claim_dapp_reward { smart_contract: T::SmartContract, era: EraNumber, }, unstake_from_unregistered { smart_contract: T::SmartContract, }, cleanup_expired_entries {}, force { forcing_type: ForcingType, }, claim_staker_rewards_for { account: T::AccountId, }, claim_bonus_reward_for { account: T::AccountId, smart_contract: T::SmartContract, }, // some variants omitted
}
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

Variants§

§

unbond_and_unstake

Fields

§contract_id: T::SmartContract
§value: Balance

Wrapper around legacy-like unbond_and_unstake.

Used to support legacy Ledger users so they can start the unlocking process for their funds.

§

withdraw_unbonded

Wrapper around legacy-like withdraw_unbonded.

Used to support legacy Ledger users so they can reclaim unlocked chunks back into their transferable free balance.

§

maintenance_mode

Fields

§enabled: bool

Used to enable or disable maintenance mode. Can only be called by manager origin.

§

register

Fields

§owner: T::AccountId
§smart_contract: T::SmartContract

Used to register a new contract for dApp staking.

If successful, smart contract will be assigned a simple, unique numerical identifier. Owner is set to be initial beneficiary & manager of the dApp.

§

set_dapp_reward_beneficiary

Fields

§smart_contract: T::SmartContract
§beneficiary: Option<T::AccountId>

Used to modify the reward beneficiary account for a dApp.

Caller has to be dApp owner. If set to None, rewards will be deposited to the dApp owner. After this call, all existing & future rewards will be paid out to the beneficiary.

§

set_dapp_owner

Fields

§smart_contract: T::SmartContract
§new_owner: T::AccountId

Used to change dApp owner.

Can be called by dApp owner or dApp staking manager origin. This is useful in two cases:

  1. when the dApp owner account is compromised, manager can change the owner to a new account
  2. if project wants to transfer ownership to a new account (DAO, multisig, etc.).
§

unregister

Fields

§smart_contract: T::SmartContract

Unregister dApp from dApp staking protocol, making it ineligible for future rewards. This doesn’t remove the dApp completely from the system just yet, but it can no longer be used for staking.

Can be called by dApp staking manager origin.

§

lock

Fields

§amount: Balance

Locks additional funds into dApp staking.

In case caller account doesn’t have sufficient balance to cover the specified amount, everything is locked. After adjustment, lock amount must be greater than zero and in total must be equal or greater than the minimum locked amount.

Locked amount can immediately be used for staking.

§

unlock

Fields

§amount: Balance

Attempts to start the unlocking process for the specified amount.

Only the amount that isn’t actively used for staking can be unlocked. If the amount is greater than the available amount for unlocking, everything is unlocked. If the remaining locked amount would take the account below the minimum locked amount, everything is unlocked.

§

claim_unlocked

Claims all of fully unlocked chunks, removing the lock from them.

§

relock_unlocking

§

stake

Fields

§smart_contract: T::SmartContract
§amount: Balance

Stake the specified amount on a smart contract. The precise amount specified must be available for staking. The total amount staked on a dApp must be greater than the minimum required value.

Depending on the period type, appropriate stake amount will be updated. During Voting subperiod, voting stake amount is updated, and same for Build&Earn subperiod.

Staked amount is only eligible for rewards from the next era onwards.

§

unstake

Fields

§smart_contract: T::SmartContract
§amount: Balance

Unstake the specified amount from a smart contract. The amount specified must not exceed what’s staked, otherwise the call will fail.

If unstaking the specified amount would take staker below the minimum stake threshold, everything is unstaked.

Depending on the period type, appropriate stake amount will be updated. In case amount is unstaked during Voting subperiod, the voting amount is reduced. In case amount is unstaked during Build&Earn subperiod, first the build_and_earn is reduced, and any spillover is subtracted from the voting amount.

§

claim_staker_rewards

Claims some staker rewards, if user has any. In the case of a successful call, at least one era will be claimed, with the possibility of multiple claims happening.

§

claim_bonus_reward

Fields

§smart_contract: T::SmartContract

Used to claim bonus reward for a smart contract, if eligible.

§

claim_dapp_reward

Fields

§smart_contract: T::SmartContract
§era: EraNumber

Used to claim dApp reward for the specified era.

§

unstake_from_unregistered

Fields

§smart_contract: T::SmartContract

Used to unstake funds from a contract that was unregistered after an account staked on it. This is required if staker wants to re-stake these funds on another active contract during the ongoing period.

§

cleanup_expired_entries

Cleanup expired stake entries for the contract.

Entry is considered to be expired if:

  1. It’s from a past period & the account wasn’t a loyal staker, meaning there’s no claimable bonus reward.
  2. It’s from a period older than the oldest claimable period, regardless whether the account was loyal or not.
§

force

Fields

§forcing_type: ForcingType

Used to force a change of era or subperiod. The effect isn’t immediate but will happen on the next block.

Used for testing purposes, when we want to force an era change, or a subperiod change. Not intended to be used in production, except in case of unforeseen circumstances.

Can only be called by the root origin.

§

claim_staker_rewards_for

Fields

§account: T::AccountId

Claims some staker rewards for the specified account, if they have any. In the case of a successful call, at least one era will be claimed, with the possibility of multiple claims happening.

§

claim_bonus_reward_for

Fields

§account: T::AccountId
§smart_contract: T::SmartContract

Used to claim bonus reward for a smart contract on behalf of the specified account, if eligible.

Implementations§

source§

impl<T: Config> Call<T>

source

pub fn new_call_variant_unbond_and_unstake( contract_id: T::SmartContract, value: Balance ) -> Self

Create a call with the variant unbond_and_unstake.

source

pub fn new_call_variant_withdraw_unbonded() -> Self

Create a call with the variant withdraw_unbonded.

source

pub fn new_call_variant_maintenance_mode(enabled: bool) -> Self

Create a call with the variant maintenance_mode.

source

pub fn new_call_variant_register( owner: T::AccountId, smart_contract: T::SmartContract ) -> Self

Create a call with the variant register.

source

pub fn new_call_variant_set_dapp_reward_beneficiary( smart_contract: T::SmartContract, beneficiary: Option<T::AccountId> ) -> Self

Create a call with the variant set_dapp_reward_beneficiary.

source

pub fn new_call_variant_set_dapp_owner( smart_contract: T::SmartContract, new_owner: T::AccountId ) -> Self

Create a call with the variant set_dapp_owner.

source

pub fn new_call_variant_unregister(smart_contract: T::SmartContract) -> Self

Create a call with the variant unregister.

source

pub fn new_call_variant_lock(amount: Balance) -> Self

Create a call with the variant lock.

source

pub fn new_call_variant_unlock(amount: Balance) -> Self

Create a call with the variant unlock.

source

pub fn new_call_variant_claim_unlocked() -> Self

Create a call with the variant claim_unlocked.

source

pub fn new_call_variant_relock_unlocking() -> Self

Create a call with the variant relock_unlocking.

source

pub fn new_call_variant_stake( smart_contract: T::SmartContract, amount: Balance ) -> Self

Create a call with the variant stake.

source

pub fn new_call_variant_unstake( smart_contract: T::SmartContract, amount: Balance ) -> Self

Create a call with the variant unstake.

source

pub fn new_call_variant_claim_staker_rewards() -> Self

Create a call with the variant claim_staker_rewards.

source

pub fn new_call_variant_claim_bonus_reward( smart_contract: T::SmartContract ) -> Self

Create a call with the variant claim_bonus_reward.

source

pub fn new_call_variant_claim_dapp_reward( smart_contract: T::SmartContract, era: EraNumber ) -> Self

Create a call with the variant claim_dapp_reward.

source

pub fn new_call_variant_unstake_from_unregistered( smart_contract: T::SmartContract ) -> Self

Create a call with the variant unstake_from_unregistered.

source

pub fn new_call_variant_cleanup_expired_entries() -> Self

Create a call with the variant cleanup_expired_entries.

source

pub fn new_call_variant_force(forcing_type: ForcingType) -> Self

Create a call with the variant force.

source

pub fn new_call_variant_claim_staker_rewards_for(account: T::AccountId) -> Self

Create a call with the variant claim_staker_rewards_for.

source

pub fn new_call_variant_claim_bonus_reward_for( account: T::AccountId, smart_contract: T::SmartContract ) -> Self

Create a call with the variant claim_bonus_reward_for.

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) -> R
where 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, T::SmartContract: TypeInfo + 'static, T::AccountId: TypeInfo + 'static, Option<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>::SmartContract: RefUnwindSafe,

§

impl<T> Send for Call<T>
where T: Send,

§

impl<T> Sync for Call<T>
where T: Sync,

§

impl<T> Unpin for Call<T>
where T: Unpin, <T as Config>::AccountId: Unpin, <T as Config>::SmartContract: Unpin,

§

impl<T> UnwindSafe for Call<T>
where T: UnwindSafe, <T as Config>::AccountId: UnwindSafe, <T as Config>::SmartContract: UnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for 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>,

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

impl<T> Conv for T

§

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

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

impl<T> DecodeAll for T
where 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 T
where 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 T
where T: Clone,

source§

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

source§

impl<Q, K> Equivalent<K> for Q
where 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 Q
where 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<Q, K> Equivalent<K> for Q
where 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 T
where 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>

§

impl<T> Instrument for T

§

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

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

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 T
where 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> Into2<U> for T
where U: From2<T>,

§

fn into2(self) -> U

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
§

impl<T, U> IntoKey<U> for T
where 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.
§

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

§

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

Get a reference to the inner from the outer.

§

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

Get a mutable reference to the inner from the outer.

§

impl<T> KeyedVec for T
where 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 T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where 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) -> 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,

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,

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,

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,

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,

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) -> R
where 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 ) -> R
where 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
§

impl<T> SaturatedConversion for 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>,

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

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,

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,

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,

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,

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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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)) -> Self
where 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 T
where 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 T
where 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 T
where 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> TryInto2<U> for T
where U: TryFrom2<T>,

§

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

§

fn try_into2(self) -> Result<U, <U as TryFrom2<T>>::Error>

§

impl<T, U> TryIntoKey<U> for T
where U: TryFromKey<T>,

§

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

§

fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>

§

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

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<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>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

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 S
where S: Decode + Encode,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

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

§

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

§

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