Trait xcm::v1::SendXcm

source ·
pub trait SendXcm {
    // Required method
    fn send_xcm(
        destination: impl Into<MultiLocation>,
        message: Xcm<()>
    ) -> Result;
}
Expand description

Utility for sending an XCM message.

These can be amalgamated in tuples to form sophisticated routing systems. In tuple format, each router might return CannotReachDestination to pass the execution to the next sender item. Note that each CannotReachDestination might alter the destination and the XCM message for to the next router.

Example


/// A sender that only passes the message through and does nothing.
struct Sender1;
impl SendXcm for Sender1 {
    fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result {
        return Err(Error::CannotReachDestination(destination.into(), message))
    }
}

/// A sender that accepts a message that has an X2 junction, otherwise stops the routing.
struct Sender2;
impl SendXcm for Sender2 {
    fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result {
        let destination = destination.into();
        if matches!(destination.interior(), Junctions::X2(j1, j2))
            && destination.parent_count() == 0
        {
            Ok(())
        } else {
            Err(Error::Undefined)
        }
    }
}

/// A sender that accepts a message from an X1 parent junction, passing through otherwise.
struct Sender3;
impl SendXcm for Sender3 {
    fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result {
        let destination = destination.into();
        if matches!(destination.interior(), Junctions::Here)
            && destination.parent_count() == 1
        {
            Ok(())
        } else {
            Err(Error::CannotReachDestination(destination, message))
        }
    }
}

// A call to send via XCM. We don't really care about this.
let call: Vec<u8> = ().encode();
let message = Xcm::Transact { origin_type: OriginKind::Superuser, require_weight_at_most: 0, call: call.into() };

assert!(
    // Sender2 will block this.
    <(Sender1, Sender2, Sender3) as SendXcm>::send_xcm(Parent, message.clone())
        .is_err()
);

assert!(
    // Sender3 will catch this.
    <(Sender1, Sender3) as SendXcm>::send_xcm(Parent, message.clone())
        .is_ok()
);

Required Methods§

source

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

Send an XCM message to a given destination.

If it is not a destination which can be reached with this type but possibly could by others, then it MUST return CannotReachDestination. Any other error will cause the tuple implementation to exit early without trying other type fields.

Implementations on Foreign Types§

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm, TupleElement22: SendXcm, TupleElement23: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm, TupleElement22: SendXcm, TupleElement23: SendXcm, TupleElement24: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl SendXcm for ()

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

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

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm, TupleElement22: SendXcm, TupleElement23: SendXcm, TupleElement24: SendXcm, TupleElement25: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm, TupleElement22: SendXcm, TupleElement23: SendXcm, TupleElement24: SendXcm, TupleElement25: SendXcm, TupleElement26: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

impl<TupleElement0: SendXcm, TupleElement1: SendXcm, TupleElement2: SendXcm, TupleElement3: SendXcm, TupleElement4: SendXcm, TupleElement5: SendXcm, TupleElement6: SendXcm, TupleElement7: SendXcm, TupleElement8: SendXcm, TupleElement9: SendXcm, TupleElement10: SendXcm, TupleElement11: SendXcm, TupleElement12: SendXcm, TupleElement13: SendXcm, TupleElement14: SendXcm, TupleElement15: SendXcm, TupleElement16: SendXcm, TupleElement17: SendXcm, TupleElement18: SendXcm, TupleElement19: SendXcm, TupleElement20: SendXcm, TupleElement21: SendXcm, TupleElement22: SendXcm> SendXcm 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 send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

source§

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

source§

fn send_xcm(destination: impl Into<MultiLocation>, message: Xcm<()>) -> Result

Implementors§