UNPKG

@xchainjs/xchain-utxo

Version:
38 lines (37 loc) 1.15 kB
import { UTXO } from './types'; import { UtxoSelectionResult, UtxoSelectionPreferences } from './strategies'; /** * Enhanced UTXO selector with multiple strategies */ export declare class UtxoSelector { private strategies; constructor(); static readonly DUST_THRESHOLD = 546; static readonly BYTES_PER_INPUT: 68; static readonly BYTES_PER_OUTPUT: 31; static readonly BASE_TX_SIZE: 10; /** * Select optimal UTXOs for a transaction */ selectOptimal(utxos: UTXO[], targetValue: number, feeRate: number, preferences?: UtxoSelectionPreferences, extraOutputs?: number): UtxoSelectionResult; /** * Select the best result based on preferences */ private selectBestResult; /** * Calculate a score for a result based on preferences */ private calculateScore; /** * Validate inputs for UTXO selection */ private validateInputs; /** * Validate that a result is correct */ private isValidResult; /** * Calculate estimated transaction fee */ static calculateFee(inputCount: number, outputCount: number, feeRate: number): number; }