For the complete documentation index, see llms.txt. This page is also available as Markdown.

TxParams

The transaction parameters every build* function in this package takes alongside its own arguments: either SingleSigTxParams or MultiSigTxParams. Builders pass them to makeUnsignedContractCall and return an unsigned StacksTransactionWire that calls pox-5.


Usage

import { buildUpdateBondRegistration } from '@stacks/bitcoin-staking';

const args = {
  signerManager: 'SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.new-signer-manager',
  oldSignerManager: 'SP2C2YFP12AJZB4MABJBAJ55XECVS7E4PMMZ89YZR.old-signer-manager',
};

// Single-sig origin
const tx = await buildUpdateBondRegistration({
  ...args,
  publicKey,
  fee: 10_000n,
  nonce,
  network: 'mainnet',
});

// 2-of-3 multisig origin
const multisigTx = await buildUpdateBondRegistration({
  ...args,
  publicKeys: [pubKeyA, pubKeyB, pubKeyC],
  numSignatures: 2,
  fee: 10_000n,
  nonce,
  network: 'mainnet',
});

Notes

  • Builders take the single-sig path when publicKey is defined and the multisig path otherwise.

  • The transaction is unsigned. Sign it, then broadcast it with broadcastTransaction. A transaction ID confirms submission, not success: a failed pox-5 assert is mined as abort_by_response with an (err uN) result, which parsePox5Error and describePox5Error decode.


Definition


Values

Value
Description

Single-signature origin, identified by publicKey

M-of-N multisig origin, identified by publicKeys and numSignatures

Was this helpful?