Trait staging_xcm::v4::ExecuteXcm

source ·
pub trait ExecuteXcm<Call> {
    type Prepared: PreparedMessage;

    // Required methods
    fn prepare(message: Xcm<Call>) -> Result<Self::Prepared, Xcm<Call>>;
    fn execute(
        origin: impl Into<Location>,
        pre: Self::Prepared,
        id: &mut XcmHash,
        weight_credit: Weight,
    ) -> Outcome;
    fn charge_fees(location: impl Into<Location>, fees: Assets) -> Result;

    // Provided method
    fn prepare_and_execute(
        origin: impl Into<Location>,
        message: Xcm<Call>,
        id: &mut XcmHash,
        weight_limit: Weight,
        weight_credit: Weight,
    ) -> Outcome { ... }
}
Expand description

Type of XCM message executor.

Required Associated Types§

Required Methods§

source

fn prepare(message: Xcm<Call>) -> Result<Self::Prepared, Xcm<Call>>

source

fn execute( origin: impl Into<Location>, pre: Self::Prepared, id: &mut XcmHash, weight_credit: Weight, ) -> Outcome

source

fn charge_fees(location: impl Into<Location>, fees: Assets) -> Result

Deduct some fees to the sovereign account of the given location and place them as per the convention for fees.

Provided Methods§

source

fn prepare_and_execute( origin: impl Into<Location>, message: Xcm<Call>, id: &mut XcmHash, weight_limit: Weight, weight_credit: Weight, ) -> Outcome

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<C> ExecuteXcm<C> for ()

§

type Prepared = Weightless

source§

fn prepare(message: Xcm<C>) -> Result<Self::Prepared, Xcm<C>>

source§

fn execute( _: impl Into<Location>, _: Self::Prepared, _: &mut XcmHash, _: Weight, ) -> Outcome

source§

fn charge_fees(_location: impl Into<Location>, _fees: Assets) -> Result

Implementors§