pub fn submit_did_call<T: Config>(
    did_call: Box<DidAuthorizedCallOperation<DidIdentifierOf<T>, DidCallableOf<T>, BlockNumberFor<T>, AccountIdOf<T>, u64>>,
    signature: DidSignature
)
Expand description

Proxy a dispatchable call of another runtime extrinsic that supports a DID origin.

The referenced DID identifier must be present on chain before the operation is dispatched.

A call submitted through this extrinsic must be signed with the right DID key, depending on the call. This information is provided by the DidAuthorizedCallOperation parameter, which specifies the DID subject acting as the origin of the call, the DID’s tx counter (nonce), the dispatchable to call in case signature verification succeeds, the type of DID key to use to verify the operation signature, and the block number the operation was targeting for inclusion, when it was created and signed.

In case the signature is incorrect, the nonce is not valid, the required key is not present for the specified DID, or the block specified is too old the verification fails and the call is not dispatched. Otherwise, the call is properly dispatched with a DidOrigin origin indicating the DID subject.

A successful dispatch operation results in the tx counter associated with the given DID to be incremented, to mitigate replay attacks.

The dispatch origin can be any KILT account with enough funds to execute the extrinsic and it does not have to be tied in any way to the KILT account identifying the DID subject.

Emits DidCallDispatched.

Weight: O(1) + weight of the dispatched call

  • Reads: [Origin Account], Did
  • Writes: Did

Warning: Doc-Only

This function is an automatically generated, and is doc-only, uncallable stub. See the real version in Pallet::submit_did_call.