UNPKG

@trezor/utxo-lib

Version:
61 lines 1.74 kB
import BN from 'bn.js'; import { TransactionInputOutputSortingStrategy } from './compose'; export type CoinSelectPaymentType = 'p2pkh' | 'p2sh' | 'p2tr' | 'p2wpkh' | 'p2wsh'; export interface CoinSelectOptions { txType: CoinSelectPaymentType; changeOutput?: CoinSelectOutput; dustThreshold?: number; longTermFeeRate?: number; own?: number; other?: number; coinbase?: number; baseFee?: number; floorBaseFee?: boolean; sortingStrategy: TransactionInputOutputSortingStrategy; feePolicy?: 'bitcoin' | 'doge' | 'zcash'; } export interface CoinSelectInput { type: CoinSelectPaymentType; i: number; script: { length: number; }; value: BN; confirmations: number; coinbase?: boolean; required?: boolean; own?: boolean; weight?: number; } export interface CoinSelectOutput { script: { length: number; }; value?: BN; weight?: number; } export interface CoinSelectOutputFinal { script: { length: number; }; value: BN; } export interface CoinSelectRequest extends CoinSelectOptions { inputs: CoinSelectInput[]; outputs: CoinSelectOutput[]; sendMaxOutputIndex: number; feeRate: number; } export type CoinSelectAlgorithm = (inputs: CoinSelectInput[], outputs: CoinSelectOutput[], feeRate: number, options: CoinSelectOptions) => CoinSelectResult; export interface CoinSelectSuccess { fee: number; inputs: CoinSelectInput[]; outputs: CoinSelectOutputFinal[]; } export interface CoinSelectFailure { fee: number; inputs?: typeof undefined; outputs?: typeof undefined; } export type CoinSelectResult = CoinSelectSuccess | CoinSelectFailure; //# sourceMappingURL=coinselect.d.ts.map