Register approval for a dispatch to be made from a deterministic composite account if
approved by a total of threshold - 1 of other_signatories.
This function will NEVER execute the call, even if the approval threshold is
reached. It only registers approval. To actually execute the call, as_multi must
be called with the full call data by any of the signatories.
This function is more efficient than as_multi for intermediate approvals since it
only requires the call hash, not the full call data.
Payment: DepositBase will be reserved if this is the first approval, plus
threshold times DepositFactor. It is returned once this dispatch happens or
is cancelled.
The dispatch origin for this call must be Signed.
threshold: The total number of approvals for this dispatch before it is executed.
other_signatories: The accounts (other than the sender) who can approve this
dispatch. May not be empty.
maybe_timepoint: If this is the first approval, then this must be None. If it is
not the first approval, then it must be Some, with the timepoint (block number and
transaction index) of the first approval transaction.
call_hash: The hash of the call to be executed.
NOTE: To execute the call after approvals are gathered, any signatory must call
as_multi with the full call data. This function cannot execute the call.
Complexity
O(S).
Up to one balance-reserve or unreserve operation.
One passthrough operation, one insert, both O(S) where S is the number of
signatories. S is capped by MaxSignatories, with weight being proportional.
One encode & hash, both of complexity O(S).
Up to one binary search and insert (O(logS + S)).
I/O: 1 read O(S), up to 1 mutate O(S). Up to one remove.
One event.
Storage: inserts one item, value size bounded by MaxSignatories, with a deposit
taken for its lifetime of DepositBase + threshold * DepositFactor.
Register approval for a dispatch to be made from a deterministic composite account if approved by a total of
threshold - 1ofother_signatories.This function will NEVER execute the call, even if the approval threshold is reached. It only registers approval. To actually execute the call,
as_multimust be called with the full call data by any of the signatories.This function is more efficient than
as_multifor intermediate approvals since it only requires the call hash, not the full call data.Payment:
DepositBasewill be reserved if this is the first approval, plusthresholdtimesDepositFactor. It is returned once this dispatch happens or is cancelled.The dispatch origin for this call must be Signed.
threshold: The total number of approvals for this dispatch before it is executed.other_signatories: The accounts (other than the sender) who can approve this dispatch. May not be empty.maybe_timepoint: If this is the first approval, then this must beNone. If it is not the first approval, then it must beSome, with the timepoint (block number and transaction index) of the first approval transaction.call_hash: The hash of the call to be executed.NOTE: To execute the call after approvals are gathered, any signatory must call
as_multiwith the full call data. This function cannot execute the call.Complexity
O(S).O(S)whereSis the number of signatories.Sis capped byMaxSignatories, with weight being proportional.O(S).O(logS + S)).O(S), up to 1 mutateO(S). Up to one remove.MaxSignatories, with a deposit taken for its lifetime ofDepositBase + threshold * DepositFactor.