pub struct ItemOf<F: Inspect<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId>(_);
Expand description

Convert a fungibles trait implementation into a fungible trait implementation by identifying a single item.

Trait Implementations§

source§

impl<F: Inspect<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> Inspect<AccountId> for ItemOf<F, A, AccountId>

§

type Balance = <F as Inspect<AccountId>>::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 balance(who: &AccountId) -> Self::Balance

Get the balance of who.
source§

fn reducible_balance(who: &AccountId, keep_alive: bool) -> Self::Balance

Get the maximum amount that who can withdraw/transfer successfully.
source§

fn can_deposit( who: &AccountId, amount: Self::Balance, mint: bool ) -> DepositConsequence

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

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

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

impl<F: InspectHold<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> InspectHold<AccountId> for ItemOf<F, A, AccountId>

source§

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

Amount of funds held in reserve by who.
source§

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

Check to see if some amount of funds of who may be placed on hold.
source§

impl<F: Mutate<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> Mutate<AccountId> for ItemOf<F, A, AccountId>

source§

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

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

fn burn_from( who: &AccountId, amount: Self::Balance ) -> 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.
source§

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

Attempt to reduce the balance of who by as much as possible up to amount, and possibly slightly more due to minimum_balance requirements. If no decrease is possible then an Err is returned and nothing is changed. If successful, the amount of tokens reduced is returned. Read more
source§

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

Transfer funds from one account into another. The default implementation uses mint_into and burn_from and may generate unwanted events.
source§

impl<F: MutateHold<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> MutateHold<AccountId> for ItemOf<F, A, AccountId>

source§

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

Hold some funds in an account.
source§

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

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

fn transfer_held( source: &AccountId, dest: &AccountId, amount: Self::Balance, best_effort: bool, on_hold: bool ) -> Result<Self::Balance, DispatchError>

Transfer held funds into a destination account. Read more
source§

impl<F: Transfer<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> Transfer<AccountId> for ItemOf<F, A, AccountId>

source§

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

Transfer funds from one account into another.
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§

impl<F: Unbalanced<AccountId>, A: Get<<F as Inspect<AccountId>>::AssetId>, AccountId> Unbalanced<AccountId> for ItemOf<F, A, AccountId>

source§

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

Set the balance of who to amount. If this cannot be done for some reason (e.g. because the account cannot be created or an overflow) then an Err is returned.
source§

fn set_total_issuance(amount: Self::Balance)

Set the total issuance to amount.
source§

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

Reduce the balance of who by amount. If it cannot be reduced by that amount for some reason, return Err and don’t reduce it at all. If Ok, return the imbalance. Read more
source§

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

Reduce the balance of who by the most that is possible, up to amount. Read more
source§

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

Increase the balance of who by amount. If it cannot be increased by that amount for some reason, return Err and don’t increase it at all. If Ok, return the imbalance. Read more
source§

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

Increase the balance of who by the most that is possible, up to amount. Read more

Auto Trait Implementations§

§

impl<F, A, AccountId> RefUnwindSafe for ItemOf<F, A, AccountId>where A: RefUnwindSafe, AccountId: RefUnwindSafe, F: RefUnwindSafe,

§

impl<F, A, AccountId> Send for ItemOf<F, A, AccountId>where A: Send, AccountId: Send, F: Send,

§

impl<F, A, AccountId> Sync for ItemOf<F, A, AccountId>where A: Sync, AccountId: Sync, F: Sync,

§

impl<F, A, AccountId> Unpin for ItemOf<F, A, AccountId>where A: Unpin, AccountId: Unpin, F: Unpin,

§

impl<F, A, AccountId> UnwindSafe for ItemOf<F, A, AccountId>where A: UnwindSafe, AccountId: UnwindSafe, F: 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<AccountId, U> Balanced<AccountId> for Uwhere U: Unbalanced<AccountId>,

§

type OnDropCredit = DecreaseIssuance<AccountId, U>

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

