Trait frame_system::offchain::CreateSignedTransaction

source ·
pub trait CreateSignedTransaction<LocalCall>: SendTransactionTypes<LocalCall> + SigningTypes {
    // Required method
    fn create_transaction<C: AppCrypto<Self::Public, Self::Signature>>(
        call: Self::OverarchingCall,
        public: Self::Public,
        account: Self::AccountId,
        nonce: Self::Nonce,
    ) -> Option<(Self::OverarchingCall, <Self::Extrinsic as ExtrinsicT>::SignaturePayload)>;
}
Expand description

Create signed transaction.

This trait is meant to be implemented by the runtime and is responsible for constructing a payload to be signed and contained within the extrinsic. This will most likely include creation of SignedExtra (a set of SignedExtensions). Note that the result can be altered by inspecting the Call (for instance adjusting fees, or mortality depending on the pallet being called).

Required Methods§

source

fn create_transaction<C: AppCrypto<Self::Public, Self::Signature>>( call: Self::OverarchingCall, public: Self::Public, account: Self::AccountId, nonce: Self::Nonce, ) -> Option<(Self::OverarchingCall, <Self::Extrinsic as ExtrinsicT>::SignaturePayload)>

Attempt to create signed extrinsic data that encodes call from given account.

Runtime implementation is free to construct the payload to sign and the signature in any way it wants. Returns None if signed extrinsic could not be created (either because signing failed or because of any other runtime-specific reason).

Object Safety§

This trait is not object safe.

Implementors§