pub struct Pallet<T, I = ()>(PhantomData<(T, I)>);
Expand description

The Pallet struct, the main type that implements traits and standalone functions within the pallet.

Tuple Fields§

§0: PhantomData<(T, I)>

Implementations§

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub fn transfer_allow_death( origin: OriginFor<T>, dest: <<T as Config>::Lookup as StaticLookup>::Source, value: T::Balance ) -> DispatchResult

Transfer some liquid free balance to another account.

transfer_allow_death will set the FreeBalance of the sender and receiver. If the sender’s account is below the existential deposit as a result of the transfer, the account will be reaped.

The dispatch origin for this call must be Signed by the transactor.

source

pub fn force_transfer( origin: OriginFor<T>, source: <<T as Config>::Lookup as StaticLookup>::Source, dest: <<T as Config>::Lookup as StaticLookup>::Source, value: T::Balance ) -> DispatchResult

Exactly as transfer_allow_death, except the origin must be root and the source account may be specified.

source

pub fn transfer_keep_alive( origin: OriginFor<T>, dest: <<T as Config>::Lookup as StaticLookup>::Source, value: T::Balance ) -> DispatchResult

Same as the transfer_allow_death call, but with a check that the transfer will not kill the origin account.

99% of the time you want transfer_allow_death instead.

source

pub fn transfer_all( origin: OriginFor<T>, dest: <<T as Config>::Lookup as StaticLookup>::Source, keep_alive: bool ) -> DispatchResult

Transfer the entire transferable balance from the caller account.

NOTE: This function only attempts to transfer transferable balances. This means that any locked, reserved, or existential deposits (when keep_alive is true), will not be transferred by this function. To ensure that this function results in a killed account, you might need to prepare the account by removing any reference counters, storage deposits, etc…

The dispatch origin of this call must be Signed.

  • dest: The recipient of the transfer.
  • keep_alive: A boolean to determine if the transfer_all operation should send all of the funds the account has, causing the sender account to be killed (false), or transfer everything except at least the existential deposit, which will guarantee to keep the sender account alive (true).
source

pub fn force_unreserve( origin: OriginFor<T>, who: <<T as Config>::Lookup as StaticLookup>::Source, amount: T::Balance ) -> DispatchResult

Unreserve some balance from a user by force.

Can only be called by ROOT.

source

pub fn force_set_balance( origin: OriginFor<T>, who: <<T as Config>::Lookup as StaticLookup>::Source, new_free: T::Balance ) -> DispatchResult

Upgrade a specified account.

  • origin: Must be Signed.
  • who: The account to be upgraded.

This will waive the transaction fee if at least all but 10% of the accounts needed to be upgraded. (We let some not have to be upgraded just in order to allow for the possibility of churn). Set the regular balance of a given account.

The dispatch origin for this call is root.

source

pub fn force_adjust_total_issuance( origin: OriginFor<T>, direction: AdjustmentDirection, delta: T::Balance ) -> DispatchResult

Adjust the total issuance in a saturating way.

Can only be called by root and always needs a positive delta.

§Example
#[test]
fn force_adjust_total_issuance_example() {
	ExtBuilder::default().build_and_execute_with(|| {
		// First we set the TotalIssuance to 64 by giving Alice a balance of 64.
		assert_ok!(Balances::force_set_balance(RuntimeOrigin::root(), ALICE, 64));
		let old_ti = Balances::total_issuance();
		assert_eq!(old_ti, 64, "TI should be 64");

		// Now test the increase:
		assert_ok!(Balances::force_adjust_total_issuance(RawOrigin::Root.into(), Inc, 32));
		let new_ti = Balances::total_issuance();
		assert_eq!(old_ti + 32, new_ti, "Should increase by 32");

		// If Alice tries to call it, it errors:
		assert_noop!(
			Balances::force_adjust_total_issuance(RawOrigin::Signed(ALICE).into(), Inc, 32),
			BadOrigin,
		);
	});
}
source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

fn ed() -> T::Balance

source

pub fn ensure_upgraded(who: &T::AccountId) -> bool

Ensure the account who is using the new logic.

Returns true if the account did get upgraded, false if it didn’t need upgrading.

source

pub fn free_balance(who: impl Borrow<T::AccountId>) -> T::Balance

Get the free balance of an account.

source

pub fn usable_balance(who: impl Borrow<T::AccountId>) -> T::Balance

Get the balance of an account that can be used for transfers, reservations, or any other non-locking, non-transaction-fee activity. Will be at most free_balance.

source

pub fn usable_balance_for_fees(who: impl Borrow<T::AccountId>) -> T::Balance

Get the balance of an account that can be used for paying transaction fees (not tipping, or any other kind of fees, though). Will be at most free_balance.

This requires that the account stays alive.

source

pub fn reserved_balance(who: impl Borrow<T::AccountId>) -> T::Balance

Get the reserved balance of an account.

source

pub(crate) fn account(who: &T::AccountId) -> AccountData<T::Balance>

Get both the free and reserved balances of an account.

source

pub(crate) fn mutate_account_handling_dust<R>( who: &T::AccountId, f: impl FnOnce(&mut AccountData<T::Balance>) -> R ) -> Result<R, DispatchError>

