@xchainjs/xchain-utxo
Version:
Genereic UTXO client for XChainJS
38 lines (37 loc) • 1.15 kB
TypeScript
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;
}