multisig
approveAsMulti(threshold: u16, other_signatories: Vec<AccountId32>, maybe_timepoint: Option<PalletMultisigTimepoint>, call_hash: [u8;32], max_weight: SpWeightsWeightV2Weight)
interface:
api.tx.multisig.approveAsMultisummary: Register approval for a dispatch to be made from a deterministic composite account if approved by a total of
threshold - 1ofother_signatories.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: If this is the final approval, you will want to use
as_multiinstead.Complexity: O(1).
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.
asMulti(threshold: u16, other_signatories: Vec<AccountId32>, maybe_timepoint: Option<PalletMultisigTimepoint>, call: Call, max_weight: SpWeightsWeightV2Weight)
interface:
api.tx.multisig.asMultisummary: Register approval for a dispatch to be made from a deterministic composite account if approved by a total of
threshold - 1ofother_signatories.If there are enough, then dispatch the call.
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: The call to be executed.
NOTE: Unless this is the final approval, you will generally want to use
approve_as_multiinstead, since it only requires a hash of the call.Result is equivalent to the dispatched result if
thresholdis exactly1. Otherwise on success, result isOkand the result from the interior call, if it was executed, may be found in the depositedMultisigExecutedevent.Complexity:
O(S + Z + Call).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 call encode & hash, both of complexity
O(Z)whereZis tx-len.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.
The weight of the
call.Storage: inserts one item, value size bounded by
MaxSignatories, with a deposit taken for its lifetime ofDepositBase + threshold * DepositFactor.
asMultiThreshold1(other_signatories: Vec<AccountId32>, call: Call)
interface:
api.tx.multisig.asMultiThreshold1summary: Immediately dispatch a multi-signature call using a single approval from the caller.
The dispatch origin for this call must be Signed.
other_signatories: The accounts (other than the sender) who are part of the multi-signature, but do not participate in the approval process.call: The call to be executed.
Result is equivalent to the dispatched result.
Complexity:
O(Z + C)where Z is the length of the call and C its execution weight.
cancelAsMulti(threshold: u16, other_signatories: Vec<AccountId32>, timepoint: PalletMultisigTimepoint, call_hash: [u8;32])
interface:
api.tx.multisig.cancelAsMultisummary: Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously for this operation will be unreserved on success.
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.timepoint: The timepoint (block number and transaction index) of the first approval transaction for this dispatch.call_hash: The hash of the call to be executed.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).One event.
I/O: 1 read
O(S), one remove.Storage: removes one item.
pokeDeposit(threshold: u16, other_signatories: Vec<AccountId32>, call_hash: [u8;32])
interface:
api.tx.multisig.pokeDepositsummary: Poke the deposit reserved for an existing multisig operation.
The dispatch origin for this call must be Signed and must be the original depositor of the multisig operation.
The transaction fee is waived if the deposit amount has changed.
threshold: The total number of approvals needed for this multisig.other_signatories: The accounts (other than the sender) who are part of the multisig.call_hash: The hash of the call this deposit is reserved for.
Emits
DepositPokedif successful.