Mutate an account to some new value, or delete it entirely with None. Will enforce ExistentialDeposit law, annulling the account as needed.

It returns the result from the closure. Any dust is handled through the low-level fungible::Unbalanced trap-door for legacy dust management.

NOTE: Doesn’t do any preparatory work for creating a new account, so should only be used when it is known that the account already exists.

NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that the caller will do this.

source

pub(crate) fn try_mutate_account_handling_dust<R, E: From<DispatchError>>( who: &T::AccountId, f: impl FnOnce(&mut AccountData<T::Balance>, bool) -> Result<R, E> ) -> Result<R, E>

Mutate an account to some new value, or delete it entirely with None. Will enforce ExistentialDeposit law, annulling the account as needed.

It returns the result from the closure. Any dust is handled through the low-level fungible::Unbalanced trap-door for legacy dust management.

NOTE: Doesn’t do any preparatory work for creating a new account, so should only be used when it is known that the account already exists.

NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that the caller will do this.

source

pub(crate) fn mutate_account<R>( who: &T::AccountId, f: impl FnOnce(&mut AccountData<T::Balance>) -> R ) -> Result<(R, Option<T::Balance>), DispatchError>

Mutate an account to some new value, or delete it entirely with None. Will enforce ExistentialDeposit law, annulling the account as needed.

It returns both the result from the closure, and an optional amount of dust which should be handled once it is known that all nested mutates that could affect storage items what the dust handler touches have completed.

NOTE: Doesn’t do any preparatory work for creating a new account, so should only be used when it is known that the account already exists.

NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that the caller will do this.

source

fn have_providers_or_no_zero_ed(_: &T::AccountId) -> bool

Returns true when who has some providers or insecure_zero_ed feature is disabled. Returns false otherwise.

source

pub(crate) fn try_mutate_account<R, E: From<DispatchError>>( who: &T::AccountId, f: impl FnOnce(&mut AccountData<T::Balance>, bool) -> Result<R, E> ) -> Result<(R, Option<T::Balance>), E>

Mutate an account to some new value, or delete it entirely with None. Will enforce ExistentialDeposit law, annulling the account as needed. This will do nothing if the result of f is an Err.

It returns both the result from the closure, and an optional amount of dust which should be handled once it is known that all nested mutates that could affect storage items what the dust handler touches have completed.

NOTE: Doesn’t do any preparatory work for creating a new account, so should only be used when it is known that the account already exists.

NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that the caller will do this.

source

pub(crate) fn update_locks( who: &T::AccountId, locks: &[BalanceLock<T::Balance>] )

Update the account entry for who, given the locks.

source

