cancel_as_multi
Call v123 → v148, v149 → current #3Cancel a pending multisig operation and reclaim the deposit.
View calls on chainCall Workflow
This diagram shows the call execution flow: starting with cancel_as_multi, passing through validation
(signature, nonce, mortality, fee payment), then pre-dispatch checks, followed by dispatch which emits events: MultisigCancelled and modifies storage: Multisigs, and finally post-dispatch where ExtrinsicSuccess is emitted and fees are settled.
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.
Click items to navigate. Pan and zoom to explore.
Used by: developerswalletsvalidators
The Big Picture
cancel_as_multi lets the original depositor pull the plug, recover their deposit, and clean up the on-chain state when a multisig operation needs to be aborted.
Use Cases
- Abort a mistaken multisig operation
- Cancel an operation that's no longer needed
- Reclaim deposit when signatories become unavailable
From Chain Metadata
See [`Pallet::cancel_as_multi`].
Input Parameters
| # | Name | Type | Description |
|---|---|---|---|
| 0 | threshold | u16 | Number of approvals required |
| 1 | other_signatories | Vec<AccountId> Vec | List of other signatory accounts (sorted, excludes caller) |
| 2 | timepoint | Timepoint Timepoint<BlockNumberFor<T>> | Timepoint when the multisig was created |
| 3 | call_hash | [u8; 32] [32] | Blake2-256 hash of the call to cancel |
Permissions
Origin
Unknown
Required Role
Permission data inferred from metadata. May be incomplete.
Requirements
- Caller is the original depositor (first approver)
- Multisig operation exists and is pending
- Timepoint matches the operation to cancel
Effects
Events Emitted
Storage Modified
Postconditions
- Multisig operation removed from storage
- Deposit returned to the original depositor
Side Effects
- All existing approvals are invalidated
- Emits MultisigCancelled event
Code Examples
// ----------------------------------------------------------------------
// HEADS UP: 1 arg below has a complex type with no usable default.
// Look for `undefined as any` and replace it with real value
// before running — the snippet compiles, but will fail at runtime as-is.
// ----------------------------------------------------------------------
import { createClient, Binary } from "polkadot-api";
import { getWsProvider } from "polkadot-api/ws";
import { sub } from "@polkadot-api/descriptors"; // generated by: npx papi add sub -w wss://entrypoint-finney.opentensor.ai:443
const client = createClient(getWsProvider("wss://entrypoint-finney.opentensor.ai:443"));
const api = client.getTypedApi(sub);
// Build cancel_as_multi call (typed, named args)
const threshold = 0;
const other_signatories = [] as [];
const timepoint = undefined as any /* Timepoint — replace with real value */;
const call_hash = "0x0000000000000000000000000000000000000000000000000000000000000000";
const tx = api.tx.Multisig.cancel_as_multi({
threshold,
other_signatories,
timepoint,
call_hash,
});Version History
v123 block 720,235 4 args
v149 block 3,014,339 4 args Current
Runtime Info
- Pallet Index
- 13
- Call Index
- 3
- First Version
- v123
- Current Version
- v411