Merge pull request #2203 from wpaulino/retry-untractable-packages
[rust-lightning] / lightning / src / util / test_utils.rs
index a34cb0cf323a337edc757579c761d1363948212b..46a7bb340070618b85e69f860148b0319f14cea4 100644 (file)
@@ -311,6 +311,17 @@ impl TestBroadcaster {
        pub fn new(blocks: Arc<Mutex<Vec<(Block, u32)>>>) -> TestBroadcaster {
                TestBroadcaster { txn_broadcasted: Mutex::new(Vec::new()), blocks }
        }
+
+       pub fn txn_broadcast(&self) -> Vec<Transaction> {
+               self.txn_broadcasted.lock().unwrap().split_off(0)
+       }
+
+       pub fn unique_txn_broadcast(&self) -> Vec<Transaction> {
+               let mut txn = self.txn_broadcasted.lock().unwrap().split_off(0);
+               let mut seen = HashSet::new();
+               txn.retain(|tx| seen.insert(tx.txid()));
+               txn
+       }
 }
 
 impl chaininterface::BroadcasterInterface for TestBroadcaster {