pub(crate) fn update_freezes( who: &T::AccountId, freezes: BoundedSlice<'_, IdAmount<T::FreezeIdentifier, T::Balance>, T::MaxFreezes> ) -> DispatchResult

Update the account entry for who, given the locks.

source

pub(crate) fn do_transfer_reserved( slashed: &T::AccountId, beneficiary: &T::AccountId, value: T::Balance, precision: Precision, fortitude: Fortitude, status: Status ) -> Result<T::Balance, DispatchError>

Move the reserved balance of one account into the balance of another, according to status. This will respect freezes/locks only if fortitude is Polite.

Is a no-op if the value to be moved is zero.

NOTE: returns actual amount of transferred value in Ok case.

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub(crate) fn deposit_event(event: Event<T, I>)

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub fn total_issuance() -> T::Balance

An auto-generated getter for TotalIssuance.

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub fn inactive_issuance() -> T::Balance

An auto-generated getter for InactiveIssuance.

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub fn locks<KArg>( k: KArg ) -> WeakBoundedVec<BalanceLock<T::Balance>, T::MaxLocks>
where KArg: EncodeLike<T::AccountId>,

An auto-generated getter for Locks.

source§

impl<T: Config<I>, I: 'static> Pallet<T, I>

source

pub fn reserves<KArg>( k: KArg ) -> BoundedVec<ReserveData<T::ReserveIdentifier, T::Balance>, T::MaxReserves>
where KArg: EncodeLike<T::AccountId>,

An auto-generated getter for Reserves.

Trait Implementations§

source§

impl<T: Config<I>, I: 'static> AccountTouch<(), <T as Config>::AccountId> for Pallet<T, I>

§

type Balance = <T as Config<I>>::Balance

The type for currency units of the deposit.
source§

fn deposit_required(_: ()) -> Self::Balance

The deposit amount of a native currency required for touching an account of the asset.
source§

fn should_touch(_: (), _: &T::AccountId) -> bool

Check if an account for a given asset should be touched to meet the existence requirements.
source§

fn touch(_: (), _: &T::AccountId, _: &T::AccountId) -> DispatchResult

Create an account for who of the asset with a deposit taken from the depositor.
source§

impl<T: Config<I>, I: 'static> Balanced<<T as Config>::AccountId> for Pallet<T, I>

§

type OnDropCredit = DecreaseIssuance<<T as Config>::AccountId, Pallet<T, I>>

The type for managing what happens when an instance of Credit is dropped without being used.
§

type OnDropDebt = IncreaseIssuance<<T as Config>::AccountId, Pallet<T, I>>

The type for managing what happens when an instance of Debt is dropped without being used.
source§

fn done_deposit(who: &T::AccountId, amount: Self::Balance)

source§

fn done_withdraw(who: &T::AccountId, amount: Self::Balance)

source§

fn done_issue(amount: Self::Balance)

source§

fn done_rescind(amount: Self::Balance)

§

fn rescind( amount: Self::Balance ) -> Imbalance<Self::Balance, Self::OnDropDebt, Self::OnDropCredit>

Reduce the total issuance by amount and return the according imbalance. The imbalance will typically be used to reduce an account by the same amount with e.g. [Balanced::settle]. Read more
§

fn issue( amount: Self::Balance ) -> Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>

Increase the total issuance by amount and return the according imbalance. The imbalance will typically be used to increase an account by the same amount with e.g. [Balanced::resolve]. Read more
§

fn pair( amount: Self::Balance ) -> Result<(Imbalance<Self::Balance, Self::OnDropDebt, Self::OnDropCredit>, Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>), DispatchError>

Produce a pair of imbalances that cancel each other out exactly. Read more
§

fn deposit( who: &AccountId, value: Self::Balance, precision: Precision ) -> Result<Imbalance<Self::Balance, Self::OnDropDebt, Self::OnDropCredit>, DispatchError>

Mints value into the account of who, creating it as needed. Read more
§

fn withdraw( who: &AccountId, value: Self::Balance, precision: Precision, preservation: Preservation, force: Fortitude ) -> Result<Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>, DispatchError>

Removes value balance from who account if possible. Read more
§

fn resolve( who: &AccountId, credit: Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt> ) -> Result<(), Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>>

The balance of who is increased in order to counter credit. If the whole of credit cannot be countered, then nothing is changed and the original credit is returned in an Err. Read more
§

fn settle( who: &AccountId, debt: Imbalance<Self::Balance, Self::OnDropDebt, Self::OnDropCredit>, preservation: Preservation ) -> Result<Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>, Imbalance<Self::Balance, Self::OnDropDebt, Self::OnDropCredit>>

The balance of who is decreased in order to counter debt. If the whole of debt cannot be countered, then nothing is changed and the original debt is returned in an Err.
source§

impl<T: Config<I>, I: 'static> Balanced<<T as Config>::AccountId> for Pallet<T, I>

§

fn slash( reason: &Self::Reason, who: &AccountId, amount: Self::Balance ) -> (Imbalance<Self::Balance, Self::OnDropCredit, Self::OnDropDebt>, Self::Balance)

Reduce the balance of some funds on hold in an account. Read more
§

fn done_slash(_reason: &Self::Reason, _who: &AccountId, _amount: Self::Balance)

source§

impl<T: Config<I>, I: 'static> BeforeAllRuntimeMigrations for Pallet<T, I>

source§

fn before_all_runtime_migrations() -> Weight

Something that should happen before runtime migrations are executed.
source§

impl<T, I: 'static> Benchmarking for Pallet<T, I>
where T: Config + Config<I>,

source§

fn benchmarks(extra: bool) -> Vec<BenchmarkMetadata>

Get the benchmarks available for this pallet. Generally there is one benchmark per extrinsic, so these are sometimes just called “extrinsics”. Read more
source§

fn run_benchmark( extrinsic: &[u8], c: &[(BenchmarkParameter, u32)], whitelist: &[TrackedStorageKey], verify: bool, internal_repeats: u32 ) -> Result<Vec<BenchmarkResult>, BenchmarkError>

Run the benchmarks for this pallet.
source§

impl<T: Config<I>, I: 'static> Callable<T> for Pallet<T, I>

§

type RuntimeCall = Call<T, I>

source§

impl<T, I> Clone for Pallet<T, I>

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<I>, I: 'static> Currency<<T as Config>::AccountId> for Pallet<T, I>
where T::Balance: MaybeSerializeDeserialize + Debug,

source§

fn slash( who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)

Slash a target account who, returning the negative imbalance created and any left over amount that could not be slashed.

Is a no-op if value to be slashed is zero or the account does not exist.

NOTE: slash() prefers free balance, but assumes that reserve balance can be drawn from in extreme circumstances. can_slash() should be used prior to slash() to avoid having to draw from reserved funds, however we err on the side of punishment if things are inconsistent or can_slash wasn’t used appropriately.

source§

fn deposit_into_existing( who: &T::AccountId, value: Self::Balance ) -> Result<Self::PositiveImbalance, DispatchError>

Deposit some value into the free balance of an existing target account who.

Is a no-op if the value to be deposited is zero.

source§

fn deposit_creating( who: &T::AccountId, value: Self::Balance ) -> Self::PositiveImbalance

Deposit some value into the free balance of who, possibly creating a new account.

This function is a no-op if:

  • the value to be deposited is zero; or
  • the value to be deposited is less than the required ED and the account does not yet exist; or
  • the deposit would necessitate the account to exist and there are no provider references; or
  • value is so large it would cause the balance of who to overflow.
source§

fn withdraw( who: &T::AccountId, value: Self::Balance, reasons: WithdrawReasons, liveness: ExistenceRequirement ) -> Result<Self::NegativeImbalance, DispatchError>

Withdraw some free balance from an account, respecting existence requirements.

Is a no-op if value to be withdrawn is zero.

source§

fn make_free_balance_be( who: &T::AccountId, value: Self::Balance ) -> SignedImbalance<Self::Balance, Self::PositiveImbalance>

Force the new free balance of a target account who to some new value balance.

§

type Balance = <T as Config<I>>::Balance

The balance of an account.
§

type PositiveImbalance = PositiveImbalance<T, I>

The opaque token type for an imbalance. This is returned by unbalanced operations and must be dealt with. It may be dropped but cannot be cloned.
§

type NegativeImbalance = NegativeImbalance<T, I>

The opaque token type for an imbalance. This is returned by unbalanced operations and must be dealt with. It may be dropped but cannot be cloned.
source§

fn total_balance(who: &T::AccountId) -> Self::Balance

The combined balance of who.
source§

fn can_slash(who: &T::AccountId, value: Self::Balance) -> bool

Same result as slash(who, value) (but without the side-effects) assuming there are no balance changes in the meantime and only the reserved balance is not taken into account.
source§

fn total_issuance() -> Self::Balance

The total amount of issuance in the system.
source§

fn active_issuance() -> Self::Balance

The total amount of issuance in the system excluding those which are controlled by the system.
source§

fn deactivate(amount: Self::Balance)

Reduce the active issuance by some amount.
source§

fn reactivate(amount: Self::Balance)

Increase the active issuance by some amount, up to the outstanding amount reduced.
source§

fn minimum_balance() -> Self::Balance

The minimum balance any single account may have. This is equivalent to the Balances module’s ExistentialDeposit.
source§

fn burn(amount: Self::Balance) -> Self::PositiveImbalance

Reduce the total issuance by amount and return the according imbalance. The imbalance will typically be used to reduce an account by the same amount with e.g. settle. Read more
source§

fn issue(amount: Self::Balance) -> Self::NegativeImbalance

Increase the total issuance by amount and return the according imbalance. The imbalance will typically be used to increase an account by the same amount with e.g. resolve_into_existing or resolve_creating. Read more
source§

fn free_balance(who: &T::AccountId) -> Self::Balance

The ‘free’ balance of a given account. Read more
source§

fn ensure_can_withdraw( who: &T::AccountId, amount: T::Balance, _reasons: WithdrawReasons, new_balance: T::Balance ) -> DispatchResult

Returns Ok iff the account is able to make a withdrawal of the given amount for the given reason. Basically, it’s just a dry-run of withdraw. Read more
source§

fn transfer( transactor: &T::AccountId, dest: &T::AccountId, value: Self::Balance, existence_requirement: ExistenceRequirement ) -> DispatchResult

Transfer some liquid free balance to another staker. Read more
§

fn pair( amount: Self::Balance ) -> (Self::PositiveImbalance, Self::NegativeImbalance)

Produce a pair of imbalances that cancel each other out exactly. Read more
§

fn resolve_into_existing( who: &AccountId, value: Self::NegativeImbalance ) -> Result<(), Self::NegativeImbalance>

Similar to deposit_creating, only accepts a NegativeImbalance and returns nothing on success.
§

fn resolve_creating(who: &AccountId, value: Self::NegativeImbalance)

Similar to deposit_creating, only accepts a NegativeImbalance and returns nothing on success.
§

fn settle( who: &AccountId, value: Self::PositiveImbalance, reasons: WithdrawReasons, liveness: ExistenceRequirement ) -> Result<(), Self::PositiveImbalance>

Similar to withdraw, only accepts a PositiveImbalance and returns nothing on success.
source§

impl<T, I> Debug for Pallet<T, I>

source§

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

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

impl<T: Config<I>, I: 'static> GetStorageVersion for Pallet<T, I>

§

type InCodeStorageVersion = StorageVersion

This type is generated by the pallet macro. Read more
source§

fn in_code_storage_version() -> Self::InCodeStorageVersion

Returns the in-code storage version as specified in the storage_version attribute, or [NoStorageVersionSet] if the attribute is missing.
source§

fn on_chain_storage_version() -> StorageVersion

Returns the storage version of the pallet as last set in the actual on-chain storage.
§

fn current_storage_version() -> Self::InCodeStorageVersion

👎Deprecated: This method has been renamed to in_code_storage_version and will be removed after March 2024.
DEPRECATED: Use [Self::current_storage_version] instead. Read more
source§

impl<T: Config<I>, I: 'static> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn integrity_test()

Check the integrity of this pallet’s configuration. Read more
§

fn on_initialize(_n: BlockNumber) -> Weight

Block initialization hook. This is called at the very beginning of block execution. Read more
§

fn on_finalize(_n: BlockNumber)

Block finalization hook. This is called at the very end of block execution. Read more
§

fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight

Hook to consume a block’s idle time. This will run when the block is being finalized (before [Hooks::on_finalize]). Read more
§

fn on_poll(_n: BlockNumber, _weight: &mut WeightMeter)

A hook to run logic after inherent application. Read more
§

fn on_runtime_upgrade() -> Weight

Hook executed when a code change (aka. a “runtime upgrade”) is detected by the FRAME Executive pallet. Read more
§

fn offchain_worker(_n: BlockNumber)

Implementing this function on a pallet allows you to perform long-running tasks that are dispatched as separate threads, and entirely independent of the main blockchain execution. Read more
source§

impl<T: Config<I>, I: 'static> Inspect<<T as Config>::AccountId> for Pallet<T, I>

§

type Balance = <T as Config<I>>::Balance

Scalar type for representing balance of an account.
source§

fn total_issuance() -> Self::Balance

The total amount of issuance in the system.
source§

fn active_issuance() -> Self::Balance

The total amount of issuance in the system excluding those which are controlled by the system.
source§

fn minimum_balance() -> Self::Balance

The minimum balance any single account may have.
source§

fn total_balance(who: &T::AccountId) -> Self::Balance

Get the total amount of funds whose ultimate beneficial ownership can be determined as who. Read more
source§

fn balance(who: &T::AccountId) -> Self::Balance

Get the balance of who which does not include funds which are exclusively allocated to subsystems of the chain (“on hold” or “reserved”). Read more
source§

fn reducible_balance( who: &T::AccountId, preservation: Preservation, force: Fortitude ) -> Self::Balance

Get the maximum amount that who can withdraw/transfer successfully based on whether the account should be kept alive (preservation) or whether we are willing to force the reduction and potentially go below user-level restrictions on the minimum amount of the account. Read more
source§

fn can_deposit( who: &T::AccountId, amount: Self::Balance, provenance: Provenance ) -> DepositConsequence

Returns true if the balance of who may be increased by amount. Read more
source§

fn can_withdraw( who: &T::AccountId, amount: Self::Balance ) -> WithdrawConsequence<Self::Balance>

Returns Success if the balance of who may be decreased by amount, otherwise the consequence.
source§

impl<T: Config<I>, I: 'static> Inspect<<T as Config>::AccountId> for Pallet<T, I>

§

type Id = <T as Config<I>>::FreezeIdentifier

An identifier for a freeze.
source§

fn balance_frozen(id: &Self::Id, who: &T::AccountId) -> Self::Balance

Amount of funds frozen in reserve by who for the given id.
source§

fn can_freeze(id: &Self::Id, who: &T::AccountId) -> bool

Returns true if it’s possible to introduce a freeze for the given id onto the account of who. This will be true as long as the implementor supports as many concurrent freezes as there are possible values of id.
§

fn balance_freezable(who: &AccountId) -> Self::Balance

The amount of the balance which can become frozen. Defaults to total_balance().
source§

impl<T: Config<I>, I: 'static> Inspect<<T as Config>::AccountId> for Pallet<T, I>

§

type Reason = <T as Config<I>>::RuntimeHoldReason

An identifier for a hold. Used for disambiguating different holds so that they can be individually replaced or removed and funds from one hold don’t accidentally become unreserved or slashed for another.
source§

fn total_balance_on_hold(who: &T::AccountId) -> T::Balance

Amount of funds on hold (for all hold reasons) of who.
source§

fn reducible_total_balance_on_hold( who: &T::AccountId, force: Fortitude ) -> Self::Balance

Get the maximum amount that the total_balance_on_hold of who can be reduced successfully based on whether we are willing to force the reduction and potentially go below user-level restrictions on the minimum amount of the account. Note: This cannot bring the account into an inconsistent state with regards any required existential deposit. Read more
source§

fn balance_on_hold(reason: &Self::Reason, who: &T::AccountId) -> T::Balance

Amount of funds on hold (for the given reason) of who.
source§

fn hold_available(reason: &Self::Reason, who: &T::AccountId) -> bool

Returns true if it’s possible to place (additional) funds under a hold of a given reason. This may fail if the account has exhausted a limited number of concurrent holds or if it cannot be made to exist (e.g. there is no provider reference). Read more
§

fn ensure_can_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance ) -> Result<(), DispatchError>

