referrerpolicy=no-referrer-when-downgrade
bp_rococo

Type Alias TransactionExtension

pub type TransactionExtension = GenericTransactionExtension<((GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Era, <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Compact<u32>, ()>, GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<Compact<u128>, ()>), ())>;
Expand description

Signed extension that is used by most chains.

Aliased Type§

struct TransactionExtension {
    pub payload: (((), (), (), (), Era, Compact<u32>, (), Compact<u128>), ()),
    /* private fields */
}

Fields§

§payload: (((), (), (), (), Era, Compact<u32>, (), Compact<u128>), ())

A payload that is included in the transaction.

Implementations

§

impl<S> GenericTransactionExtension<S>
where S: TransactionExtensionSchema,

pub fn new( payload: <S as TransactionExtensionSchema>::Payload, implicit: Option<<S as TransactionExtensionSchema>::Implicit>, ) -> GenericTransactionExtension<S>

Create new GenericTransactionExtension object.

Trait Implementations

§

impl<S> Clone for GenericTransactionExtension<S>
where S: Clone + TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Clone, <S as TransactionExtensionSchema>::Implicit: Clone,

§

fn clone(&self) -> GenericTransactionExtension<S>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<S> Debug for GenericTransactionExtension<S>
where S: Debug + TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Debug, <S as TransactionExtensionSchema>::Implicit: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<S> Decode for GenericTransactionExtension<S>
where S: TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Decode, Option<<S as TransactionExtensionSchema>::Implicit>: Default,

§

fn decode<__CodecInputEdqy>( __codec_input_edqy: &mut __CodecInputEdqy, ) -> Result<GenericTransactionExtension<S>, Error>
where __CodecInputEdqy: Input,

Attempt to deserialise the value from 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
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
§

impl<S> Encode for GenericTransactionExtension<S>
where S: TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Encode,

§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
§

fn encode_to<__CodecOutputEdqy>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy, )
where __CodecOutputEdqy: Output + ?Sized,

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<__CodecOutputReturn, __CodecUsingEncodedCallback>( &self, f: __CodecUsingEncodedCallback, ) -> __CodecOutputReturn
where __CodecUsingEncodedCallback: FnOnce(&[u8]) -> __CodecOutputReturn,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
§

impl<S> PartialEq for GenericTransactionExtension<S>
where S: PartialEq + TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: PartialEq, <S as TransactionExtensionSchema>::Implicit: PartialEq,

§

fn eq(&self, other: &GenericTransactionExtension<S>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<Suffix> SuffixedCommonTransactionExtensionExt<Suffix> for GenericTransactionExtension<((GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Era, <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Compact<u32>, ()>, GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<Compact<u128>, ()>), Suffix)>
where Suffix: TransactionExtensionSchema,

§

fn from_params( spec_version: u32, transaction_version: u32, era: TransactionEra<u32, <BlakeTwo256 as Hasher>::Out>, genesis_hash: <BlakeTwo256 as Hasher>::Out, nonce: u32, tip: u128, extra: (<Suffix as TransactionExtensionSchema>::Payload, <Suffix as TransactionExtensionSchema>::Implicit), ) -> GenericTransactionExtension<((GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), u32>, GenericTransactionExtensionSchema<(), <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Era, <BlakeTwo256 as Hasher>::Out>, GenericTransactionExtensionSchema<Compact<u32>, ()>, GenericTransactionExtensionSchema<(), ()>, GenericTransactionExtensionSchema<Compact<u128>, ()>), Suffix)>

Create signed extension from its components.
§

fn nonce(&self) -> u32

Return transaction nonce.
§

fn tip(&self) -> u128

Return transaction tip.
§

impl<S, C> TransactionExtension<C> for GenericTransactionExtension<S>
where C: Dispatchable, S: TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: DecodeWithMemTracking + Send + Sync, <S as TransactionExtensionSchema>::Implicit: Send + Sync,

§

const IDENTIFIER: &'static str = "Not needed."

Unique identifier of this signed extension. Read more
§

type Implicit = <S as TransactionExtensionSchema>::Implicit

Any additional data which was known at the time of transaction construction and can be useful in authenticating the transaction. This is determined dynamically in part from the on-chain environment using the implicit function and not directly contained in the transaction itself and therefore is considered “implicit”.
§

type Pre = ()

