pub struct SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>(/* private fields */);Expand description
Implementation of SendXcm which wraps the message inside an ExportMessage instruction
and sends it to a destination known to be able to handle it.
The ExportMessage instruction on the bridge is paid for from the local chain’s sovereign
account on the bridge. The amount paid is determined through the ExporterFor trait.
The XcmHash value returned by deliver will always be the same as that returned by the
message exporter (Bridges). Generally this should take notice of the message should it
end with the SetTopic instruction.
In the case that the message ends with a SetTopic(T) (as should be the case if the top-level
router is WithUniqueTopic), then the forwarding message (i.e. the one carrying the
export instruction to the bridge in local consensus) will also end with the same
SetTopic(T). If this is not the case, then the onward message will not be given the SetTopic
afterward.
Trait Implementations§
Source§impl<Bridges, Router, UniversalLocation> InspectMessageQueues for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> InspectMessageQueues for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
Source§fn get_messages() -> Vec<(VersionedLocation, Vec<VersionedXcm<()>>)>
fn get_messages() -> Vec<(VersionedLocation, Vec<VersionedXcm<()>>)>
This router needs to implement InspectMessageQueues but doesn’t have to
return any messages, since it just reuses the XcmpQueue router.
Source§fn clear_messages()
fn clear_messages()
Self::get_messages() will return only messages generated by said Runtime API.Source§impl<Bridges: ExporterFor, Router: SendXcm, UniversalLocation: Get<InteriorLocation>> SendXcm for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges: ExporterFor, Router: SendXcm, UniversalLocation: Get<InteriorLocation>> SendXcm for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
Source§type Ticket = <Router as SendXcm>::Ticket
type Ticket = <Router as SendXcm>::Ticket
Source§fn validate(
dest: &mut Option<Location>,
msg: &mut Option<Xcm<()>>,
) -> SendResult<Router::Ticket>
fn validate( dest: &mut Option<Location>, msg: &mut Option<Xcm<()>>, ) -> SendResult<Router::Ticket>
_message is deliverable to the given _destination and if so
determine the cost which will be paid by this chain to do so, returning a Validated token
which can be used to enact delivery. Read moreAuto Trait Implementations§
impl<Bridges, Router, UniversalLocation> Freeze for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> RefUnwindSafe for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> Send for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> Sync for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> Unpin for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
impl<Bridges, Router, UniversalLocation> UnwindSafe for SovereignPaidRemoteExporter<Bridges, Router, UniversalLocation>
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
Source§impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
impl<T, U> DefensiveTruncateInto<U> for Twhere
U: DefensiveTruncateFrom<T>,
Source§fn defensive_truncate_into(self) -> U
fn defensive_truncate_into(self) -> U
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
impl<Src, Dest> IntoTuple<Dest> for Srcwhere
Dest: FromTuple<Src>,
fn into_tuple(self) -> Dest
Source§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
Source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
Source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
Source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
T. Read moreSource§impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
impl<T, U> TryIntoKey<U> for Twhere
U: TryFromKey<T>,
type Error = <U as TryFromKey<T>>::Error
fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>
Source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
Source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from.Source§impl<T, S> UniqueSaturatedInto<T> for S
impl<T, S> UniqueSaturatedInto<T> for S
Source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T.