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§
sourcetype SignaturePayload: SignaturePayload
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§
sourcefn is_signed(&self) -> Option<bool>
fn is_signed(&self) -> Option<bool>
Is this Extrinsic
signed?
If no information are available about signed/unsigned, None
should be returned.
sourcefn new(
_call: Self::Call,
_signed_data: Option<Self::SignaturePayload>,
) -> Option<Self>
fn new( _call: Self::Call, _signed_data: Option<Self::SignaturePayload>, ) -> Option<Self>
Create new instance of the extrinsic.
Extrinsics can be split into:
- Inherents (no signature; created by validators during block production)
- 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.