pub trait Nontransferable {
    type Balance: Balance;

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

A trait for Non-transferable asset.

Required Associated Types§

type Balance: Balance

Scalar type for representing balance of an account.

Required Methods§

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

The balance Capacity for an MSA account.

fn deduct(msa_id: u64, amount: Self::Balance) -> Result<(), DispatchError>

Reduce Capacity of an MSA account by amount.

fn deposit(msa_id: u64, amount: Self::Balance) -> Result<(), DispatchError>

Increase Capacity of an MSA account by an amount.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<T: Config> Nontransferable for Pallet<T>

§

type Balance = <<T as Config>::Currency as Inspect<<T as Config>::AccountId>>::Balance