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)
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.