The Big Picture
Every pending multisig operation is stored here. Query this to see which operations are awaiting approvals, who has approved so far, and who deposited. Essential for building multisig wallet interfaces.
Why This Matters
Before approving or cancelling a multisig operation, you need to know its current state. This storage tells you everything about pending operations.
Example Scenario
Query Multisigs(multisig_account, call_hash) returns the Multisig struct with: when (timepoint of first approval), deposit (RAO reserved), depositor (who pays), and approvals (list of accounts that have approved so far).
Common Questions
- How do I find all pending operations for a multisig?
- Iterate Multisigs with the multisig account as the first key. Each entry is a different pending operation identified by its call hash.
- How do I calculate the multisig account address?
- It's derived deterministically from the signatory list. Use the Substrate multisig address derivation: blake2(b'modlpy/teleact' ++ signatories.len() ++ signatories)
Use Cases
- Check status of pending multisig operations
- List all pending operations for a multisig account
- Determine who has approved and who is still needed
- Build multisig management dashboards
From Chain Metadata
The set of open multisig operations.
Purpose & Usage
Purpose
Track pending multisig operations awaiting approvals.
Common Query Patterns
- Query by (multisig_account, call_hash) to check specific operation status
- Iterate all pending operations for a multisig account
- Check approvals and depositor for an operation
Query Keys
Stored Value
Multisig operation state (when created, deposit, depositor, approvals list)
Relationships
Code Examples
import { ApiPromise, WsProvider } from "@polkadot/api";
import { stringCamelCase } from "@polkadot/util";
const provider = new WsProvider("wss://entrypoint-finney.opentensor.ai:443");
const api = await ApiPromise.create({ provider });
// Query Multisigs storage
const key1 = "5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY";
const key2 = 0;
const result = await api.query
[stringCamelCase("Multisig")]
[stringCamelCase("Multisigs")](
key1,
key2
);
console.log("Multisigs:", result.toHuman());On-Chain Activity
<10K estimated writes
#52 most written storage item
Modified via user-submitted extrinsics
As of block 7,429,232
Runtime Info
- Pallet
- Multisig
- Storage Kind
- Map
- First Version
- v123
- Current Version
- v393