pub trait Config<I: 'static = ()>: Config + Config {
    type TransactAsset: Mutate<Self::AccountId>;
    type CheckedAccount: Get<Option<(Self::AccountId, MintLocation)>>;
    type TrustedTeleporter: Get<Option<(Location, Asset)>>;
    type TrustedReserve: Get<Option<(Location, Asset)>>;

    // Required method
    fn get_asset() -> Asset;
}
Expand description

Configuration trait of this pallet.

The main purpose of this trait is to act as an interface between this pallet and the runtime in which it is embedded in. A type, function, or constant in this trait is essentially left to be configured by the runtime that includes this pallet.

Consequently, a runtime that wants to include this pallet must implement this trait.

Required Associated Types§

source

type TransactAsset: Mutate<Self::AccountId>

The type of fungible that is being used under the hood.

This is useful for testing and checking.

source

type CheckedAccount: Get<Option<(Self::AccountId, MintLocation)>>

The account used to check assets being teleported.

source

type TrustedTeleporter: Get<Option<(Location, Asset)>>

A trusted location which we allow teleports from, and the asset we allow to teleport.

source

type TrustedReserve: Get<Option<(Location, Asset)>>

A trusted location where reserve assets are stored, and the asset we allow to be reserves.

Required Methods§

source

fn get_asset() -> Asset

Give me a fungible asset that your asset transactor is going to accept.

Object Safety§

This trait is not object safe.

Implementors§