pub trait TransactAsset {
    // Provided methods
    fn can_check_in(
        _origin: &Location,
        _what: &Asset,
        _context: &XcmContext
    ) -> XcmResult { ... }
    fn check_in(_origin: &Location, _what: &Asset, _context: &XcmContext) { ... }
    fn can_check_out(
        _dest: &Location,
        _what: &Asset,
        _context: &XcmContext
    ) -> XcmResult { ... }
    fn check_out(_dest: &Location, _what: &Asset, _context: &XcmContext) { ... }
    fn deposit_asset(
        _what: &Asset,
        _who: &Location,
        _context: Option<&XcmContext>
    ) -> XcmResult { ... }
    fn withdraw_asset(
        _what: &Asset,
        _who: &Location,
        _maybe_context: Option<&XcmContext>
    ) -> Result<AssetsInHolding, XcmError> { ... }
    fn internal_transfer_asset(
        _asset: &Asset,
        _from: &Location,
        _to: &Location,
        _context: &XcmContext
    ) -> Result<AssetsInHolding, XcmError> { ... }
    fn transfer_asset(
        asset: &Asset,
        from: &Location,
        to: &Location,
        context: &XcmContext
    ) -> Result<AssetsInHolding, XcmError> { ... }
}
Expand description

Facility for asset transacting.

This should work with as many asset/location combinations as possible. Locations to support may include non-account locations such as a [Junction::Parachain]. Different chains may handle them in different ways.

Can be amalgamated as a tuple of items that implement this trait. In such executions, if any of the transactors returns Ok(()), then it will short circuit. Else, execution is passed to the next transactor.

Provided Methods§

source

fn can_check_in( _origin: &Location, _what: &Asset, _context: &XcmContext ) -> XcmResult

Ensure that check_in will do as expected.

When composed as a tuple, all type-items are called and at least one must result in Ok.

source

fn check_in(_origin: &Location, _what: &Asset, _context: &XcmContext)

An asset has been teleported in from the given origin. This should do whatever housekeeping is needed.

NOTE: This will make only a best-effort at bookkeeping. The caller should ensure that can_check_in has returned with Ok in order to guarantee that this operation proceeds properly.

Implementation note: In general this will do one of two things: On chains where the asset is native, it will reduce the assets from a special “teleported” account so that a) total-issuance is preserved; and b) to ensure that no more assets can be teleported in than were teleported out overall (this should not be needed if the teleporting chains are to be trusted, but better to be safe than sorry). On chains where the asset is not native then it will generally just be a no-op.

When composed as a tuple, all type-items are called. It is up to the implementer that there exists no value for _what which can cause side-effects for more than one of the type-items.

source

fn can_check_out( _dest: &Location, _what: &Asset, _context: &XcmContext ) -> XcmResult

Ensure that check_out will do as expected.

When composed as a tuple, all type-items are called and at least one must result in Ok.

source

fn check_out(_dest: &Location, _what: &Asset, _context: &XcmContext)

An asset has been teleported out to the given destination. This should do whatever housekeeping is needed.

Implementation note: In general this will do one of two things: On chains where the asset is native, it will increase the assets in a special “teleported” account so that a) total-issuance is preserved; and b) to ensure that no more assets can be teleported in than were teleported out overall (this should not be needed if the teleporting chains are to be trusted, but better to be safe than sorry). On chains where the asset is not native then it will generally just be a no-op.

When composed as a tuple, all type-items are called. It is up to the implementer that there exists no value for _what which can cause side-effects for more than one of the type-items.

source

fn deposit_asset( _what: &Asset, _who: &Location, _context: Option<&XcmContext> ) -> XcmResult

Deposit the what asset into the account of who.

Implementations should return XcmError::FailedToTransactAsset if deposit failed.

source

fn withdraw_asset( _what: &Asset, _who: &Location, _maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

Withdraw the given asset from the consensus system. Return the actual asset(s) withdrawn, which should always be equal to _what.

The XCM _maybe_context parameter may be None when the caller of withdraw_asset is outside of the context of a currently-executing XCM. An example will be the charge_fees method in the XCM executor.

Implementations should return XcmError::FailedToTransactAsset if withdraw failed.

source

fn internal_transfer_asset( _asset: &Asset, _from: &Location, _to: &Location, _context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

Move an asset from one location in to another location.

Returns XcmError::FailedToTransactAsset if transfer failed.

§Notes

This function is meant to only be implemented by the type implementing TransactAsset, and not be called directly. Most common API usages will instead call transfer_asset, which in turn has a default implementation that calls internal_transfer_asset. As such, please do not call this method directly unless you know what you’re doing.

source

fn transfer_asset( asset: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

Move an asset from one location in to another location.

Attempts to use internal_transfer_asset and if not available then falls back to using a two-part withdraw/deposit.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl TransactAsset for ()

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset> TransactAsset for (TupleElement0,)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset> TransactAsset for (TupleElement0, TupleElement1)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset, TupleElement25: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset, TupleElement25: TransactAsset, TupleElement26: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset, TupleElement25: TransactAsset, TupleElement26: TransactAsset, TupleElement27: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset, TupleElement25: TransactAsset, TupleElement26: TransactAsset, TupleElement27: TransactAsset, TupleElement28: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

source§

impl<TupleElement0: TransactAsset, TupleElement1: TransactAsset, TupleElement2: TransactAsset, TupleElement3: TransactAsset, TupleElement4: TransactAsset, TupleElement5: TransactAsset, TupleElement6: TransactAsset, TupleElement7: TransactAsset, TupleElement8: TransactAsset, TupleElement9: TransactAsset, TupleElement10: TransactAsset, TupleElement11: TransactAsset, TupleElement12: TransactAsset, TupleElement13: TransactAsset, TupleElement14: TransactAsset, TupleElement15: TransactAsset, TupleElement16: TransactAsset, TupleElement17: TransactAsset, TupleElement18: TransactAsset, TupleElement19: TransactAsset, TupleElement20: TransactAsset, TupleElement21: TransactAsset, TupleElement22: TransactAsset, TupleElement23: TransactAsset, TupleElement24: TransactAsset, TupleElement25: TransactAsset, TupleElement26: TransactAsset, TupleElement27: TransactAsset, TupleElement28: TransactAsset, TupleElement29: TransactAsset> TransactAsset for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11, TupleElement12, TupleElement13, TupleElement14, TupleElement15, TupleElement16, TupleElement17, TupleElement18, TupleElement19, TupleElement20, TupleElement21, TupleElement22, TupleElement23, TupleElement24, TupleElement25, TupleElement26, TupleElement27, TupleElement28, TupleElement29)

source§

fn can_check_in( origin: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_in(origin: &Location, what: &Asset, context: &XcmContext)

source§

fn can_check_out( dest: &Location, what: &Asset, context: &XcmContext ) -> XcmResult

source§

fn check_out(dest: &Location, what: &Asset, context: &XcmContext)

source§

fn deposit_asset( what: &Asset, who: &Location, context: Option<&XcmContext> ) -> XcmResult

source§

fn withdraw_asset( what: &Asset, who: &Location, maybe_context: Option<&XcmContext> ) -> Result<AssetsInHolding, XcmError>

source§

fn internal_transfer_asset( what: &Asset, from: &Location, to: &Location, context: &XcmContext ) -> Result<AssetsInHolding, XcmError>

Implementors§