Struct orml_tokens::CurrencyAdapter
source · pub struct CurrencyAdapter<T, GetCurrencyId>(_);
Trait Implementations§
source§impl<T, GetCurrencyId> Currency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Currency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn deposit_into_existing(
who: &T::AccountId,
value: Self::Balance
) -> Result<Self::PositiveImbalance, DispatchError>
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
.
source§fn deposit_creating(
who: &T::AccountId,
value: Self::Balance
) -> Self::PositiveImbalance
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.
§type PositiveImbalance = PositiveImbalance<T, GetCurrencyId>
type PositiveImbalance = PositiveImbalance<T, GetCurrencyId>
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, GetCurrencyId>
type NegativeImbalance = NegativeImbalance<T, GetCurrencyId>
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
fn total_balance(who: &T::AccountId) -> Self::Balance
The combined balance of
who
.source§fn can_slash(who: &T::AccountId, value: Self::Balance) -> bool
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
fn total_issuance() -> Self::Balance
The total amount of issuance in the system.
source§fn minimum_balance() -> Self::Balance
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
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 moresource§fn issue(amount: Self::Balance) -> Self::NegativeImbalance
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 moresource§fn free_balance(who: &T::AccountId) -> Self::Balance
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: Self::Balance,
_reasons: WithdrawReasons,
_new_balance: Self::Balance
) -> DispatchResult
fn ensure_can_withdraw( who: &T::AccountId, amount: Self::Balance, _reasons: WithdrawReasons, _new_balance: Self::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 moresource§fn transfer(
source: &T::AccountId,
dest: &T::AccountId,
value: Self::Balance,
existence_requirement: ExistenceRequirement
) -> DispatchResult
fn transfer( source: &T::AccountId, dest: &T::AccountId, value: Self::Balance, existence_requirement: ExistenceRequirement ) -> DispatchResult
Transfer some liquid free balance to another staker. Read more
source§fn slash(
who: &T::AccountId,
value: Self::Balance
) -> (Self::NegativeImbalance, Self::Balance)
fn slash( who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)
Deducts up to
value
from the combined balance of who
, preferring to deduct from the
free balance. This function cannot fail. Read moresource§fn withdraw(
who: &T::AccountId,
value: Self::Balance,
_reasons: WithdrawReasons,
liveness: ExistenceRequirement
) -> Result<Self::NegativeImbalance, DispatchError>
fn withdraw( who: &T::AccountId, value: Self::Balance, _reasons: WithdrawReasons, liveness: ExistenceRequirement ) -> Result<Self::NegativeImbalance, DispatchError>
Removes some free balance from
who
account for reason
if possible. If liveness
is
KeepAlive
, then no less than ExistentialDeposit
must be left remaining. Read moresource§fn make_free_balance_be(
who: &T::AccountId,
value: Self::Balance
) -> SignedImbalance<Self::Balance, Self::PositiveImbalance>
fn make_free_balance_be( who: &T::AccountId, value: Self::Balance ) -> SignedImbalance<Self::Balance, Self::PositiveImbalance>
Ensure an account’s free balance equals some value; this will create the account
if needed. Read more
source§fn active_issuance() -> Self::Balance
fn active_issuance() -> Self::Balance
The total amount of issuance in the system excluding those which are controlled by the
system.
source§fn deactivate(_: Self::Balance)
fn deactivate(_: Self::Balance)
Reduce the active issuance by some amount.
source§fn reactivate(_: Self::Balance)
fn reactivate(_: Self::Balance)
Increase the active issuance by some amount, up to the outstanding amount reduced.
source§fn pair(
amount: Self::Balance
) -> (Self::PositiveImbalance, Self::NegativeImbalance)
fn pair( amount: Self::Balance ) -> (Self::PositiveImbalance, Self::NegativeImbalance)
Produce a pair of imbalances that cancel each other out exactly. Read more
source§fn resolve_into_existing(
who: &AccountId,
value: Self::NegativeImbalance
) -> Result<(), Self::NegativeImbalance>
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.source§fn resolve_creating(who: &AccountId, value: Self::NegativeImbalance)
fn resolve_creating(who: &AccountId, value: Self::NegativeImbalance)
Similar to deposit_creating, only accepts a
NegativeImbalance
and returns nothing on
success.source§fn settle(
who: &AccountId,
value: Self::PositiveImbalance,
reasons: WithdrawReasons,
liveness: ExistenceRequirement
) -> Result<(), Self::PositiveImbalance>
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, GetCurrencyId> Inspect<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Inspect<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
§type Reason = <Pallet<T> as Inspect<<T as Config>::AccountId>>::Reason
type Reason = <Pallet<T> as Inspect<<T as Config>::AccountId>>::Reason
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 balance_on_hold(reason: &Self::Reason, who: &T::AccountId) -> T::Balance
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 total_balance_on_hold(who: &T::AccountId) -> Self::Balance
fn total_balance_on_hold(who: &T::AccountId) -> Self::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
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 moresource§fn hold_available(reason: &Self::Reason, who: &T::AccountId) -> bool
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 moresource§fn can_hold(
reason: &Self::Reason,
who: &T::AccountId,
amount: T::Balance
) -> bool
fn can_hold( reason: &Self::Reason, who: &T::AccountId, amount: T::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 moresource§fn ensure_can_hold(
reason: &Self::Reason,
who: &AccountId,
amount: Self::Balance
) -> Result<(), DispatchError>
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 moresource§impl<T, GetCurrencyId> Inspect<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Inspect<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn total_issuance() -> Self::Balance
fn total_issuance() -> Self::Balance
The total amount of issuance in the system.
source§fn minimum_balance() -> Self::Balance
fn minimum_balance() -> Self::Balance
The minimum balance any single account may have.
source§fn balance(who: &T::AccountId) -> Self::Balance
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 moresource§fn total_balance(who: &T::AccountId) -> Self::Balance
fn total_balance(who: &T::AccountId) -> Self::Balance
Get the total amount of funds whose ultimate beneficial ownership can be determined as
who
. Read moresource§fn reducible_balance(
who: &T::AccountId,
preservation: Preservation,
fortitude: Fortitude
) -> Self::Balance
fn reducible_balance( who: &T::AccountId, preservation: Preservation, fortitude: 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 moresource§fn can_deposit(
who: &T::AccountId,
amount: Self::Balance,
provenance: Provenance
) -> DepositConsequence
fn can_deposit( who: &T::AccountId, amount: Self::Balance, provenance: Provenance ) -> DepositConsequence
source§fn can_withdraw(
who: &T::AccountId,
amount: Self::Balance
) -> WithdrawConsequence<Self::Balance>
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§fn active_issuance() -> Self::Balance
fn active_issuance() -> Self::Balance
The total amount of issuance in the system excluding those which are controlled by the
system.
source§impl<T, GetCurrencyId> LockableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> LockableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
§type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
The quantity used to denote time; usually just a
BlockNumber
.source§fn set_lock(
id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance,
_reasons: WithdrawReasons
)
fn set_lock( id: LockIdentifier, who: &T::AccountId, amount: Self::Balance, _reasons: WithdrawReasons )
Create a new balance lock on account
who
. Read moresource§fn extend_lock(
id: LockIdentifier,
who: &T::AccountId,
amount: Self::Balance,
_reasons: WithdrawReasons
)
fn extend_lock( id: LockIdentifier, who: &T::AccountId, amount: Self::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 moresource§fn remove_lock(id: LockIdentifier, who: &T::AccountId)
fn remove_lock(id: LockIdentifier, who: &T::AccountId)
Remove an existing lock.
source§impl<T, GetCurrencyId> Mutate<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Mutate<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn hold(
reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
fn hold( reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason, who: &T::AccountId, amount: Self::Balance ) -> DispatchResult
Hold some funds in an account. If a hold for
reason
is already in place, then this
will increase it.source§fn release(
reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason,
who: &T::AccountId,
amount: Self::Balance,
precision: Precision
) -> Result<T::Balance, DispatchError>
fn release( reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason, who: &T::AccountId, amount: Self::Balance, precision: Precision ) -> Result<T::Balance, DispatchError>
Release up to
amount
held funds in an account. Read moresource§fn transfer_on_hold(
reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason,
source: &T::AccountId,
dest: &T::AccountId,
amount: Self::Balance,
precision: Precision,
restriction: Restriction,
fortitude: Fortitude
) -> Result<Self::Balance, DispatchError>
fn transfer_on_hold( reason: &<Self as InspectHold<<T as Config>::AccountId>>::Reason, source: &T::AccountId, dest: &T::AccountId, amount: Self::Balance, precision: Precision, restriction: Restriction, fortitude: Fortitude ) -> Result<Self::Balance, DispatchError>
Transfer held funds into a destination account. Read more
source§fn burn_held(
reason: &Self::Reason,
who: &AccountId,
amount: Self::Balance,
precision: Precision,
force: Fortitude
) -> Result<Self::Balance, DispatchError>
fn burn_held( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision, force: Fortitude ) -> Result<Self::Balance, DispatchError>
source§fn transfer_and_hold(
reason: &Self::Reason,
source: &AccountId,
dest: &AccountId,
amount: Self::Balance,
precision: Precision,
expendability: Preservation,
force: Fortitude
) -> Result<Self::Balance, DispatchError>
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 morefn 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, GetCurrencyId> Mutate<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Mutate<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn mint_into(
who: &T::AccountId,
amount: Self::Balance
) -> Result<Self::Balance, DispatchError>
fn mint_into( who: &T::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.source§fn burn_from(
who: &T::AccountId,
amount: Self::Balance,
precision: Precision,
fortitude: Fortitude
) -> Result<Self::Balance, DispatchError>
fn burn_from( who: &T::AccountId, amount: Self::Balance, precision: Precision, fortitude: 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.source§fn transfer(
source: &T::AccountId,
dest: &T::AccountId,
amount: T::Balance,
preservation: Preservation
) -> Result<T::Balance, DispatchError>
fn transfer( source: &T::AccountId, dest: &T::AccountId, amount: T::Balance, preservation: Preservation ) -> Result<T::Balance, DispatchError>
Transfer funds from one account into another.
source§fn shelve(
who: &AccountId,
amount: Self::Balance
) -> Result<Self::Balance, DispatchError>
fn shelve( who: &AccountId, amount: Self::Balance ) -> Result<Self::Balance, DispatchError>
source§fn restore(
who: &AccountId,
amount: Self::Balance
) -> Result<Self::Balance, DispatchError>
fn restore( who: &AccountId, amount: Self::Balance ) -> Result<Self::Balance, DispatchError>
source§fn set_balance(who: &AccountId, amount: Self::Balance) -> Self::Balance
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
fn done_mint_into(_who: &AccountId, _amount: Self::Balance)
fn done_burn_from(_who: &AccountId, _amount: Self::Balance)
fn done_shelve(_who: &AccountId, _amount: Self::Balance)
fn done_restore(_who: &AccountId, _amount: Self::Balance)
fn done_transfer(_source: &AccountId, _dest: &AccountId, _amount: Self::Balance)
source§impl<T, GetCurrencyId> NamedReservableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> NamedReservableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
§type ReserveIdentifier = <T as Config>::ReserveIdentifier
type ReserveIdentifier = <T as Config>::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
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
source§fn reserve_named(
id: &Self::ReserveIdentifier,
who: &T::AccountId,
value: Self::Balance
) -> DispatchResult
fn reserve_named( id: &Self::ReserveIdentifier, who: &T::AccountId, value: Self::Balance ) -> DispatchResult
Moves
value
from balance to reserved balance. Read moresource§fn unreserve_named(
id: &Self::ReserveIdentifier,
who: &T::AccountId,
value: Self::Balance
) -> Self::Balance
fn unreserve_named( id: &Self::ReserveIdentifier, 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 slash_reserved_named(
id: &Self::ReserveIdentifier,
who: &T::AccountId,
value: Self::Balance
) -> (Self::NegativeImbalance, Self::Balance)
fn slash_reserved_named( id: &Self::ReserveIdentifier, who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)
source§fn repatriate_reserved_named(
id: &Self::ReserveIdentifier,
slashed: &T::AccountId,
beneficiary: &T::AccountId,
value: Self::Balance,
status: Status
) -> Result<Self::Balance, DispatchError>
fn repatriate_reserved_named( id: &Self::ReserveIdentifier, slashed: &T::AccountId, beneficiary: &T::AccountId, value: Self::Balance, status: Status ) -> 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 moresource§fn ensure_reserved_named(
id: &Self::ReserveIdentifier,
who: &AccountId,
value: Self::Balance
) -> Result<(), DispatchError>
fn ensure_reserved_named( id: &Self::ReserveIdentifier, who: &AccountId, value: Self::Balance ) -> Result<(), DispatchError>
Ensure the reserved balance is equal to
value
. Read moresource§fn unreserve_all_named(
id: &Self::ReserveIdentifier,
who: &AccountId
) -> Self::Balance
fn unreserve_all_named( id: &Self::ReserveIdentifier, who: &AccountId ) -> Self::Balance
Unreserve all the named reserved balances, returning unreserved amount. Read more
source§fn slash_all_reserved_named(
id: &Self::ReserveIdentifier,
who: &AccountId
) -> Self::NegativeImbalance
fn slash_all_reserved_named( id: &Self::ReserveIdentifier, who: &AccountId ) -> Self::NegativeImbalance
Slash all the reserved balance, returning the negative imbalance created. Read more
source§fn repatriate_all_reserved_named(
id: &Self::ReserveIdentifier,
slashed: &AccountId,
beneficiary: &AccountId,
status: BalanceStatus
) -> Result<(), DispatchError>
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 moresource§impl<T, GetCurrencyId> ReservableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> ReservableCurrency<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::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.source§fn slash_reserved(
who: &T::AccountId,
value: Self::Balance
) -> (Self::NegativeImbalance, Self::Balance)
fn slash_reserved( who: &T::AccountId, value: Self::Balance ) -> (Self::NegativeImbalance, Self::Balance)
source§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: Status
) -> Result<Self::Balance, DispatchError>
fn repatriate_reserved( slashed: &T::AccountId, beneficiary: &T::AccountId, value: Self::Balance, status: Status ) -> 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 moresource§impl<T, GetCurrencyId> Unbalanced<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Unbalanced<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn handle_dust(_dust: Dust<T::AccountId, Self>)
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>
fn write_balance( who: &T::AccountId, amount: Self::Balance ) -> Result<Option<Self::Balance>, DispatchError>
source§fn set_total_issuance(amount: Self::Balance)
fn set_total_issuance(amount: Self::Balance)
Set the total issuance to
amount
.source§fn handle_raw_dust(amount: Self::Balance)
fn handle_raw_dust(amount: Self::Balance)
Create some dust and handle it with
Self::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 Self::minimum_balance() - 1
. Read moresource§fn decrease_balance(
who: &AccountId,
amount: Self::Balance,
precision: Precision,
preservation: Preservation,
force: Fortitude
) -> Result<Self::Balance, DispatchError>
fn decrease_balance( who: &AccountId, amount: Self::Balance, precision: Precision, preservation: Preservation, force: Fortitude ) -> Result<Self::Balance, DispatchError>
source§fn increase_balance(
who: &AccountId,
amount: Self::Balance,
precision: Precision
) -> Result<Self::Balance, DispatchError>
fn increase_balance( who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>
source§fn deactivate(_: Self::Balance)
fn deactivate(_: Self::Balance)
Reduce the active issuance by some amount.
source§fn reactivate(_: Self::Balance)
fn reactivate(_: Self::Balance)
Increase the active issuance by some amount, up to the outstanding amount reduced.
source§impl<T, GetCurrencyId> Unbalanced<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where
T: Config,
GetCurrencyId: Get<T::CurrencyId>,
impl<T, GetCurrencyId> Unbalanced<<T as Config>::AccountId> for CurrencyAdapter<T, GetCurrencyId>where T: Config, GetCurrencyId: Get<T::CurrencyId>,
source§fn set_balance_on_hold(
reason: &Self::Reason,
who: &T::AccountId,
amount: Self::Balance
) -> DispatchResult
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 moresource§fn decrease_balance_on_hold(
reason: &Self::Reason,
who: &AccountId,
amount: Self::Balance,
precision: Precision
) -> Result<Self::Balance, DispatchError>
fn decrease_balance_on_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>
source§fn increase_balance_on_hold(
reason: &Self::Reason,
who: &AccountId,
amount: Self::Balance,
precision: Precision
) -> Result<Self::Balance, DispatchError>
fn increase_balance_on_hold( reason: &Self::Reason, who: &AccountId, amount: Self::Balance, precision: Precision ) -> Result<Self::Balance, DispatchError>
Auto Trait Implementations§
impl<T, GetCurrencyId> RefUnwindSafe for CurrencyAdapter<T, GetCurrencyId>where GetCurrencyId: RefUnwindSafe, T: RefUnwindSafe,
impl<T, GetCurrencyId> Send for CurrencyAdapter<T, GetCurrencyId>where GetCurrencyId: Send, T: Send,
impl<T, GetCurrencyId> Sync for CurrencyAdapter<T, GetCurrencyId>where GetCurrencyId: Sync, T: Sync,
impl<T, GetCurrencyId> Unpin for CurrencyAdapter<T, GetCurrencyId>where GetCurrencyId: Unpin, T: Unpin,
impl<T, GetCurrencyId> UnwindSafe for CurrencyAdapter<T, GetCurrencyId>where GetCurrencyId: UnwindSafe, T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§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,
Causes
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
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,
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,
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,
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,
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,
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,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.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,
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.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.source§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.source§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.source§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.source§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.source§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
.