type OnDropDebt = IncreaseIssuance<AccountId, U>

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

fn rescind( amount: <U as Inspect<AccountId>>::Balance ) -> Imbalance<<U as Inspect<AccountId>>::Balance, IncreaseIssuance<AccountId, U>, DecreaseIssuance<AccountId, U>>

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: <U as Inspect<AccountId>>::Balance ) -> Imbalance<<U as Inspect<AccountId>>::Balance, DecreaseIssuance<AccountId, U>, IncreaseIssuance<AccountId, U>>

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 slash( who: &AccountId, amount: <U as Inspect<AccountId>>::Balance ) -> (Imbalance<<U as Inspect<AccountId>>::Balance, DecreaseIssuance<AccountId, U>, IncreaseIssuance<AccountId, U>>, <U as Inspect<AccountId>>::Balance)

Deducts up to value from the combined balance of who. This function cannot fail. Read more
source§

fn deposit( who: &AccountId, amount: <U as Inspect<AccountId>>::Balance ) -> Result<Imbalance<<U as Inspect<AccountId>>::Balance, IncreaseIssuance<AccountId, U>, DecreaseIssuance<AccountId, U>>, DispatchError>

Mints exactly value into the account of who. Read more
source§

fn withdraw( who: &AccountId, amount: <U as Inspect<AccountId>>::Balance ) -> Result<Imbalance<<U as Inspect<AccountId>>::Balance, DecreaseIssuance<AccountId, U>, IncreaseIssuance<AccountId, U>>, DispatchError>

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

fn pair( amount: Self::Balance ) -> (DebtOf<AccountId, Self>, CreditOf<AccountId, Self>)

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

fn resolve( who: &AccountId, credit: CreditOf<AccountId, Self> ) -> Result<(), CreditOf<AccountId, Self>>

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

fn settle( who: &AccountId, debt: DebtOf<AccountId, Self> ) -> Result<CreditOf<AccountId, Self>, DebtOf<AccountId, Self>>

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<AccountId, T> BalancedHold<AccountId> for Twhere T: Balanced<AccountId> + MutateHold<AccountId>,

source§

fn slash_held( who: &AccountId, amount: <T as Inspect<AccountId>>::Balance ) -> (Imbalance<<T as Inspect<AccountId>>::Balance, <T as Balanced<AccountId>>::OnDropCredit, <T as Balanced<AccountId>>::OnDropDebt>, <T as Inspect<AccountId>>::Balance)

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

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> CheckedConversion for T

source§

fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,

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

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

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

impl<T> Conv for T

source§

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

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

impl<T> Downcast for Twhere T: Any,

source§

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

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

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

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

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
source§

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

source§

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

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

impl<T> FmtForward for T

source§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

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

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

fn in_current_span(self) -> Instrumented<Self>

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

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

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T> IsType<T> for T

source§

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

Cast reference.
source§

fn into_ref(&self) -> &T

Cast reference.
source§

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

Cast mutable reference.
source§

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

Cast mutable reference.
source§

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

source§

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

Get a reference to the inner from the outer.

source§

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

Get a mutable reference to the inner from the outer.

source§

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

source§

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

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

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

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

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

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

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

Borrows self, then passes self.borrow() into the pipe function. Read more
source§

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

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

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

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

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

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

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

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

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

impl<T> Pointable for T

source§

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

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

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

Initializes a with the given initializer. Read more
source§

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

Dereferences the given pointer. Read more
source§

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

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

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

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> SaturatedConversion for T

source§

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

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

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

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

impl<T> Tap for T

source§

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

Immutable access to a value. Read more
source§

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

Mutable access to a value. Read more
source§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<T> TryConv for T

source§

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

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

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

§

type Error = Infallible

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

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

Performs the conversion.
source§

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

§

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

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

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

Performs the conversion.
source§

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

source§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
source§

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

source§

fn unique_saturated_into(self) -> T

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

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

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> MaybeRefUnwindSafe for Twhere T: RefUnwindSafe,