Check to see if some amount of funds of who may be placed on hold with the given reason. Reasons why this may not be true: Read more
§

fn can_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance ) -> bool

Check to see if some amount of funds of who may be placed on hold for the given reason. Reasons why this may not be true: Read more
source§

impl<T: Config<I>, I: 'static> InspectLockableCurrency<<T as Config>::AccountId> for Pallet<T, I>

source§

fn balance_locked(id: LockIdentifier, who: &T::AccountId) -> Self::Balance

Amount of funds locked for who associated with id.
source§

impl<T: Config<I>, I: 'static> IntegrityTest for Pallet<T, I>

source§

fn integrity_test()

See [Hooks::integrity_test].
source§

impl<T: Config<I>, I: 'static> LockableCurrency<<T as Config>::AccountId> for Pallet<T, I>
where T::Balance: MaybeSerializeDeserialize + Debug,

§

type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number

The quantity used to denote time; usually just a BlockNumber.
§

type MaxLocks = <T as Config<I>>::MaxLocks

The maximum number of locks a user should have on their account.
source§

fn set_lock( id: LockIdentifier, who: &T::AccountId, amount: T::Balance, reasons: WithdrawReasons )

Create a new balance lock on account who. Read more
source§

fn extend_lock( id: LockIdentifier, who: &T::AccountId, amount: T::Balance, reasons: WithdrawReasons )

