@bitgo/utxo-ord
Version:
Utilities for building ordinals with BitGo utxo-lib
84 lines • 3.21 kB
TypeScript
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