pub trait Nontransferable {
    type Balance: Balance;

    // Required methods
    fn balance(msa_id: MessageSourceId) -> Self::Balance;
    fn deduct(
        msa_id: MessageSourceId,
        capacity_amount: Self::Balance
    ) -> Result<(), DispatchError>;
    fn deposit(
        msa_id: MessageSourceId,
        token_amount: Self::Balance,
        capacity_amount: Self::Balance
    ) -> Result<(), DispatchError>;
}
Expand description

A trait for Non-transferable asset

Required Associated Types§

source

type Balance: Balance

Scalar type for representing balance of an account.

Required Methods§

source

fn balance(msa_id: MessageSourceId) -> Self::Balance

The available Capacity for an MSA.

source

fn deduct( msa_id: MessageSourceId, capacity_amount: Self::Balance ) -> Result<(), DispatchError>

Reduce Capacity of an MSA by amount.

source

fn deposit( msa_id: MessageSourceId, token_amount: Self::Balance, capacity_amount: Self::Balance ) -> Result<(), DispatchError>

Increase Staked Token + Capacity amounts of an MSA. (unused)

Object Safety§

This trait is not object safe.

Implementors§