Skip to content

MultisigConfig.getCommitment

Computes the commitment for a native multisig configuration.

The commitment uses raw fixed-width fields, not RLP or ABI encoding: keccak256("tempo:multisig:config" || salt || uint64be(version) || uint8(threshold) || uint8(owners.length) || owners).

Imports

Named
import { MultisigConfig } from 'ox/tempo'

Examples

import { MultisigConfig } from 'ox/tempo'
 
const commitment = MultisigConfig.getCommitment({
  owners: [
    { owner: '0x1111111111111111111111111111111111111111', weight: 1 },
  ],
  threshold: 1,
  version: 1n,
})

Definition

function getCommitment(
  config: Input,
): Hex.Hex

Source: src/tempo/MultisigConfig.ts

Parameters

config

The complete multisig configuration.

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 derived account address. Defaults to the zero salt (MultisigConfig.zeroSalt) when omitted.

config.threshold

  • Type: numberType

Minimum total owner weight required to authorize a transaction.

config.version

  • Type: versionType
  • Optional

Configuration version as a safe integer or bigint. Defaults to 0n.

Return Type

The configuration commitment.

Hex.Hex