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.
intentionsTransactionIntention[]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).
skipEstimateGasboolean (optional)If true, skips gas estimation for EVM transactions.
multisigAddressstring (optional)Multisig address to use for the transaction.
gasMultipliernumber (optional)Multiplier to apply to estimated gas (default: 1.2). Used to avoid gas fluctuations.
transfersEdictRuneParams["transfers"] (optional)Optional transfers to include in the transaction for additional rune or BTC transfers not derived from the intentions.

Returns ​

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

Released under the MIT License