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