[Client] Add vtxo expiration details to balance & Fix coin selection

* add expiry details in balance command

* coin selection: sort vtxos by olderFirst

* rename type

* balance: add next expiration

* add next expiration in offchain_balance json

* print duration in nextExpiration

* fix dust coin selection

* refactor sort
This commit is contained in:
Louis Singer
2024-02-20 17:10:18 +01:00
committed by GitHub
parent 10c19dd7d9
commit b8e0914ba9
10 changed files with 378 additions and 140 deletions

View File

@@ -341,6 +341,31 @@ func (b *txBuilder) createPoolTx(
return nil, err
}
}
} else if feeAmount-dust > 0 {
newUtxos, change, err := b.wallet.SelectUtxos(ctx, b.net.AssetID, feeAmount-dust)
if err != nil {
return nil, err
}
if change > 0 {
if change < dustLimit {
feeAmount += change
} else {
if err := updater.AddOutputs([]psetv2.OutputArgs{
{
Asset: b.net.AssetID,
Amount: change,
Script: aspScript,
},
}); err != nil {
return nil, err
}
}
}
if err := addInputs(updater, newUtxos); err != nil {
return nil, err
}
}
// add fee output