[][src]Struct pallet_generic_asset::Module

pub struct Module<T: Trait>(_);

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]

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]

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]

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]

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]

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]

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 call
  • asset_options: Asset creation options.

pub fn make_transfer(
    asset_id: &T::AssetId,
    from: &T::AccountId,
    to: &T::AccountId,
    amount: T::Balance
) -> DispatchResult
[src]

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]

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]

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]

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]

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]

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]

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]

Check permission to perform burn, mint or update.

Arguments

  • asset_id: A T::AssetId type that contains the asset_id, which has the permission embedded.
  • who: A T::AccountId type that contains the account_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]

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]

type Call = Call<T>

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]

impl<T: Eq + Trait> Eq for Module<T>[src]

impl<T: Trait> IntegrityTest for Module<T>[src]

impl<T: Trait> ModuleErrorMetadata for Module<T>[src]

impl<T: Trait> OffchainWorker<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnFinalize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnInitialize<<T as Trait>::BlockNumber> for Module<T>[src]

impl<T: Trait> OnRuntimeUpgrade for Module<T>[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

impl<T> Send for Module<T> where
    T: Send

impl<T> Sync for Module<T> where
    T: Sync

impl<T> Unpin for Module<T> where
    T: Unpin

impl<T> UnwindSafe for Module<T> where
    T: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CheckedConversion for T[src]

impl<T> DynClone for T where
    T: Clone
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IsType<T> for T[src]

impl<T, Outer> IsWrappedBy<Outer> for T where
    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

impl<T> MaybeDebug for T where
    T: Debug

impl<T> MaybeRefUnwindSafe for T where
    T: RefUnwindSafe

impl<T> Member for T where
    T: 'static + Clone + PartialEq<T> + Eq + Send + Sync + Debug
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatedConversion for T

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

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

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