TransactionSigner

A class for signing Stacks transactions. Manages the signing process for both single-sig and multi-sig transactions, as well as sponsored transactions.


Usage

import {
  makeUnsignedSTXTokenTransfer,
  TransactionSigner,
} from '@stacks/transactions';

// Create an unsigned transaction
const transaction = await makeUnsignedSTXTokenTransfer({
  recipient: 'ST1SJ3DTE5DN7X54YDH5D64R3BCB6A2AG2ZQ8YPD5',
  amount: 1000000n,
  publicKey: '034f355bdcb7cc0af728ef3cceb9615d90684bb5b2ca5f859ab0f0b704075871aa',
  network: 'testnet',
  fee: 200n,
  nonce: 0n,
});

// Sign with the origin's private key
const signer = new TransactionSigner(transaction);
signer.signOrigin('b244296d5907de9864c0b0d51f98a13c52890be0404e83f273144004b81874603');

// For sponsored transactions
const sponsorSigner = TransactionSigner.createSponsorSigner(
  transaction,
  sponsorSpendingCondition
);
sponsorSigner.signSponsor(sponsorPrivateKey);

Reference Linkarrow-up-right


Definition


Static Methods

TransactionSigner.createSponsorSigner

Creates a signer for the sponsor of a sponsored transaction.


Instance Methods

signOrigin

Signs the transaction as the origin (sender). For multi-sig, call this multiple times with each signer's key.

appendOrigin

Appends a public key to the origin authorization for multi-sig transactions (for signers that did not sign).

signSponsor

Signs the transaction as the sponsor.

getTxInComplete

Returns a deep clone of the transaction in its current state.

resume

Resumes signing from a different transaction state.

Last updated

Was this helpful?