sp_runtime::traits

Trait Extrinsic

Source
pub trait Extrinsic: Sized {
    type Call: TypeInfo;
    type SignaturePayload: SignaturePayload;

    // Provided methods
    fn is_signed(&self) -> Option<bool> { ... }
    fn new(
        _call: Self::Call,
        _signed_data: Option<Self::SignaturePayload>,
    ) -> Option<Self> { ... }
}
Expand description

Something that acts like an Extrinsic.

Required Associated Types§

Source

type Call: TypeInfo

The function call.

Source

type SignaturePayload: SignaturePayload

The payload we carry for signed extrinsics.

Usually it will contain a Signature and may include some additional data that are specific to signed extrinsics.

Provided Methods§

Source

fn is_signed(&self) -> Option<bool>

Is this Extrinsic signed? If no information are available about signed/unsigned, None should be returned.

Source

fn new( _call: Self::Call, _signed_data: Option<Self::SignaturePayload>, ) -> Option<Self>

Create new instance of the extrinsic.

Extrinsics can be split into:

  1. Inherents (no signature; created by validators during block production)
  2. Unsigned Transactions (no signature; represent “system calls” or other special kinds of calls) 3. Signed Transactions (with signature; a regular transactions with known origin)

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.

Implementors§