referrerpolicy=no-referrer-when-downgrade
bp_runtime::extensions

Trait TransactionExtensionSchema

Source
pub trait TransactionExtensionSchema:
    Encode
    + Decode
    + DecodeWithMemTracking
    + Debug
    + Eq
    + Clone
    + StaticTypeInfo {
    type Payload: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo;
    type Implicit: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo;
}
Expand description

Trait that describes some properties of a TransactionExtension that are needed in order to send a transaction to the chain.

Required Associated Types§

Source

type Payload: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo

A type of the data encoded as part of the transaction.

Source

type Implicit: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo

Parameters which are part of the payload used to produce transaction signature, but don’t end up in the transaction itself (i.e. inherent part of the runtime).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TransactionExtensionSchema for ()

Source§

impl<TupleElement0: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0,)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema, TupleElement7: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload, <TupleElement7 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit, <TupleElement7 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema, TupleElement7: TransactionExtensionSchema, TupleElement8: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload, <TupleElement7 as TransactionExtensionSchema>::Payload, <TupleElement8 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit, <TupleElement7 as TransactionExtensionSchema>::Implicit, <TupleElement8 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema, TupleElement7: TransactionExtensionSchema, TupleElement8: TransactionExtensionSchema, TupleElement9: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload, <TupleElement7 as TransactionExtensionSchema>::Payload, <TupleElement8 as TransactionExtensionSchema>::Payload, <TupleElement9 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit, <TupleElement7 as TransactionExtensionSchema>::Implicit, <TupleElement8 as TransactionExtensionSchema>::Implicit, <TupleElement9 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema, TupleElement7: TransactionExtensionSchema, TupleElement8: TransactionExtensionSchema, TupleElement9: TransactionExtensionSchema, TupleElement10: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload, <TupleElement7 as TransactionExtensionSchema>::Payload, <TupleElement8 as TransactionExtensionSchema>::Payload, <TupleElement9 as TransactionExtensionSchema>::Payload, <TupleElement10 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit, <TupleElement7 as TransactionExtensionSchema>::Implicit, <TupleElement8 as TransactionExtensionSchema>::Implicit, <TupleElement9 as TransactionExtensionSchema>::Implicit, <TupleElement10 as TransactionExtensionSchema>::Implicit)

Source§

impl<TupleElement0: TransactionExtensionSchema, TupleElement1: TransactionExtensionSchema, TupleElement2: TransactionExtensionSchema, TupleElement3: TransactionExtensionSchema, TupleElement4: TransactionExtensionSchema, TupleElement5: TransactionExtensionSchema, TupleElement6: TransactionExtensionSchema, TupleElement7: TransactionExtensionSchema, TupleElement8: TransactionExtensionSchema, TupleElement9: TransactionExtensionSchema, TupleElement10: TransactionExtensionSchema, TupleElement11: TransactionExtensionSchema> TransactionExtensionSchema for (TupleElement0, TupleElement1, TupleElement2, TupleElement3, TupleElement4, TupleElement5, TupleElement6, TupleElement7, TupleElement8, TupleElement9, TupleElement10, TupleElement11)

Source§

type Payload = (<TupleElement0 as TransactionExtensionSchema>::Payload, <TupleElement1 as TransactionExtensionSchema>::Payload, <TupleElement2 as TransactionExtensionSchema>::Payload, <TupleElement3 as TransactionExtensionSchema>::Payload, <TupleElement4 as TransactionExtensionSchema>::Payload, <TupleElement5 as TransactionExtensionSchema>::Payload, <TupleElement6 as TransactionExtensionSchema>::Payload, <TupleElement7 as TransactionExtensionSchema>::Payload, <TupleElement8 as TransactionExtensionSchema>::Payload, <TupleElement9 as TransactionExtensionSchema>::Payload, <TupleElement10 as TransactionExtensionSchema>::Payload, <TupleElement11 as TransactionExtensionSchema>::Payload)

Source§

type Implicit = (<TupleElement0 as TransactionExtensionSchema>::Implicit, <TupleElement1 as TransactionExtensionSchema>::Implicit, <TupleElement2 as TransactionExtensionSchema>::Implicit, <TupleElement3 as TransactionExtensionSchema>::Implicit, <TupleElement4 as TransactionExtensionSchema>::Implicit, <TupleElement5 as TransactionExtensionSchema>::Implicit, <TupleElement6 as TransactionExtensionSchema>::Implicit, <TupleElement7 as TransactionExtensionSchema>::Implicit, <TupleElement8 as TransactionExtensionSchema>::Implicit, <TupleElement9 as TransactionExtensionSchema>::Implicit, <TupleElement10 as TransactionExtensionSchema>::Implicit, <TupleElement11 as TransactionExtensionSchema>::Implicit)

Implementors§

Source§

impl<P, S> TransactionExtensionSchema for GenericTransactionExtensionSchema<P, S>
where P: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo, S: Encode + Decode + Debug + Eq + Clone + StaticTypeInfo,