Struct pallet_currencies::Currency
source · pub struct Currency<T, GetCurrencyId>(_, _);
Trait Implementations§
source§impl<T, GetCurrencyId> BasicCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
impl<T, GetCurrencyId> BasicCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
§type Balance = <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::Balance
type Balance = <<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::Balance
The balance of an account.
source§fn minimum_balance() -> Self::Balance
fn minimum_balance() -> Self::Balance
Existential deposit.
source§fn total_issuance() -> Self::Balance
fn total_issuance() -> Self::Balance
The total amount of issuance.
source§fn total_balance(who: &T::AccountId) -> Self::Balance
fn total_balance(who: &T::AccountId) -> Self::Balance
The combined balance of
who
.source§fn free_balance(who: &T::AccountId) -> Self::Balance
fn free_balance(who: &T::AccountId) -> Self::Balance
The free balance of
who
.source§fn ensure_can_withdraw(
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
fn ensure_can_withdraw(
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
A dry-run of
withdraw
. Returns Ok
iff the account is able to make a
withdrawal of the given amount. Read moresource§fn transfer(
from: &T::AccountId,
to: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
fn transfer(
from: &T::AccountId,
to: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
Transfer some amount from one account to another.
source§fn deposit(who: &T::AccountId, amount: Self::Balance) -> DispatchResult
fn deposit(who: &T::AccountId, amount: Self::Balance) -> DispatchResult
Add
amount
to the balance of who
and increase total issuance.source§fn withdraw(who: &T::AccountId, amount: Self::Balance) -> DispatchResult
fn withdraw(who: &T::AccountId, amount: Self::Balance) -> DispatchResult
Remove
amount
from the balance of who
and reduce total issuance.source§impl<T, GetCurrencyId> BasicCurrencyExtended<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
impl<T, GetCurrencyId> BasicCurrencyExtended<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
§type Amount = <<T as Config>::MultiCurrency as MultiCurrencyExtended<<T as Config>::AccountId>>::Amount
type Amount = <<T as Config>::MultiCurrency as MultiCurrencyExtended<<T as Config>::AccountId>>::Amount
The signed type for balance related operations, typically signed int.
source§fn update_balance(who: &T::AccountId, by_amount: Self::Amount) -> DispatchResult
fn update_balance(who: &T::AccountId, by_amount: Self::Amount) -> DispatchResult
Add or remove abs(
by_amount
) from the balance of who
. If positive
by_amount
, do add, else do remove. Read moresource§impl<T, GetCurrencyId> BasicLockableCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
impl<T, GetCurrencyId> BasicLockableCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
§type Moment = <T as Config>::BlockNumber
type Moment = <T as Config>::BlockNumber
The quantity used to denote time; usually just a
BlockNumber
.source§fn set_lock(
lock_id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
fn set_lock(
lock_id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
Create a new balance lock on account
who
. Read moresource§fn extend_lock(
lock_id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
fn extend_lock(
lock_id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
Changes a balance lock (selected by
lock_id
) so that it becomes less
liquid in all parameters or creates a new one if it does not exist. Read moresource§fn remove_lock(lock_id: LockIdentifier, who: &T::AccountId) -> DispatchResult
fn remove_lock(lock_id: LockIdentifier, who: &T::AccountId) -> DispatchResult
Remove an existing lock.
source§impl<T, GetCurrencyId> BasicReservableCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
impl<T, GetCurrencyId> BasicReservableCurrency<<T as Config>::AccountId> for Currency<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<<<T as Config>::MultiCurrency as MultiCurrency<<T as Config>::AccountId>>::CurrencyId>,
source§fn can_reserve(who: &T::AccountId, value: Self::Balance) -> bool
fn can_reserve(who: &T::AccountId, value: Self::Balance) -> bool
Same result as
reserve(who, value)
(but without the side-effects)
assuming there are no balance changes in the meantime. Read moresource§fn reserved_balance(who: &T::AccountId) -> Self::Balance
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§fn reserve(who: &T::AccountId, value: Self::Balance) -> DispatchResult
fn reserve(who: &T::AccountId, value: Self::Balance) -> DispatchResult
Moves
value
from balance to reserved balance. Read moresource§fn unreserve(who: &T::AccountId, value: Self::Balance) -> Self::Balance
fn unreserve(who: &T::AccountId, value: Self::Balance) -> Self::Balance
Moves up to
value
from reserved balance to free balance. This function
cannot fail. Read moresource§fn repatriate_reserved(
slashed: &T::AccountId,
beneficiary: &T::AccountId,
value: Self::Balance,
status: BalanceStatus
) -> Result<Self::Balance, DispatchError>
fn repatriate_reserved(
slashed: &T::AccountId,
beneficiary: &T::AccountId,
value: Self::Balance,
status: BalanceStatus
) -> Result<Self::Balance, DispatchError>
Moves up to
value
from reserved balance of account slashed
to
balance of account beneficiary
. beneficiary
must exist for this to
succeed. If it does not, Err
will be returned. Funds will be placed in
either the free
balance or the reserved
balance, depending on the
status
. Read moreAuto Trait Implementations§
impl<T, GetCurrencyId> RefUnwindSafe for Currency<T, GetCurrencyId>where
GetCurrencyId: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, GetCurrencyId> Send for Currency<T, GetCurrencyId>where
GetCurrencyId: Send,
T: Send,
impl<T, GetCurrencyId> Sync for Currency<T, GetCurrencyId>where
GetCurrencyId: Sync,
T: Sync,
impl<T, GetCurrencyId> Unpin for Currency<T, GetCurrencyId>where
GetCurrencyId: Unpin,
T: Unpin,
impl<T, GetCurrencyId> UnwindSafe for Currency<T, GetCurrencyId>where
GetCurrencyId: UnwindSafe,
T: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, 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
. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
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. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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. Read moresource§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
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 moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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 moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
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,
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,
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,
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,
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,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
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 moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
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 moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
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 moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
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 moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
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 moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
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 moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
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
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read moresource§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
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. Read moresource§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
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. Read moresource§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
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. Read moresource§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
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. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.