UNPKG

@bitgo/utxo-ord

Version:

Utilities for building ordinals with BitGo utxo-lib

84 lines 3.21 kB
import { fixedScriptWallet, type CoinName } from '@bitgo/wasm-utxo'; import { SatPoint } from './SatPoint'; import { OutputLayout } from './OutputLayout'; type WalletKeysArg = fixedScriptWallet.WalletKeysArg; type SignPath = fixedScriptWallet.SignPath; /** * Network type from utxo-lib for backward compatibility. */ type UtxolibNetwork = { messagePrefix?: string; bech32?: string; pubKeyHash: number; scriptHash: number; wif: number; }; export type WalletUnspent = { id: string; value: bigint; chain: number; index: number; }; export type WalletOutputPath = { chain: fixedScriptWallet.ChainCode; index: number; }; export type WalletInputBuilder = { walletKeys: WalletKeysArg; signer: SignPath['signer']; cosigner: SignPath['cosigner']; }; /** * Describes all outputs of an inscription transaction */ export type InscriptionTransactionOutputs = { inscriptionRecipient: string | Uint8Array; changeOutputs: [WalletOutputPath, WalletOutputPath]; }; /** @deprecated */ export type InscriptionOutputs = InscriptionTransactionOutputs; export type InscriptionTransactionConstraints = { feeRateSatKB: number; minChangeOutput?: bigint; minInscriptionOutput?: bigint; maxInscriptionOutput?: bigint; }; export declare const DefaultInscriptionConstraints: { minChangeOutput: bigint; minInscriptionOutput: bigint; maxInscriptionOutput: bigint; }; export declare function createPsbtFromOutputLayout(networkOrCoinName: CoinName | UtxolibNetwork, inputBuilder: WalletInputBuilder, unspents: WalletUnspent[], outputs: InscriptionTransactionOutputs, outputLayout: OutputLayout): fixedScriptWallet.BitGoPsbt; /** * @param inputs - inscription input must come first * @param satPoint - location of the inscription * @param outputs * @param constraints * @param minimizeInputs */ export declare function findOutputLayoutForWalletUnspents(inputs: WalletUnspent[], satPoint: SatPoint, outputs: InscriptionTransactionOutputs, constraints: InscriptionTransactionConstraints, { minimizeInputs }?: { minimizeInputs?: boolean | undefined; }): { inputs: WalletUnspent[]; layout: OutputLayout; } | undefined; export declare const MAX_UNSPENTS_FOR_OUTPUT_LAYOUT = 5; export declare class ErrorNoLayout extends Error { constructor(); } /** * @param networkOrCoinName - Coin name (e.g., "btc", "tbtc") or utxo-lib Network object * @param inputBuilder * @param unspent * @param satPoint * @param outputs * @param constraints * @param supplementaryUnspents - additional inputs to cover fee. * @param [minimizeInputs=true] - try to find input combination with minimal fees. Limits supplementaryUnspents to 4. */ export declare function createPsbtForSingleInscriptionPassingTransaction(networkOrCoinName: CoinName | UtxolibNetwork, inputBuilder: WalletInputBuilder, unspent: WalletUnspent | WalletUnspent[], satPoint: SatPoint, outputs: InscriptionTransactionOutputs, constraints: InscriptionTransactionConstraints, { supplementaryUnspents, minimizeInputs, }?: { supplementaryUnspents?: WalletUnspent[]; minimizeInputs?: boolean; }): fixedScriptWallet.BitGoPsbt; export {}; //# sourceMappingURL=psbt.d.ts.map