pub trait AssetChecking<AssetId> {
    // Required method
    fn asset_checking(asset: &AssetId) -> Option<MintLocation>;
}
Expand description

Simple trait to indicate whether an asset is subject to having its teleportation into and out of this chain recorded and if so in what MintLocation.

The overall purpose of asset-checking is to ensure either no more assets are teleported into a chain than the outstanding balance of assets which were previously teleported out (as in the case of locally-minted assets); or that no more assets are teleported out of a chain than the outstanding balance of assets which have previously been teleported in (as in the case of chains where the asset is not minted locally).

Required Methods§

source

fn asset_checking(asset: &AssetId) -> Option<MintLocation>

Return the teleportation asset-checking policy for the given asset. None implies no checking. Otherwise the policy detailed by the inner MintLocation should be respected by teleportation.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<AssetId> AssetChecking<AssetId> for NoChecking

source§

impl<AssetId, L: Contains<AssetId>, R: Contains<AssetId>> AssetChecking<AssetId> for DualMint<L, R>

source§

impl<AssetId, T: Contains<AssetId>> AssetChecking<AssetId> for LocalMint<T>

source§

impl<AssetId, T: Contains<AssetId>> AssetChecking<AssetId> for NonLocalMint<T>