Function did::pallet::dispatchables::submit_did_call
source · 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
.