pub fn approve_as_multi<T: Config>(
threshold: u16,
other_signatories: Vec<T::AccountId>,
maybe_timepoint: Option<Timepoint<BlockNumberFor<T>>>,
call_hash: [u8; 32],
max_weight: Weight,
)Expand description
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 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_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)whereSis the number of signatories.Sis capped byMaxSignatories, 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 mutateO(S). Up to one remove. - One event.
- Storage: inserts one item, value size bounded by
MaxSignatories, with a deposit taken for its lifetime ofDepositBase + threshold * DepositFactor.
§Warning: Doc-Only
This function is an automatically generated, and is doc-only, uncallable
stub. See the real version in
Pallet::approve_as_multi.