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)

Object Safety§

This trait is not object safe.

Implementors§