Skip to content

finalizeBTCTransaction

finalizeBTCTransaction(config, intentions, client, options?): Promise<EdictRuneResponse | TransferBTCResponse>

Prepares a Bitcoin transaction for the provided intentions. Calculates gas limits for EVM transactions, total fees, and handles both BTC and rune transfers.

Import

ts
import { finalizeBTCTransaction } from "@midl/executor";

Example

ts
import { finalizeBTCTransaction } from "@midl/executor";

const btcTx = await finalizeBTCTransaction(config, intentions, client, { feeRate: 10 });

Parameters

NameTypeDescription
configConfigThe configuration object.
intentions`TransactionIntention[]Array of transaction intentions to process.
clientClientViem's client instance.
optionsFinalizeBTCTransactionOptions (optional)Optional configuration options.

FinalizeBTCTransactionOptions

NameTypeDescription
stateOverrideStateOverride (optional)State override for EVM transactions.
fromstring (optional)BTC address of the account to use for signing.
feeRatenumber (optional)Custom fee rate (sats/vB).
assetsToWithdrawSizenumber (optional)Number of assets to withdraw.
skipEstimateGasMultiboolean (optional)If true, skips gas estimation for EVM transactions.
multisigAddressstring (optional)Multisig address to use for the transaction.

Returns

Promise<EdictRuneResponse | TransferBTCResponse> — The BTC transaction response.