Struct pallet_example_basic::WatchDummy
source · pub struct WatchDummy<T: Config + Send + Sync>(/* private fields */);
Expand description
A simple signed extension that checks for the set_dummy
call. In that case, it increases the
priority and prints some log.
Additionally, it drops any transaction with an encoded length higher than 200 bytes. No particular reason why, just to demonstrate the power of signed extensions.
Trait Implementations§
source§impl<T: Clone + Config + Send + Sync> Clone for WatchDummy<T>
impl<T: Clone + Config + Send + Sync> Clone for WatchDummy<T>
source§fn clone(&self) -> WatchDummy<T>
fn clone(&self) -> WatchDummy<T>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<T: Config + Send + Sync> Decode for WatchDummy<T>where
PhantomData<T>: Decode,
impl<T: Config + Send + Sync> Decode for WatchDummy<T>where
PhantomData<T>: Decode,
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<T: Config + Send + Sync> Encode for WatchDummy<T>where
PhantomData<T>: Encode,
impl<T: Config + Send + Sync> Encode for WatchDummy<T>where
PhantomData<T>: Encode,
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<T: PartialEq + Config + Send + Sync> PartialEq for WatchDummy<T>
impl<T: PartialEq + Config + Send + Sync> PartialEq for WatchDummy<T>
source§fn eq(&self, other: &WatchDummy<T>) -> bool
fn eq(&self, other: &WatchDummy<T>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl<T: Config + Send + Sync> SignedExtension for WatchDummy<T>
impl<T: Config + Send + Sync> SignedExtension for WatchDummy<T>
source§const IDENTIFIER: &'static str = "WatchDummy"
const IDENTIFIER: &'static str = "WatchDummy"
Unique identifier of this signed extension. Read more
§type Call = <T as Config>::RuntimeCall
type Call = <T as Config>::RuntimeCall
The type which encodes the call to be dispatched.
§type AdditionalSigned = ()
type AdditionalSigned = ()
Any additional data that will go into the signed payload. This may be created dynamically
from the transaction using the
additional_signed
function.§type Pre = ()
type Pre = ()
The type that encodes information that can be passed from pre_dispatch to post-dispatch.
source§fn additional_signed(&self) -> Result<(), TransactionValidityError>
fn additional_signed(&self) -> Result<(), TransactionValidityError>
Construct any additional data that should be in the signed payload of the transaction. Can
also perform any pre-signature-verification checks and return an error if needed.
source§fn pre_dispatch(
self,
who: &Self::AccountId,
call: &Self::Call,
info: &DispatchInfoOf<Self::Call>,
len: usize,
) -> Result<Self::Pre, TransactionValidityError>
fn pre_dispatch( self, who: &Self::AccountId, call: &Self::Call, info: &DispatchInfoOf<Self::Call>, len: usize, ) -> Result<Self::Pre, TransactionValidityError>
Do any pre-flight stuff for a signed transaction. Read more
source§fn validate(
&self,
_who: &Self::AccountId,
call: &Self::Call,
_info: &DispatchInfoOf<Self::Call>,
len: usize,
) -> TransactionValidity
fn validate( &self, _who: &Self::AccountId, call: &Self::Call, _info: &DispatchInfoOf<Self::Call>, len: usize, ) -> TransactionValidity
Validate a signed transaction for the transaction queue. Read more
source§fn validate_unsigned(
_call: &Self::Call,
_info: &<Self::Call as Dispatchable>::Info,
_len: usize,
) -> Result<ValidTransaction, TransactionValidityError>
fn validate_unsigned( _call: &Self::Call, _info: &<Self::Call as Dispatchable>::Info, _len: usize, ) -> Result<ValidTransaction, TransactionValidityError>
Validate an unsigned transaction for the transaction queue. Read more
source§fn pre_dispatch_unsigned(
call: &Self::Call,
info: &<Self::Call as Dispatchable>::Info,
len: usize,
) -> Result<(), TransactionValidityError>
fn pre_dispatch_unsigned( call: &Self::Call, info: &<Self::Call as Dispatchable>::Info, len: usize, ) -> Result<(), TransactionValidityError>
Do any pre-flight stuff for a unsigned transaction. Read more
source§fn post_dispatch(
_pre: Option<Self::Pre>,
_info: &<Self::Call as Dispatchable>::Info,
_post_info: &<Self::Call as Dispatchable>::PostInfo,
_len: usize,
_result: &Result<(), DispatchError>,
) -> Result<(), TransactionValidityError>
fn post_dispatch( _pre: Option<Self::Pre>, _info: &<Self::Call as Dispatchable>::Info, _post_info: &<Self::Call as Dispatchable>::PostInfo, _len: usize, _result: &Result<(), DispatchError>, ) -> Result<(), TransactionValidityError>
Do any post-flight stuff for an extrinsic. Read more
source§impl<T> TypeInfo for WatchDummy<T>
impl<T> TypeInfo for WatchDummy<T>
impl<T: Config + Send + Sync> EncodeLike for WatchDummy<T>where
PhantomData<T>: Encode,
impl<T: Eq + Config + Send + Sync> Eq for WatchDummy<T>
impl<T: Config + Send + Sync> StructuralPartialEq for WatchDummy<T>
Auto Trait Implementations§
impl<T> Freeze for WatchDummy<T>
impl<T> RefUnwindSafe for WatchDummy<T>where
T: RefUnwindSafe,
impl<T> Send for WatchDummy<T>
impl<T> Sync for WatchDummy<T>
impl<T> Unpin for WatchDummy<T>where
T: Unpin,
impl<T> UnwindSafe for WatchDummy<T>where
T: 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> 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> 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
.