[−][src]Struct pallet_generic_asset::Module
Implementations
impl<T: Trait> Module<T>
[src]
Can also be called using Call
.
pub fn transfer(
origin: T::Origin,
asset_id: T::AssetId,
to: T::AccountId,
amount: T::Balance
) -> DispatchResult
[src]
origin: T::Origin,
asset_id: T::AssetId,
to: T::AccountId,
amount: T::Balance
) -> DispatchResult
Transfer some liquid free balance to another account.
NOTE: Calling this function will bypass origin filters.
impl<T: Trait + 'static> Module<T>
[src]
pub fn total_issuance<K: EncodeLike<T::AssetId>>(key: K) -> T::Balance
[src]
Total issuance of a given asset.
TWOX-NOTE: AssetId
is trusted.
pub fn next_asset_id() -> T::AssetId
[src]
Next available ID for user-created asset.
pub fn get_permission<K: EncodeLike<T::AssetId>>(
key: K
) -> PermissionVersions<T::AccountId>
[src]
key: K
) -> PermissionVersions<T::AccountId>
Permission options for a given asset.
TWOX-NOTE: AssetId
is trusted.
pub fn locks<K: EncodeLike<T::AccountId>>(
key: K
) -> Vec<BalanceLock<T::Balance>>
[src]
key: K
) -> Vec<BalanceLock<T::Balance>>
Any liquidity locks on some account balances.
pub fn staking_asset_id() -> T::AssetId
[src]
The identity of the asset which is the one that is designated for the chain's staking system.
pub fn spending_asset_id() -> T::AssetId
[src]
The identity of the asset which is the one that is designated for paying the chain's transaction fee.
impl<T: Trait> Module<T>
[src]
pub fn total_balance(asset_id: &T::AssetId, who: &T::AccountId) -> T::Balance
[src]
Get an account's total balance of an asset kind.
pub fn free_balance(asset_id: &T::AssetId, who: &T::AccountId) -> T::Balance
[src]
Get an account's free balance of an asset kind.
pub fn reserved_balance(asset_id: &T::AssetId, who: &T::AccountId) -> T::Balance
[src]
Get an account's reserved balance of an asset kind.
pub fn mint_free(
asset_id: &T::AssetId,
who: &T::AccountId,
to: &T::AccountId,
amount: &T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
to: &T::AccountId,
amount: &T::Balance
) -> DispatchResult
Mint to an account's free balance, without event
pub fn burn_free(
asset_id: &T::AssetId,
who: &T::AccountId,
to: &T::AccountId,
amount: &T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
to: &T::AccountId,
amount: &T::Balance
) -> DispatchResult
Burn an account's free balance, without event
pub fn create_asset(
asset_id: Option<T::AssetId>,
from_account: Option<T::AccountId>,
options: AssetOptions<T::Balance, T::AccountId>
) -> DispatchResult
[src]
asset_id: Option<T::AssetId>,
from_account: Option<T::AccountId>,
options: AssetOptions<T::Balance, T::AccountId>
) -> DispatchResult
Creates an asset.
Arguments
asset_id
: An ID of a reserved asset. If not provided, a user-generated asset will be created with the next available ID.from_account
: The initiator account of this callasset_options
: Asset creation options.
pub fn make_transfer(
asset_id: &T::AssetId,
from: &T::AccountId,
to: &T::AccountId,
amount: T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
from: &T::AccountId,
to: &T::AccountId,
amount: T::Balance
) -> DispatchResult
Transfer some liquid free balance from one account to another.
This will not emit the Transferred
event.
pub fn make_transfer_with_event(
asset_id: &T::AssetId,
from: &T::AccountId,
to: &T::AccountId,
amount: T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
from: &T::AccountId,
to: &T::AccountId,
amount: T::Balance
) -> DispatchResult
Transfer some liquid free balance from one account to another.
This will emit the Transferred
event.
pub fn reserve(
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> DispatchResult
Move amount
from free balance to reserved balance.
If the free balance is lower than amount
, then no funds will be moved and an Err
will
be returned. This is different behavior than unreserve
.
pub fn unreserve(
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> T::Balance
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> T::Balance
Moves up to amount
from reserved balance to free balance. This function cannot fail.
As many assets up to amount
will be moved as possible. If the reserve balance of who
is less than amount
, then the remaining amount will be returned.
NOTE: This is different behavior than reserve
.
pub fn slash(
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> Option<T::Balance>
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> Option<T::Balance>
Deduct up to amount
from the combined balance of who
, preferring to deduct from the
free balance. This function cannot fail.
As much funds up to amount
will be deducted as possible. If this is less than amount
then Some(remaining)
will be returned. Full completion is given by None
.
NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that
the caller will do this.
pub fn slash_reserved(
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> Option<T::Balance>
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
amount: T::Balance
) -> Option<T::Balance>
Deducts up to amount
from reserved balance of who
. This function cannot fail.
As much funds up to amount
will be deducted as possible. If the reserve balance of who
is less than amount
, then a non-zero second item will be returned.
NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that
the caller will do this.
pub fn repatriate_reserved(
asset_id: &T::AssetId,
who: &T::AccountId,
beneficiary: &T::AccountId,
amount: T::Balance,
status: BalanceStatus
) -> T::Balance
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
beneficiary: &T::AccountId,
amount: T::Balance,
status: BalanceStatus
) -> T::Balance
Move up to amount
from reserved balance of account who
to balance of account
beneficiary
, either free or reserved depending on status
.
As much funds up to amount
will be moved as possible. If this is less than amount
, then
the remaining
would be returned, else Zero::zero()
.
NOTE: LOW-LEVEL: This will not attempt to maintain total issuance. It is expected that
the caller will do this.
pub fn check_permission(
asset_id: &T::AssetId,
who: &T::AccountId,
what: &PermissionType
) -> bool
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
what: &PermissionType
) -> bool
Check permission to perform burn, mint or update.
Arguments
asset_id
: AT::AssetId
type that contains theasset_id
, which has the permission embedded.who
: AT::AccountId
type that contains theaccount_id
for which to check permissions.what
: The permission to check.
pub fn ensure_can_withdraw(
asset_id: &T::AssetId,
who: &T::AccountId,
_amount: T::Balance,
reasons: WithdrawReasons,
new_balance: T::Balance
) -> DispatchResult
[src]
asset_id: &T::AssetId,
who: &T::AccountId,
_amount: T::Balance,
reasons: WithdrawReasons,
new_balance: T::Balance
) -> DispatchResult
Return Ok
iff the account is able to make a withdrawal of the given amount
for the given reason.
Err(...)
with the reason why not otherwise.
Trait Implementations
impl<T: Trait> Callable<T> for Module<T>
[src]
impl<T: Clone + Trait> Clone for Module<T>
[src]
impl<T: Copy + Trait> Copy for Module<T>
[src]
impl<T: Trait> Debug for Module<T> where
T: Debug,
[src]
T: Debug,
impl<T: Eq + Trait> Eq for Module<T>
[src]
impl<T: Trait> IntegrityTest for Module<T>
[src]
fn integrity_test()
[src]
impl<T: Trait> ModuleErrorMetadata for Module<T>
[src]
fn metadata() -> &'static [ErrorMetadata]
[src]
impl<T: Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>
[src]
fn offchain_worker(_n: BlockNumber)
[src]
impl<T: Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>
[src]
fn on_finalize(_n: BlockNumber)
[src]
impl<T: Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>
[src]
fn on_initialize(_n: BlockNumber) -> u64
[src]
impl<T: Trait> OnRuntimeUpgrade for Module<T>
[src]
fn on_runtime_upgrade() -> u64
[src]
impl<T: PartialEq + Trait> PartialEq<Module<T>> for Module<T>
[src]
impl<T: Trait> StructuralEq for Module<T>
[src]
impl<T: Trait> StructuralPartialEq for Module<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for Module<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for Module<T> where
T: Send,
T: Send,
impl<T> Sync for Module<T> where
T: Sync,
T: Sync,
impl<T> Unpin for Module<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for Module<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CheckedConversion for T
[src]
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
[src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
[src]
Self: TryInto<T>,
impl<T> DynClone for T where
T: Clone,
[src]
T: Clone,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IsType<T> for T
[src]
fn from_ref(t: &T) -> &T
[src]
fn into_ref(&self) -> &T
[src]
fn from_mut(t: &mut T) -> &mut T
[src]
fn into_mut(&mut self) -> &mut T
[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
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> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeDebug for T where
T: Debug,
T: Debug,
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Member for T where
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
[src]
T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug,
impl<T> Same<T> 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>,
Self: UniqueSaturatedFrom<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Self: UniqueSaturatedInto<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
T: UncheckedFrom<S>,
fn unchecked_into(self) -> T
impl<T, S> UniqueSaturatedInto<T> for S where
S: TryInto<T>,
T: Bounded,
S: TryInto<T>,
T: Bounded,
fn unique_saturated_into(self) -> T
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,