Changes a balance lock (selected by id) so that it becomes less liquid in all parameters or creates a new one if it does not exist. Read more
source§

fn remove_lock(id: LockIdentifier, who: &T::AccountId)

Remove an existing lock.
source§

impl<T: Config<I>, I: 'static> Mutate<<T as Config>::AccountId> for Pallet<T, I>

source§

fn done_mint_into(who: &T::AccountId, amount: Self::Balance)

source§

fn done_burn_from(who: &T::AccountId, amount: Self::Balance)

source§

fn done_shelve(who: &T::AccountId, amount: Self::Balance)

source§

fn done_restore(who: &T::AccountId, amount: Self::Balance)

source§

fn done_transfer( source: &T::AccountId, dest: &T::AccountId, amount: Self::Balance )

§

fn mint_into( who: &AccountId, amount: Self::Balance ) -> Result<Self::Balance, DispatchError>

Increase the balance of who by exactly amount, minting new tokens. If that isn’t possible then an Err is returned and nothing is changed.
§

fn burn_from( who: &AccountId, amount: Self::Balance, precision: Precision, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Decrease the balance of who by at least amount, possibly slightly more in the case of minimum-balance requirements, burning the tokens. If that isn’t possible then an Err is returned and nothing is changed. If successful, the amount of tokens reduced is returned.
§

fn shelve( who: &AccountId, amount: Self::Balance ) -> Result<Self::Balance, DispatchError>

Attempt to decrease the asset balance of who by amount. Read more
§

fn restore( who: &AccountId, amount: Self::Balance ) -> Result<Self::Balance, DispatchError>

Attempt to increase the asset balance of who by amount. Read more
§

fn transfer( source: &AccountId, dest: &AccountId, amount: Self::Balance, preservation: Preservation ) -> Result<Self::Balance, DispatchError>

Transfer funds from one account into another. Read more
§

fn set_balance(who: &AccountId, amount: Self::Balance) -> Self::Balance

Simple infallible function to force an account to have a particular balance, good for use in tests and benchmarks but not recommended for production code owing to the lack of error reporting. Read more
source§

impl<T: Config<I>, I: 'static> Mutate<<T as Config>::AccountId> for Pallet<T, I>

source§

fn set_freeze( id: &Self::Id, who: &T::AccountId, amount: Self::Balance ) -> DispatchResult

Prevent actions which would reduce the balance of the account of who below the given amount and identify this restriction though the given id. Unlike extend_freeze, any outstanding freeze in place for who under the id are dropped. Read more
source§

fn extend_freeze( id: &Self::Id, who: &T::AccountId, amount: Self::Balance ) -> DispatchResult

Prevent the balance of the account of who from being reduced below the given amount and identify this restriction though the given id. Unlike set_freeze, this does not counteract any pre-existing freezes in place for who under the id. Also unlike set_freeze, in the case that amount is zero, this is no-op and never fails. Read more
source§

fn thaw(id: &Self::Id, who: &T::AccountId) -> DispatchResult

Remove an existing freeze.
§

fn set_frozen( id: &Self::Id, who: &AccountId, amount: Self::Balance, fortitude: Fortitude ) -> Result<(), DispatchError>

Attempt to alter the amount frozen under the given id to amount. Read more
§

fn ensure_frozen( id: &Self::Id, who: &AccountId, amount: Self::Balance, fortitude: Fortitude ) -> Result<(), DispatchError>

Attempt to set the amount frozen under the given id to amount, iff this would increase the amount frozen under id. Do nothing otherwise. Read more
§

fn decrease_frozen( id: &Self::Id, who: &AccountId, amount: Self::Balance ) -> Result<(), DispatchError>

Decrease the amount which is being frozen for a particular freeze, failing in the case of underflow.
§

fn increase_frozen( id: &Self::Id, who: &AccountId, amount: Self::Balance ) -> Result<(), DispatchError>

Increase the amount which is being frozen for a particular freeze, failing in the case that too little balance is available for being frozen.
source§

impl<T: Config<I>, I: 'static> Mutate<<T as Config>::AccountId> for Pallet<T, I>

§

fn hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance ) -> Result<(), DispatchError>

