]> Untitled Git - bdk/commitdiff
fix(esplora): deduplicate missing txids in fetch_txs_with_outpoints
authorphrwlk <phrwlk7@gmail.com>
Tue, 27 Jan 2026 13:10:00 +0000 (13:10 +0000)
committerLeonardo Lima <oleonardolima@users.noreply.github.com>
Thu, 19 Mar 2026 22:14:05 +0000 (19:14 -0300)
crates/esplora/src/async_ext.rs
crates/esplora/src/blocking_ext.rs

index 945bea1226d07dc6390a65fed1f6495d3de3a692..dc4d32186951433625ed449a0dd0ad74027b90e8 100644 (file)
@@ -501,7 +501,7 @@ where
 
     // get outpoint spend-statuses
     let mut outpoints = outpoints.into_iter();
-    let mut missing_txs = Vec::<Txid>::with_capacity(outpoints.len());
+    let mut missing_txs = HashSet::<Txid>::with_capacity(outpoints.len());
     loop {
         let handles = outpoints
             .by_ref()
@@ -522,7 +522,7 @@ where
                 None => continue,
             };
             if !inserted_txs.contains(&spend_txid) {
-                missing_txs.push(spend_txid);
+                missing_txs.insert(spend_txid);
             }
             if let Some(spend_status) = op_status.status {
                 insert_anchor_or_seen_at_from_status(
index d33723b09939f2f8ecfc5d27e75bec75ca2a570b..3a25544762e6fa359439bc7a8a7e2a167fbbf385 100644 (file)
@@ -457,7 +457,7 @@ fn fetch_txs_with_outpoints<I: IntoIterator<Item = OutPoint>>(
 
     // get outpoint spend-statuses
     let mut outpoints = outpoints.into_iter();
-    let mut missing_txs = Vec::<Txid>::with_capacity(outpoints.len());
+    let mut missing_txs = HashSet::<Txid>::with_capacity(outpoints.len());
     loop {
         let handles = outpoints
             .by_ref()
@@ -483,7 +483,7 @@ fn fetch_txs_with_outpoints<I: IntoIterator<Item = OutPoint>>(
                     None => continue,
                 };
                 if !inserted_txs.contains(&spend_txid) {
-                    missing_txs.push(spend_txid);
+                    missing_txs.insert(spend_txid);
                 }
                 if let Some(spend_status) = op_status.status {
                     insert_anchor_or_seen_at_from_status(