Struct staging_xcm_builder::WithUniqueTopic
source · pub struct WithUniqueTopic<Inner>(/* private fields */);Expand description
Wrapper router which, if the message does not already end with a SetTopic instruction,
appends one to the message filled with a universally unique ID. This ID is returned from a
successful deliver.
If the message does already end with a SetTopic instruction, then it is the responsibility
of the code author to ensure that the ID supplied to SetTopic is universally unique. Due to
this property, consumers of the topic ID must be aware that a user-supplied ID may not be
unique.
This is designed to be at the top-level of any routers, since it will always mutate the
passed message reference into a None. Don’t try to combine it within a tuple except as the
last element.
Trait Implementations§
source§impl<Inner: SendXcm> SendXcm for WithUniqueTopic<Inner>
impl<Inner: SendXcm> SendXcm for WithUniqueTopic<Inner>
§type Ticket = (<Inner as SendXcm>::Ticket, [u8; 32])
type Ticket = (<Inner as SendXcm>::Ticket, [u8; 32])
Intermediate value which connects the two phases of the send operation.
source§fn validate(
destination: &mut Option<Location>,
message: &mut Option<Xcm<()>>
) -> SendResult<Self::Ticket>
fn validate( destination: &mut Option<Location>, message: &mut Option<Xcm<()>> ) -> SendResult<Self::Ticket>
Check whether the given
_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<Inner> Freeze for WithUniqueTopic<Inner>
impl<Inner> RefUnwindSafe for WithUniqueTopic<Inner>where
Inner: RefUnwindSafe,
impl<Inner> Send for WithUniqueTopic<Inner>where
Inner: Send,
impl<Inner> Sync for WithUniqueTopic<Inner>where
Inner: Sync,
impl<Inner> Unpin for WithUniqueTopic<Inner>where
Inner: Unpin,
impl<Inner> UnwindSafe for WithUniqueTopic<Inner>where
Inner: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
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, 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>,
Consume self to return an equivalent value of
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
The counterpart to
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
Consume self to return an equivalent value of
T.