Skip to content

MultisigConfig.toId

Derives the permanent config ID for a native multisig MultisigConfig.Config.

Preimage (fixed-width big-endian, not RLP): keccak256("tempo:multisig:config" || salt || be_u32(threshold) || be_u32(owners.length) || (owner || be_u32(weight)) for each owner).

Imports

Named
import { MultisigConfig } from 'ox/tempo'

Examples

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

Definition

function toId(
  config: Config,
): Hex.Hex

Source: src/tempo/MultisigConfig.ts

Parameters

config

The multisig config.

config.owners

  • Type: readonly Owner[]

Weighted owner list (strictly ascending by owner address).

config.salt

  • Type: 0x${string}
  • Optional

Caller-chosen 32-byte salt mixed into the permanent config ID. Defaults to the zero salt (MultisigConfig.zeroSalt) when omitted.

config.threshold

  • Type: numberType

Minimum total owner weight required to authorize a transaction.

Return Type

The 32-byte config ID.

Hex.Hex