Struct frame_system::CheckGenesis
source · [−]Expand description
Genesis hash check to provide replay protection between different networks.
Transaction Validity
Note that while a transaction with invalid genesis_hash will fail to be decoded,
the extension does not affect any other fields of TransactionValidity directly.
Implementations
Trait Implementations
impl<T: Config + Send + Sync> Decode for CheckGenesis<T> where
PhantomData<T>: Decode,
PhantomData<T>: Decode,
impl<T: Config + Send + Sync> Decode for CheckGenesis<T> where
PhantomData<T>: Decode,
PhantomData<T>: Decode,
impl<T: Config + Send + Sync> Encode for CheckGenesis<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
impl<T: Config + Send + Sync> Encode for CheckGenesis<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
type AdditionalSigned = T::Hash
type AdditionalSigned = T::Hash
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
The type that encodes information that can be passed from pre_dispatch to post-dispatch.
Unique identifier of this signed extension. Read more
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
fn validate(
&self,
_who: &Self::AccountId,
_call: &Self::Call,
_info: &<Self::Call as Dispatchable>::Info,
_len: usize
) -> Result<ValidTransaction, TransactionValidityError>
fn validate(
&self,
_who: &Self::AccountId,
_call: &Self::Call,
_info: &<Self::Call as Dispatchable>::Info,
_len: usize
) -> Result<ValidTransaction, TransactionValidityError>
Validate a signed transaction for the transaction queue. Read more
fn pre_dispatch(
self,
who: &Self::AccountId,
call: &Self::Call,
info: &<Self::Call as Dispatchable>::Info,
len: usize
) -> Result<Self::Pre, TransactionValidityError>
fn pre_dispatch(
self,
who: &Self::AccountId,
call: &Self::Call,
info: &<Self::Call as Dispatchable>::Info,
len: usize
) -> Result<Self::Pre, TransactionValidityError>
Do any pre-flight stuff for a signed transaction. Read more
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
fn 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
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>
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 + Send + Sync> EncodeLike<CheckGenesis<T>> for CheckGenesis<T> where
PhantomData<T>: Encode,
PhantomData<T>: Encode,
Auto Trait Implementations
impl<T> RefUnwindSafe for CheckGenesis<T> where
T: RefUnwindSafe,
impl<T> Send for CheckGenesis<T>
impl<T> Sync for CheckGenesis<T>
impl<T> Unpin for CheckGenesis<T> where
T: Unpin,
impl<T> UnwindSafe for CheckGenesis<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘimpl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;
impl<W> Write for Box<W, Global> where
W: Write + ?Sized, impl<R> Read for Box<R, Global> where
R: Read + ?Sized, impl<I, A> Iterator for Box<I, A> where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;impl<F, A> Future for Box<F, A> where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
pub fn blake2_128_concat(&self) -> Vec<u8, Global>ⓘ
pub fn twox_64_concat(&self) -> Vec<u8, Global>ⓘ
The counterpart to unchecked_from.
Consume self to return an equivalent value of T.
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more