gui(recovery): filter coins by psbt outpoints

This commit is contained in:
jp1ac4 2024-02-06 10:06:11 +00:00
parent 4509bd6baf
commit c9fcfae9d4
No known key found for this signature in database
GPG Key ID: C61FA2110D7DC407

View File

@ -155,16 +155,13 @@ impl State for RecoveryPanel {
return Command::perform(
async move {
let psbt = daemon.create_recovery(address, feerate_vb, sequence)?;
let coins = daemon.list_coins(&[], &[]).map(|res| res.coins)?;
let coins = coins
.into_iter()
.filter(|coin| {
psbt.unsigned_tx
.input
.iter()
.any(|input| input.previous_output == coin.outpoint)
})
let outpoints: Vec<_> = psbt
.unsigned_tx
.input
.iter()
.map(|txin| txin.previous_output)
.collect();
let coins = daemon.list_coins(&[], &outpoints).map(|res| res.coins)?;
Ok(SpendTx::new(
None,
psbt,