The type that encodes information that can be passed from prepare to post_dispatch.
§

type Val = ()

The type that encodes information that can be passed from validate to prepare.
§

fn implicit( &self, ) -> Result<<GenericTransactionExtension<S> as TransactionExtension<C>>::Implicit, TransactionValidityError>

Determine any additional data which was known at the time of transaction construction and can be useful in authenticating the transaction. The expected usage of this is to include in any data which is signed and verified as part of transaction validation. Also perform any pre-signature-verification checks and return an error if needed.
§

fn weight(&self, _call: &C) -> Weight

The weight consumed by executing this extension instance fully during transaction dispatch.
§

fn validate( &self, origin: <C as Dispatchable>::RuntimeOrigin, _call: &C, _info: &<C as Dispatchable>::Info, _len: usize, _self_implicit: <GenericTransactionExtension<S> as TransactionExtension<C>>::Implicit, _inherited_implication: &impl Encode, _source: TransactionSource, ) -> Result<(ValidTransaction, <GenericTransactionExtension<S> as TransactionExtension<C>>::Val, <C as Dispatchable>::RuntimeOrigin), TransactionValidityError>

Validate a transaction for the transaction queue. Read more
§

fn prepare( self, _val: <GenericTransactionExtension<S> as TransactionExtension<C>>::Val, _origin: &<C as Dispatchable>::RuntimeOrigin, _call: &C, _info: &<C as Dispatchable>::Info, _len: usize, ) -> Result<<GenericTransactionExtension<S> as TransactionExtension<C>>::Pre, TransactionValidityError>

Do any pre-flight stuff for a transaction after validation. Read more
§

fn metadata() -> Vec<TransactionExtensionMetadata>

Returns the metadata for this extension. Read more
§

fn post_dispatch_details( _pre: Self::Pre, _info: &<Call as Dispatchable>::Info, _post_info: &<Call as Dispatchable>::PostInfo, _len: usize, _result: &Result<(), DispatchError>, ) -> Result<Weight, TransactionValidityError>

Do any post-flight stuff for an extrinsic. Read more
§

fn post_dispatch( pre: Self::Pre, info: &<Call as Dispatchable>::Info, post_info: &mut <Call as Dispatchable>::PostInfo, len: usize, result: &Result<(), DispatchError>, ) -> Result<(), TransactionValidityError>

A wrapper for post_dispatch_details that refunds the unspent weight consumed by this extension into the post dispatch information. Read more
§

fn bare_validate( _call: &Call, _info: &<Call as Dispatchable>::Info, _len: usize, ) -> Result<ValidTransaction, TransactionValidityError>

Validation logic for bare extrinsics. Read more
§

fn bare_validate_and_prepare( _call: &Call, _info: &<Call as Dispatchable>::Info, _len: usize, ) -> Result<(), TransactionValidityError>

All pre-flight logic run before dispatching bare extrinsics. Read more
§

fn bare_post_dispatch( _info: &<Call as Dispatchable>::Info, _post_info: &mut <Call as Dispatchable>::PostInfo, _len: usize, _result: &Result<(), DispatchError>, ) -> Result<(), TransactionValidityError>

Post dispatch logic run after dispatching bare extrinsics. Read more
§

impl<S> TypeInfo for GenericTransactionExtension<S>
where S: TransactionExtensionSchema + TypeInfo + 'static, <S as TransactionExtensionSchema>::Payload: TypeInfo + 'static, Option<<S as TransactionExtensionSchema>::Implicit>: TypeInfo + 'static,

§

type Identity = GenericTransactionExtension<S>

The type identifying for which type info is provided. Read more
§

fn type_info() -> Type

Returns the static type identifier for Self.
§

impl<S> DecodeWithMemTracking for GenericTransactionExtension<S>
where S: TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: DecodeWithMemTracking, Option<<S as TransactionExtensionSchema>::Implicit>: Default,

§

impl<S> EncodeLike for GenericTransactionExtension<S>
where S: TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Encode,

§

impl<S> Eq for GenericTransactionExtension<S>
where S: Eq + TransactionExtensionSchema, <S as TransactionExtensionSchema>::Payload: Eq, <S as TransactionExtensionSchema>::Implicit: Eq,

§

impl<S> StructuralPartialEq for GenericTransactionExtension<S>
where S: TransactionExtensionSchema,