accounts.updateConfig
Replaces the current owners and threshold for a configurable account.
The transaction must be authorized by the current owner quorum. This direct action is useful when
the account retains enough local owners to sign. For distributed signing, include
accounts.updateConfig.call in a prepared request and collect approvals as shown in
Rotate Account Owners.
Usage
import { } from 'viem/tempo'
import { } from './viem.config'
const = .(
'0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'
)
const = .(
'0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d'
)
const = .(
'0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a'
)
const = .({
: 'infer',
: [, ],
: 2,
})
const = await ..({
,
: {
: [{ : ., : 1 }],
: 1,
},
})import { , } from 'viem/tempo'
export const = .({
: .('0x...'),
})Return Type
type ReturnType = HashThe transaction hash.
Parameters
currentConfig
- Type:
AccountConfig.Config | undefined
The account's complete current config. When omitted, the action uses the config on the account, then asks the configured account coordinator by account address.
Actions.accounts.updateConfig.call has no client and continues to require currentConfig.
nextConfig
- Type:
{ owners: readonly AccountConfig.Owner[]; threshold: number }
The replacement owners and approval threshold. Owners are normalized into canonical address order.
nextConfig.owners
- Type:
readonly { owner: Address; weight: number }[]
The complete replacement owner set.
nextConfig.threshold
- Type:
number
The replacement approval weight required to authorize the account.
account (optional)
- Type:
Account | Address
Account that sends the transaction. For a coordinated transaction, pass the configurable account.
feePayer (optional)
- Type:
Account | boolean
Fee payer for the transaction (TIP-1 gas sponsorship).
Pass true to defer the fee token to an external fee payer (e.g. a relay), or a local Account to co-sign the transaction as the fee payer.
feeToken (optional)
- Type:
Address | bigint
Fee token for the transaction.
Can be an unpaused USD-denominated TIP-20 token address or ID.
gas (optional)
- Type:
bigint
Gas limit for the transaction.
keyAuthorization (optional)
- Type:
KeyAuthorization
Signed key authorization to include with the transaction, authorizing an access key to act for the sending account.
maxFeePerGas (optional)
- Type:
bigint
Max fee per gas for the transaction.
maxPriorityFeePerGas (optional)
- Type:
bigint
Max priority fee per gas for the transaction.
nonce (optional)
- Type:
number
Nonce for the transaction.
nonceKey (optional)
- Type:
'expiring' | 'random' | bigint
Nonce key for the transaction (TIP-1009 2D nonces).
Use 'expiring' to select an expiring nonce, which enables concurrent transaction submission without nonce ordering. Use 'random' to select a random key.
throwOnReceiptRevert (optional)
- Type:
boolean - Default:
true
Whether a Sync action throws when the receipt reports a revert.
validAfter (optional)
- Type:
number
Unix timestamp after which the transaction can be included.
validBefore (optional)
- Type:
number
Unix timestamp before which the transaction must be included.
Owner (Optional)
- Type:
Account
Local owner that signs one coordinated approval.