pub trait Inspect<AccountId> {
type AssetId: AssetId;
type Balance: Balance;
fn total_issuance(asset: Self::AssetId) -> Self::Balance;
fn minimum_balance(asset: Self::AssetId) -> Self::Balance;
fn balance(asset: Self::AssetId, who: &AccountId) -> Self::Balance;
fn reducible_balance(
asset: Self::AssetId,
who: &AccountId,
keep_alive: bool
) -> Self::Balance;
fn can_deposit(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance,
mint: bool
) -> DepositConsequence;
fn can_withdraw(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance
) -> WithdrawConsequence<Self::Balance>;
}
Expand description
Trait for providing balance-inspection access to a set of named fungible assets.
Required Associated Types§
Required Methods§
sourcefn total_issuance(asset: Self::AssetId) -> Self::Balance
fn total_issuance(asset: Self::AssetId) -> Self::Balance
The total amount of issuance in the system.
sourcefn minimum_balance(asset: Self::AssetId) -> Self::Balance
fn minimum_balance(asset: Self::AssetId) -> Self::Balance
The minimum balance any single account may have.
sourcefn balance(asset: Self::AssetId, who: &AccountId) -> Self::Balance
fn balance(asset: Self::AssetId, who: &AccountId) -> Self::Balance
Get the asset
balance of who
.
sourcefn reducible_balance(
asset: Self::AssetId,
who: &AccountId,
keep_alive: bool
) -> Self::Balance
fn reducible_balance(
asset: Self::AssetId,
who: &AccountId,
keep_alive: bool
) -> Self::Balance
Get the maximum amount of asset
that who
can withdraw/transfer successfully.
sourcefn can_deposit(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance,
mint: bool
) -> DepositConsequence
fn can_deposit(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance,
mint: bool
) -> DepositConsequence
Returns true
if the asset
balance of who
may be increased by amount
.
asset
: The asset that should be deposited.who
: The account of which the balance should be increased byamount
.amount
: How much should the balance be increased?mint
: Willamount
be minted to deposit it intoaccount
?
sourcefn can_withdraw(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance
) -> WithdrawConsequence<Self::Balance>
fn can_withdraw(
asset: Self::AssetId,
who: &AccountId,
amount: Self::Balance
) -> WithdrawConsequence<Self::Balance>
Returns Failed
if the asset
balance of who
may not be decreased by amount
, otherwise
the consequence.