pub trait ExportXcm {
    type Ticket;

    // Required methods
    fn validate(
        network: NetworkId,
        channel: u32,
        universal_source: &mut Option<InteriorMultiLocation>,
        destination: &mut Option<InteriorMultiLocation>,
        message: &mut Option<Xcm<()>>
    ) -> SendResult<Self::Ticket>;
    fn deliver(ticket: Self::Ticket) -> Result<XcmHash, SendError>;
}
Expand description

Utility for delivering a message to a system under a different (non-local) consensus with a spoofed origin. This essentially defines the behaviour of the ExportMessage XCM instruction.

This is quite different to SendXcm; SendXcm assumes that the local side’s location will be preserved to be represented as the value of the Origin register in the messages execution.

This trait on the other hand assumes that we do not necessarily want the Origin register to contain the local (i.e. the caller chain’s) location, since it will generally be exporting a message on behalf of another consensus system. Therefore in addition to the message, the destination must be given in two parts: the network and the interior location within it.

We also require the caller to state exactly what location they purport to be representing. The destination must accept the local location to represent that location or the operation will fail.

Required Associated Types§

source

type Ticket

Intermediate value which connects the two phases of the export operation.

Required Methods§

source

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

Check whether the given message is deliverable to the given destination on network, spoofing its source as universal_source and if so determine the cost which will be paid by this chain to do so, returning a Ticket token which can be used to enact delivery.

The channel to be used on the network’s export mechanism (bridge, probably) must also be provided.

The destination and message must be Some (or else an error will be returned) and they may only be consumed if the Err is not NotApplicable.

If it is not a destination which can be reached with this type but possibly could by others, then this MUST return NotApplicable. Any other error will cause the tuple implementation (used to compose routing systems from different delivery agents) to exit early without trying alternative means of delivery.

source

fn deliver(ticket: Self::Ticket) -> Result<XcmHash, SendError>

Actually carry out the delivery operation for a previously validated message sending.

The implementation should do everything possible to ensure that this function is infallible if called immediately after validate. Returning an error here would result in a price paid without the service being delivered.

Implementations on Foreign Types§

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm, TupleElement25: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>, Option<<TupleElement24 as ExportXcm>::Ticket>, Option<<TupleElement25 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm, TupleElement25: ExportXcm, TupleElement26: ExportXcm, TupleElement27: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>, Option<<TupleElement24 as ExportXcm>::Ticket>, Option<<TupleElement25 as ExportXcm>::Ticket>, Option<<TupleElement26 as ExportXcm>::Ticket>, Option<<TupleElement27 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm, TupleElement25: ExportXcm, TupleElement26: ExportXcm, TupleElement27: ExportXcm, TupleElement28: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>, Option<<TupleElement24 as ExportXcm>::Ticket>, Option<<TupleElement25 as ExportXcm>::Ticket>, Option<<TupleElement26 as ExportXcm>::Ticket>, Option<<TupleElement27 as ExportXcm>::Ticket>, Option<<TupleElement28 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>,)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>, Option<<TupleElement24 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm, TupleElement25: ExportXcm, TupleElement26: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>, Option<<TupleElement24 as ExportXcm>::Ticket>, Option<<TupleElement25 as ExportXcm>::Ticket>, Option<<TupleElement26 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl ExportXcm for ()

§

type Ticket = ()

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

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

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm> ExportXcm 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)

§

type Ticket = (Option<<TupleElement0 as ExportXcm>::Ticket>, Option<<TupleElement1 as ExportXcm>::Ticket>, Option<<TupleElement2 as ExportXcm>::Ticket>, Option<<TupleElement3 as ExportXcm>::Ticket>, Option<<TupleElement4 as ExportXcm>::Ticket>, Option<<TupleElement5 as ExportXcm>::Ticket>, Option<<TupleElement6 as ExportXcm>::Ticket>, Option<<TupleElement7 as ExportXcm>::Ticket>, Option<<TupleElement8 as ExportXcm>::Ticket>, Option<<TupleElement9 as ExportXcm>::Ticket>, Option<<TupleElement10 as ExportXcm>::Ticket>, Option<<TupleElement11 as ExportXcm>::Ticket>, Option<<TupleElement12 as ExportXcm>::Ticket>, Option<<TupleElement13 as ExportXcm>::Ticket>, Option<<TupleElement14 as ExportXcm>::Ticket>, Option<<TupleElement15 as ExportXcm>::Ticket>, Option<<TupleElement16 as ExportXcm>::Ticket>, Option<<TupleElement17 as ExportXcm>::Ticket>, Option<<TupleElement18 as ExportXcm>::Ticket>, Option<<TupleElement19 as ExportXcm>::Ticket>, Option<<TupleElement20 as ExportXcm>::Ticket>, Option<<TupleElement21 as ExportXcm>::Ticket>, Option<<TupleElement22 as ExportXcm>::Ticket>, Option<<TupleElement23 as ExportXcm>::Ticket>)

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

source§

impl<TupleElement0: ExportXcm, TupleElement1: ExportXcm, TupleElement2: ExportXcm, TupleElement3: ExportXcm, TupleElement4: ExportXcm, TupleElement5: ExportXcm, TupleElement6: ExportXcm, TupleElement7: ExportXcm, TupleElement8: ExportXcm, TupleElement9: ExportXcm, TupleElement10: ExportXcm, TupleElement11: ExportXcm, TupleElement12: ExportXcm, TupleElement13: ExportXcm, TupleElement14: ExportXcm, TupleElement15: ExportXcm, TupleElement16: ExportXcm, TupleElement17: ExportXcm, TupleElement18: ExportXcm, TupleElement19: ExportXcm, TupleElement20: ExportXcm, TupleElement21: ExportXcm, TupleElement22: ExportXcm, TupleElement23: ExportXcm, TupleElement24: ExportXcm, TupleElement25: ExportXcm, TupleElement26: ExportXcm, TupleElement27: ExportXcm, TupleElement28: ExportXcm, TupleElement29: ExportXcm> ExportXcm 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)

§

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

source§

fn validate( network: NetworkId, channel: u32, universal_source: &mut Option<InteriorMultiLocation>, destination: &mut Option<InteriorMultiLocation>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>

source§

fn deliver(one_ticket: Self::Ticket) -> Result<XcmHash, SendError>

Implementors§