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