pub struct RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>(/* private fields */);
Expand description
Transaction extension that refunds a relayer for standalone messages delivery and confirmation transactions. Finality transactions are not refunded.
Trait Implementations§
source§impl<Runtime, Msgs, Refund, Priority, Id> Clone for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Clone for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§impl<Runtime, Msgs, Refund, Priority, Id> Debug for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Debug for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§impl<Runtime, Msgs, Refund, Priority, Id> Decode for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Decode for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy,
) -> Result<Self, Error>
fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<Self, Error>
Attempt to deserialise the value from input.
source§fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
fn decode_into<I>(
input: &mut I,
dst: &mut MaybeUninit<Self>,
) -> Result<DecodeFinished, Error>where
I: Input,
Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
source§impl<Runtime, Msgs, Refund, Priority, Id> Default for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Default for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§impl<Runtime, Msgs, Refund, Priority, Id> Encode for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Encode for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy,
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
Convert self to a slice and append it to the destination.
source§fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>(
&self,
f: __CodecUsingEncodedCallback,
) -> __CodecOutputReturn
fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
Convert self to a slice and then invoke the given closure with it.
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
source§impl<Runtime, Msgs, Refund, Priority, Id> PartialEq for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> PartialEq for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
source§impl<Runtime, Msgs, Refund, Priority, Id> RefundSignedExtension for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
Self: 'static + Send + Sync,
Runtime: MessagesConfig<Msgs::Instance> + RelayersConfig,
Msgs: RefundableMessagesLaneId,
Refund: RefundCalculator<Balance = Runtime::Reward>,
Priority: Get<TransactionPriority>,
Id: StaticStrProvider,
<Runtime as Config>::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + MessagesCallSubType<Runtime, Msgs::Instance>,
impl<Runtime, Msgs, Refund, Priority, Id> RefundSignedExtension for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
Self: 'static + Send + Sync,
Runtime: MessagesConfig<Msgs::Instance> + RelayersConfig,
Msgs: RefundableMessagesLaneId,
Refund: RefundCalculator<Balance = Runtime::Reward>,
Priority: Get<TransactionPriority>,
Id: StaticStrProvider,
<Runtime as Config>::RuntimeCall: Dispatchable<Info = DispatchInfo, PostInfo = PostDispatchInfo> + MessagesCallSubType<Runtime, Msgs::Instance>,
source§fn expand_call(
call: &<Runtime as Config>::RuntimeCall,
) -> Vec<&<Runtime as Config>::RuntimeCall>
fn expand_call( call: &<Runtime as Config>::RuntimeCall, ) -> Vec<&<Runtime as Config>::RuntimeCall>
Unpack batch runtime call.
source§fn parse_and_check_for_obsolete_call(
call: &<Runtime as Config>::RuntimeCall,
) -> Result<Option<CallInfo>, TransactionValidityError>
fn parse_and_check_for_obsolete_call( call: &<Runtime as Config>::RuntimeCall, ) -> Result<Option<CallInfo>, TransactionValidityError>
Given runtime call, check if it has supported format. Additionally, check if any of
(optionally batched) calls are obsolete and we shall reject the transaction.
source§fn check_obsolete_parsed_call(
call: &<Runtime as Config>::RuntimeCall,
) -> Result<&<Runtime as Config>::RuntimeCall, TransactionValidityError>
fn check_obsolete_parsed_call( call: &<Runtime as Config>::RuntimeCall, ) -> Result<&<Runtime as Config>::RuntimeCall, TransactionValidityError>
Check if parsed call is already obsolete.
source§fn additional_call_result_check(
_relayer: &Runtime::AccountId,
_call_info: &CallInfo,
_extra_weight: &mut Weight,
_extra_size: &mut u32,
) -> bool
fn additional_call_result_check( _relayer: &Runtime::AccountId, _call_info: &CallInfo, _extra_weight: &mut Weight, _extra_size: &mut u32, ) -> bool
Called from post-dispatch and shall perform additional checks (apart from messages
transaction success) of given call result.
source§fn analyze_call_result(
pre: Option<Option<PreDispatchData<<Self::Runtime as Config>::AccountId>>>,
info: &DispatchInfo,
post_info: &PostDispatchInfo,
len: usize,
result: &DispatchResult,
) -> RelayerAccountAction<<Self::Runtime as Config>::AccountId, <Self::Runtime as RelayersConfig>::Reward>
fn analyze_call_result( pre: Option<Option<PreDispatchData<<Self::Runtime as Config>::AccountId>>>, info: &DispatchInfo, post_info: &PostDispatchInfo, len: usize, result: &DispatchResult, ) -> RelayerAccountAction<<Self::Runtime as Config>::AccountId, <Self::Runtime as RelayersConfig>::Reward>
Given post-dispatch information, analyze the outcome of relayer call and return
actions that need to be performed on relayer account.
source§fn bundled_messages_for_priority_boost(
call_info: Option<&CallInfo>,
) -> Option<MessageNonce>
fn bundled_messages_for_priority_boost( call_info: Option<&CallInfo>, ) -> Option<MessageNonce>
Returns number of bundled messages
Some(_)
, if the given call info is a: Read moresource§impl<Runtime, Msgs, Refund, Priority, Id> TypeInfo for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
PhantomData<(Runtime, Msgs, Refund, Priority, Id)>: TypeInfo + 'static,
Runtime: 'static,
Msgs: 'static,
Refund: 'static,
Priority: 'static,
Id: 'static,
impl<Runtime, Msgs, Refund, Priority, Id> TypeInfo for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
PhantomData<(Runtime, Msgs, Refund, Priority, Id)>: TypeInfo + 'static,
Runtime: 'static,
Msgs: 'static,
Refund: 'static,
Priority: 'static,
Id: 'static,
impl<Runtime, Msgs, Refund, Priority, Id> EncodeLike for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Eq for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
Auto Trait Implementations§
impl<Runtime, Msgs, Refund, Priority, Id> Freeze for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> RefUnwindSafe for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
Runtime: RefUnwindSafe,
Msgs: RefUnwindSafe,
Refund: RefUnwindSafe,
Priority: RefUnwindSafe,
Id: RefUnwindSafe,
impl<Runtime, Msgs, Refund, Priority, Id> Send for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Sync for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> Unpin for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>
impl<Runtime, Msgs, Refund, Priority, Id> UnwindSafe for RefundBridgedMessages<Runtime, Msgs, Refund, Priority, Id>where
Runtime: UnwindSafe,
Msgs: UnwindSafe,
Refund: UnwindSafe,
Priority: UnwindSafe,
Id: 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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.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>
Converts
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>
Converts
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<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.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> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.source§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
.