Hold some funds in an account. If a hold for reason is already in place, then this will increase it.
§

fn release( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>

Release up to amount held funds in an account. Read more
§

fn set_on_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance ) -> Result<(), DispatchError>

Hold or release funds in the account of who to bring the balance on hold for reason to exactly amount.
§

fn release_all( reason: &Self::Reason, who: &AccountId, precision: Precision ) -> Result<Self::Balance, DispatchError>

Release all funds in the account of who on hold for reason. Read more
§

fn burn_held( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Attempt to decrease the balance of who which is held for the given reason by amount. Read more
§

fn burn_all_held( reason: &Self::Reason, who: &AccountId, precision: Precision, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Attempt to decrease the balance of who which is held for the given reason to zero. Read more
§

fn transfer_on_hold( reason: &Self::Reason, source: &AccountId, dest: &AccountId, amount: Self::Balance, precision: Precision, mode: Restriction, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Transfer held funds into a destination account. Read more
§

fn transfer_and_hold( reason: &Self::Reason, source: &AccountId, dest: &AccountId, amount: Self::Balance, precision: Precision, expendability: Preservation, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Transfer some amount of free balance from source to become owned by dest but on hold for reason. Read more
§

fn done_hold(_reason: &Self::Reason, _who: &AccountId, _amount: Self::Balance)

§

fn done_release( _reason: &Self::Reason, _who: &AccountId, _amount: Self::Balance )

§

fn done_burn_held( _reason: &Self::Reason, _who: &AccountId, _amount: Self::Balance )

§

fn done_transfer_on_hold( _reason: &Self::Reason, _source: &AccountId, _dest: &AccountId, _amount: Self::Balance )

§

fn done_transfer_and_hold( _reason: &Self::Reason, _source: &AccountId, _dest: &AccountId, _transferred: Self::Balance )

source§

impl<T: Config<I>, I: 'static> NamedReservableCurrency<<T as Config>::AccountId> for Pallet<T, I>
where T::Balance: MaybeSerializeDeserialize + Debug,

source§

fn reserve_named( id: &Self::ReserveIdentifier, who: &T::AccountId, value: Self::Balance ) -> DispatchResult

Move value from the free balance from who to a named reserve balance.

Is a no-op if value to be reserved is zero.

source§

fn unreserve_named( id: &Self::ReserveIdentifier, who: &T::AccountId, value: Self::Balance ) -> Self::Balance

Unreserve some funds, returning any amount that was unable to be unreserved.

Is a no-op if the value to be unreserved is zero.

source§

fn slash_reserved_named( id: &Self::ReserveIdentifier, who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)

Slash from reserved balance, returning the negative imbalance created, and any amount that was unable to be slashed.

Is a no-op if the value to be slashed is zero.

source§

fn repatriate_reserved_named( id: &Self::ReserveIdentifier, slashed: &T::AccountId, beneficiary: &T::AccountId, value: Self::Balance, status: Status ) -> Result<Self::Balance, DispatchError>

Move the reserved balance of one account into the balance of another, according to status. If status is Reserved, the balance will be reserved with given id.

Is a no-op if:

  • the value to be moved is zero; or
  • the slashed id equal to beneficiary and the status is Reserved.
§

type ReserveIdentifier = <T as Config<I>>::ReserveIdentifier

An identifier for a reserve. Used for disambiguating different reserves so that they can be individually replaced or removed.
source§

fn reserved_balance_named( id: &Self::ReserveIdentifier, who: &T::AccountId ) -> Self::Balance

The amount of the balance of a given account that is externally reserved; this can still get slashed, but gets slashed last of all. Read more
§

fn ensure_reserved_named( id: &Self::ReserveIdentifier, who: &AccountId, value: Self::Balance ) -> Result<(), DispatchError>

Ensure the reserved balance is equal to value. Read more
§

fn unreserve_all_named( id: &Self::ReserveIdentifier, who: &AccountId ) -> Self::Balance

Unreserve all the named reserved balances, returning unreserved amount. Read more
§

fn slash_all_reserved_named( id: &Self::ReserveIdentifier, who: &AccountId ) -> Self::NegativeImbalance

Slash all the reserved balance, returning the negative imbalance created. Read more
§

fn repatriate_all_reserved_named( id: &Self::ReserveIdentifier, slashed: &AccountId, beneficiary: &AccountId, status: BalanceStatus ) -> Result<(), DispatchError>

Move all the named reserved balance of one account into the balance of another, according to status. If status is Reserved, the balance will be reserved with given id. Read more
source§

impl<T: Config<I>, I: 'static> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn offchain_worker(n: BlockNumberFor<T>)

This function is being called after every block import (when fully synced). Read more
source§

impl<T: Config<I>, I: 'static> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn on_finalize(n: BlockNumberFor<T>)

See [Hooks::on_finalize].
source§

impl<T: Config<I>, I: 'static> OnGenesis for Pallet<T, I>

source§

fn on_genesis()

Something that should happen at genesis.
source§

impl<T: Config<I>, I: 'static> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight

See [Hooks::on_idle].
source§

impl<T: Config<I>, I: 'static> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn on_initialize(n: BlockNumberFor<T>) -> Weight

See [Hooks::on_initialize].
source§

impl<T: Config<I>, I: 'static> OnPoll<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T, I>

source§

fn on_poll(n: BlockNumberFor<T>, weight: &mut WeightMeter)

Code to execute every now and then at the beginning of the block after inherent application. Read more
source§

impl<T: Config<I>, I: 'static> OnRuntimeUpgrade for Pallet<T, I>

source§

fn on_runtime_upgrade() -> Weight

See [Hooks::on_runtime_upgrade].
source§

impl<T: Config<I>, I: 'static> PalletInfoAccess for Pallet<T, I>

source§

fn index() -> usize

Index of the pallet as configured in the runtime.
source§

fn name() -> &'static str

Name of the pallet as configured in the runtime.
source§

fn name_hash() -> [u8; 16]

Two128 hash of name.
source§

fn module_name() -> &'static str

Name of the Rust module containing the pallet.
source§

fn crate_version() -> CrateVersion

Version of the crate containing the pallet.
source§

impl<T: Config<I>, I: 'static> PalletsInfoAccess for Pallet<T, I>

source§

fn count() -> usize

The number of pallets’ information that this type represents. Read more
source§

fn infos() -> Vec<PalletInfoData>

All of the pallets’ information that this type represents.
source§

impl<T, I> PartialEq for Pallet<T, I>

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: Config<I>, I: 'static> ReservableCurrency<<T as Config>::AccountId> for Pallet<T, I>
where T::Balance: MaybeSerializeDeserialize + Debug,

source§

fn can_reserve(who: &T::AccountId, value: Self::Balance) -> bool

Check if who can reserve value from their free balance.

Always true if value to be reserved is zero.

source§

fn reserve(who: &T::AccountId, value: Self::Balance) -> DispatchResult

Move value from the free balance from who to their reserved balance.

Is a no-op if value to be reserved is zero.

source§

fn unreserve(who: &T::AccountId, value: Self::Balance) -> Self::Balance

Unreserve some funds, returning any amount that was unable to be unreserved.

Is a no-op if the value to be unreserved is zero or the account does not exist.

NOTE: returns amount value which wasn’t successfully unreserved.

source§

fn slash_reserved( who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)

Slash from reserved balance, returning the negative imbalance created, and any amount that was unable to be slashed.

Is a no-op if the value to be slashed is zero or the account does not exist.

source§

fn repatriate_reserved( slashed: &T::AccountId, beneficiary: &T::AccountId, value: Self::Balance, status: Status ) -> Result<Self::Balance, DispatchError>

Move the reserved balance of one account into the balance of another, according to status.

Is a no-op if:

  • the value to be moved is zero; or
  • the slashed id equal to beneficiary and the status is Reserved.

This is Polite and thus will not repatriate any funds which would lead the total balance to be less than the frozen amount. Returns Ok with the actual amount of funds moved, which may be less than value since the operation is done an a BestEffort basis.

source§

fn reserved_balance(who: &T::AccountId) -> Self::Balance

The amount of the balance of a given account that is externally reserved; this can still get slashed, but gets slashed last of all. Read more
source§

impl<T: Config<I>, I: 'static> StorageInfoTrait for Pallet<T, I>

source§

fn storage_info() -> Vec<StorageInfo>

source§

impl<T: Config<I>, I: 'static> Unbalanced<<T as Config>::AccountId> for Pallet<T, I>

source§

fn handle_dust(dust: Dust<T::AccountId, Self>)

Do something with the dust which has been destroyed from the system. [Dust] can be converted into a [Credit] with the [Balanced] trait impl.
source§

fn write_balance( who: &T::AccountId, amount: Self::Balance ) -> Result<Option<Self::Balance>, DispatchError>

Forcefully set the balance of who to amount. Read more
source§

fn set_total_issuance(amount: Self::Balance)

Set the total issuance to amount.
source§

fn deactivate(amount: Self::Balance)

Reduce the active issuance by some amount.
source§

fn reactivate(amount: Self::Balance)

Increase the active issuance by some amount, up to the outstanding amount reduced.
§

fn handle_raw_dust(amount: Self::Balance)

Create some dust and handle it with [Unbalanced::handle_dust]. This is an unbalanced operation and it must only be used when an account is modified in a raw fashion, outside of the entire fungibles API. The amount is capped at [Inspect::minimum_balance()] - 1`. Read more
§

fn decrease_balance( who: &AccountId, amount: Self::Balance, precision: Precision, preservation: Preservation, force: Fortitude ) -> Result<Self::Balance, DispatchError>

Reduce the balance of who by amount. Read more
§

fn increase_balance( who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>

Increase the balance of who by amount. Read more
source§

impl<T: Config<I>, I: 'static> Unbalanced<<T as Config>::AccountId> for Pallet<T, I>

source§

fn set_balance_on_hold( reason: &Self::Reason, who: &T::AccountId, amount: Self::Balance ) -> DispatchResult

Forcefully set the balance on hold of who to amount. This is independent of any other balances on hold or the main (“free”) balance. Read more
§

fn decrease_balance_on_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>

Reduce the balance on hold of who by amount. Read more
§

fn increase_balance_on_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>

Increase the balance on hold of who by amount. Read more
source§

impl<T: Config<I>, I: 'static> WhitelistedStorageKeys for Pallet<T, I>

source§

fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>

Returns a Vec<TrackedStorageKey> indicating the storage keys that should be whitelisted during benchmarking. This means that those keys will be excluded from the benchmarking performance calculation.
source§

impl<T, I> Eq for Pallet<T, I>

Auto Trait Implementations§

§

impl<T, I> Freeze for Pallet<T, I>

§

impl<T, I> RefUnwindSafe for Pallet<T, I>

§

impl<T, I> Send for Pallet<T, I>
where I: Send, T: Send,

§

impl<T, I> Sync for Pallet<T, I>
where I: Sync, T: Sync,

§

impl<T, I> Unpin for Pallet<T, I>
where I: Unpin, T: Unpin,

§

impl<T, I> UnwindSafe for Pallet<T, I>
where I: UnwindSafe, T: 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
source§

impl<T> DynClone for T
where T: Clone,

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

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

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.

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> 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<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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
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> 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<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,

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,