Skip to content

MultisigConfig

Native multisig account utilities (TIP-1061).

Derives stable multisig account addresses and permanent config IDs from a weighted owner configuration, and computes the owner approval digest that owners sign.

TIP-1061

Examples

import { MultisigConfig } from 'ox/tempo'
 
const config = MultisigConfig.from({
  threshold: 2,
  owners: [
    { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
    { owner: '0x2222222222222222222222222222222222222222', weight: 1 },
  ],
})
 
const account = MultisigConfig.getAddress({ config })

Functions

NameDescription
MultisigConfig.assertAsserts that a native multisig MultisigConfig.Config is valid.
MultisigConfig.fromNormalizes a native multisig MultisigConfig.Config.
MultisigConfig.fromTupleConverts an RLP MultisigConfig.Tuple back to a MultisigConfig.Config.
MultisigConfig.getAddressDerives the stable native multisig account address.
MultisigConfig.getSignPayloadComputes the digest a native multisig owner approves (signs).
MultisigConfig.toIdDerives the permanent config ID for a native multisig MultisigConfig.Config.
MultisigConfig.toTupleConverts a MultisigConfig.Config to its RLP tuple form (carried by the multisig signature init).
MultisigConfig.validateValidates a native multisig MultisigConfig.Config. Returns true if valid, false otherwise.

Errors

NameDescription
MultisigConfig.InvalidConfigErrorThrown when a native multisig config is invalid.

Types

NameDescription
MultisigConfig.ConfigNative multisig configuration. Determines the permanent config ID and the stable multisig account address.
MultisigConfig.OwnerNative multisig owner entry.
MultisigConfig.TupleRLP tuple representation of a MultisigConfig.Config.