pub trait MultiTokenCurrencyExtended<AccountId>: MultiTokenCurrency<AccountId> {
// Required methods
fn create(
address: &AccountId,
amount: Self::Balance
) -> Result<Self::CurrencyId, DispatchError>;
fn mint(
currency_id: Self::CurrencyId,
address: &AccountId,
amount: Self::Balance
) -> DispatchResult;
fn get_next_currency_id() -> Self::CurrencyId;
fn exists(currency_id: Self::CurrencyId) -> bool;
fn burn_and_settle(
currency_id: Self::CurrencyId,
who: &AccountId,
amount: Self::Balance
) -> DispatchResult;
fn locked_balance(
currency_id: Self::CurrencyId,
who: &AccountId
) -> Self::Balance;
fn available_balance(
currency_id: Self::CurrencyId,
who: &AccountId
) -> Self::Balance;
}