referrerpolicy=no-referrer-when-downgrade
staging_xcm_executor::traits

Trait ConvertOrigin

Source
pub trait ConvertOrigin<Origin> {
    // Required method
    fn convert_origin(
        origin: impl Into<Location>,
        kind: OriginKind,
    ) -> Result<Origin, Location>;
}
Expand description

A converter trait for origin types.

Can be amalgamated into tuples. If any of the tuple elements returns Ok(_), it short circuits. Else, the Err(_) of the last tuple item is returned. Each intermediate Err(_) might return a different origin of type Origin which is passed to the next convert item.

// A convertor that will bump the para id and pass it to the next one.
struct BumpParaId;
impl ConvertOrigin<u32> for BumpParaId {
	fn convert_origin(origin: impl Into<Location>, _: OriginKind) -> Result<u32, Location> {
		match origin.into().unpack() {
			(0, [Junction::Parachain(id)]) => {
				Err([Junction::Parachain(id + 1)].into())
			}
			_ => unreachable!()
		}
	}
}

struct AcceptPara7;
impl ConvertOrigin<u32> for AcceptPara7 {
	fn convert_origin(origin: impl Into<Location>, _: OriginKind) -> Result<u32, Location> {
        let origin = origin.into();
		match origin.unpack() {
			(0, [Junction::Parachain(id)]) if *id == 7 => {
				Ok(7)
			}
			_ => Err(origin)
		}
	}
}
let origin: Location = [Junction::Parachain(6)].into();
assert!(
	<(BumpParaId, AcceptPara7) as ConvertOrigin<u32>>::convert_origin(origin, OriginKind::Native)
		.is_ok()
);

Required Methods§

Source

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<Origin, Location>

Attempt to convert origin to the generic Origin whilst consuming it.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<O> ConvertOrigin<O> for ()

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0,)

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1)

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>> ConvertOrigin<O> for (TupleElement0, TupleElement1, TupleElement2)

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

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

Source§

fn convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>, TupleElement28: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Source§

impl<O, TupleElement0: ConvertOrigin<O>, TupleElement1: ConvertOrigin<O>, TupleElement2: ConvertOrigin<O>, TupleElement3: ConvertOrigin<O>, TupleElement4: ConvertOrigin<O>, TupleElement5: ConvertOrigin<O>, TupleElement6: ConvertOrigin<O>, TupleElement7: ConvertOrigin<O>, TupleElement8: ConvertOrigin<O>, TupleElement9: ConvertOrigin<O>, TupleElement10: ConvertOrigin<O>, TupleElement11: ConvertOrigin<O>, TupleElement12: ConvertOrigin<O>, TupleElement13: ConvertOrigin<O>, TupleElement14: ConvertOrigin<O>, TupleElement15: ConvertOrigin<O>, TupleElement16: ConvertOrigin<O>, TupleElement17: ConvertOrigin<O>, TupleElement18: ConvertOrigin<O>, TupleElement19: ConvertOrigin<O>, TupleElement20: ConvertOrigin<O>, TupleElement21: ConvertOrigin<O>, TupleElement22: ConvertOrigin<O>, TupleElement23: ConvertOrigin<O>, TupleElement24: ConvertOrigin<O>, TupleElement25: ConvertOrigin<O>, TupleElement26: ConvertOrigin<O>, TupleElement27: ConvertOrigin<O>, TupleElement28: ConvertOrigin<O>, TupleElement29: ConvertOrigin<O>> ConvertOrigin<O> 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 convert_origin( origin: impl Into<Location>, kind: OriginKind, ) -> Result<O, Location>

Implementors§

impl<RuntimeOrigin: From<Origin>> ConvertOrigin<RuntimeOrigin> for XcmPassthrough<RuntimeOrigin>

impl<LocationConverter: ConvertLocation<RuntimeOrigin::AccountId>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for SovereignSignedViaLocation<LocationConverter, RuntimeOrigin>
where RuntimeOrigin::AccountId: Clone,

impl<Network: Get<Option<NetworkId>>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for SignedAccountId32AsNative<Network, RuntimeOrigin>
where RuntimeOrigin::AccountId: From<[u8; 32]>,

impl<Network: Get<Option<NetworkId>>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for SignedAccountKey20AsNative<Network, RuntimeOrigin>
where RuntimeOrigin::AccountId: From<[u8; 20]>,

impl<ParaId: IsSystem + From<u32>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for ChildSystemParachainAsSuperuser<ParaId, RuntimeOrigin>

impl<ParaId: IsSystem + From<u32>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for SiblingSystemParachainAsSuperuser<ParaId, RuntimeOrigin>

impl<ParachainOrigin: From<u32>, RuntimeOrigin: From<ParachainOrigin>> ConvertOrigin<RuntimeOrigin> for ChildParachainAsNative<ParachainOrigin, RuntimeOrigin>

impl<ParachainOrigin: From<u32>, RuntimeOrigin: From<ParachainOrigin>> ConvertOrigin<RuntimeOrigin> for SiblingParachainAsNative<ParachainOrigin, RuntimeOrigin>

impl<RelayOrigin: Get<RuntimeOrigin>, RuntimeOrigin> ConvertOrigin<RuntimeOrigin> for RelayChainAsNative<RelayOrigin, RuntimeOrigin>

impl<RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for ParentAsSuperuser<RuntimeOrigin>

impl<WhitelistedSuperuserLocations: Contains<Location>, RuntimeOrigin: OriginTrait> ConvertOrigin<RuntimeOrigin> for LocationAsSuperuser<WhitelistedSuperuserLocations, RuntimeOrigin>