Struct frame_system::CheckNonce
source · [−]pub struct CheckNonce<T: Config>(_);
Expand description
Nonce check and increment to give replay protection for transactions.
Note that this does not set any priority by default. Make sure that AT LEAST one of the signed extension sets some kind of priority upon validating transactions.
Implementations
sourceimpl<T: Config> CheckNonce<T>
impl<T: Config> CheckNonce<T>
Trait Implementations
sourceimpl<T: Clone + Config> Clone for CheckNonce<T> where
T::Index: Clone,
impl<T: Clone + Config> Clone for CheckNonce<T> where
T::Index: Clone,
sourcefn clone(&self) -> CheckNonce<T>
fn clone(&self) -> CheckNonce<T>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<T: Config> Debug for CheckNonce<T>
impl<T: Config> Debug for CheckNonce<T>
sourceimpl<T: Config> Decode for CheckNonce<T> where
T::Index: HasCompact,
impl<T: Config> Decode for CheckNonce<T> where
T::Index: HasCompact,
sourcefn 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.
sourcefn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
Attempt to skip the encoded value from input. Read more
sourcefn encoded_fixed_size() -> Option<usize>
fn encoded_fixed_size() -> Option<usize>
Returns the fixed encoded size of the type. Read more
sourceimpl<T: Config> Encode for CheckNonce<T> where
T::Index: HasCompact,
impl<T: Config> Encode for CheckNonce<T> where
T::Index: HasCompact,
sourcefn 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.
sourcefn encode(&self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
fn encode(&self) -> Vec<u8>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
Convert self to an owned vector.
sourcefn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
Convert self to a slice and then invoke the given closure with it.
sourcefn size_hint(&self) -> usize
fn size_hint(&self) -> usize
If possible give a hint of expected size of the encoding. Read more
sourcefn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
Calculates the encoded size. Read more
sourceimpl<T: PartialEq + Config> PartialEq<CheckNonce<T>> for CheckNonce<T> where
T::Index: PartialEq,
impl<T: PartialEq + Config> PartialEq<CheckNonce<T>> for CheckNonce<T> where
T::Index: PartialEq,
sourcefn eq(&self, other: &CheckNonce<T>) -> bool
fn eq(&self, other: &CheckNonce<T>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &CheckNonce<T>) -> bool
fn ne(&self, other: &CheckNonce<T>) -> bool
This method tests for !=
.
sourceimpl<T: Config> SignedExtension for CheckNonce<T> where
T::Call: Dispatchable<Info = DispatchInfo>,
impl<T: Config> SignedExtension for CheckNonce<T> where
T::Call: Dispatchable<Info = DispatchInfo>,
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. Read more
type Pre = ()
type Pre = ()
The type that encodes information that can be passed from pre_dispatch to post-dispatch.
sourceconst IDENTIFIER: &'static str
const IDENTIFIER: &'static str
Unique identifier of this signed extension. Read more
sourcefn 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. Read more
sourcefn pre_dispatch(
self,
who: &Self::AccountId,
_call: &Self::Call,
_info: &DispatchInfoOf<Self::Call>,
_len: usize
) -> Result<(), TransactionValidityError>
fn pre_dispatch(
self,
who: &Self::AccountId,
_call: &Self::Call,
_info: &DispatchInfoOf<Self::Call>,
_len: usize
) -> Result<(), TransactionValidityError>
Do any pre-flight stuff for a signed transaction. Read more
sourcefn 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
sourcefn 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
sourcefn pre_dispatch_unsigned(
call: &Self::Call,
info: &<Self::Call as Dispatchable>::Info,
len: usize
) -> Result<Self::Pre, TransactionValidityError>
fn pre_dispatch_unsigned(
call: &Self::Call,
info: &<Self::Call as Dispatchable>::Info,
len: usize
) -> Result<Self::Pre, TransactionValidityError>
Do any pre-flight stuff for a unsigned transaction. Read more
sourcefn post_dispatch(
_pre: 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: 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
impl<T: Config> EncodeLike<CheckNonce<T>> for CheckNonce<T> where
T::Index: HasCompact,
impl<T: Eq + Config> Eq for CheckNonce<T> where
T::Index: Eq,
impl<T: Config> StructuralEq for CheckNonce<T>
impl<T: Config> StructuralPartialEq for CheckNonce<T>
Auto Trait Implementations
impl<T> RefUnwindSafe for CheckNonce<T> where
<T as Config>::Index: RefUnwindSafe,
impl<T> Send for CheckNonce<T>
impl<T> Sync for CheckNonce<T>
impl<T> Unpin for CheckNonce<T> where
<T as Config>::Index: Unpin,
impl<T> UnwindSafe for CheckNonce<T> where
<T as Config>::Index: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> CheckedConversion for T
impl<T> CheckedConversion for T
sourcefn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>,
Convert from a value of T
into an equivalent instance of Option<Self>
. Read more
sourcefn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>,
Consume self to return Some
equivalent value of Option<T>
. Read more
sourceimpl<T> DecodeLimit for T where
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
sourceimpl<T> Hashable for T where
T: Codec,
impl<T> Hashable for T where
T: Codec,
pub fn blake2_128(&self) -> [u8; 16]
pub fn blake2_256(&self) -> [u8; 32]
pub fn blake2_128_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn twox_128(&self) -> [u8; 16]
pub fn twox_256(&self) -> [u8; 32]
pub fn twox_64_concat(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
pub fn identity(&self) -> Vec<u8, Global>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A> where
A: Allocator,
A: Allocator,
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for T where
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
sourceimpl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
sourcefn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>,
Convert from a value of T
into an equivalent instance of Self
. Read more
sourcefn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of T
. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more
sourceimpl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>,
sourcepub fn unchecked_into(self) -> T
pub fn unchecked_into(self) -> T
The counterpart to unchecked_from
.
sourceimpl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>,
sourcepub fn unique_saturated_into(self) -> T
pub fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of T
.