Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

configure

Update the chain config, the app config, or both. Only the chain owner can submit.

Signature

function configure(
  client: Client<Signer>,
  parameters: {
    sender: Address
    newCfg?: ChainConfig
    newAppCfg?: Json
  },
): Promise<{ hash: Uint8Array } & TxData>

Example

import { configure } from "@left-curve/sdk"
import { createSignerClient, createTransport, testnet, PrivateKeySigner } from "@left-curve/sdk"
import type { Address } from "@left-curve/sdk"
 
const client = createSignerClient({
  chain: testnet,
  transport: createTransport(),
  signer: PrivateKeySigner.fromMnemonic(process.env.DANGO_MNEMONIC!),
})
const sender: Address = "0x1234567890abcdef1234567890abcdef12345678"
 
await configure(client, {
  sender,
  newCfg: {
    owner: "0xowner...",
    bank: "0xbank...",
    taxman: "0xtax...",
    cronjobs: {},
    permissions: { upload: "everybody", instantiate: "everybody" },
    maxOrphanAge: 86400,
  },
})

Parameters

senderAddress. Must equal the chain owner.

newCfgChainConfig, optional. New chain-level config.

newAppCfgJson, optional. New app-level config (matches AppConfig).

Returns

{ hash: Uint8Array } & TxData — see broadcastTxSync.

Notes

  • Not bundled into appMutationActions. Call as a free function: configure(client, {...}).

See also