cancel_as_multi

Call v123 → v148, v149 → current #3

Cancel a pending multisig operation and reclaim the deposit.

View calls on chain

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

#NameTypeDescription
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