selectUtxos
fun selectUtxos(availableUtxos: List<UnshieldedUtxoEntity>, requiredAmount: BigInteger): UtxoSelector.SelectionResult
Select UTXOs using smallest-first algorithm.
Algorithm:
Start with empty selection and zero sum
For each UTXO (in ascending value order):
Add UTXO to selection
Add UTXO value to sum
If sum >= required amount, stop and return success
If reached end without sufficient funds, return failure
Example:
Required: 100
Available UTXOs: [10, 25, 50, 75, 100]
Selection process:
- Add 10 → sum = 10 (< 100, continue)
- Add 25 → sum = 35 (< 100, continue)
- Add 50 → sum = 85 (< 100, continue)
- Add 75 → sum = 160 (>= 100, STOP!)
Result: [10, 25, 50, 75], change = 60Content copied to clipboard
Return
SelectionResult.Success with selected UTXOs, or InsufficientFunds
Parameters
availableUtxos
Available UTXOs (must be sorted by value ASC)
requiredAmount
Amount needed (in smallest units)