fix(chain): tx_graph::ChangeSet::is_empty

This commit is contained in:
LLFourn 2024-02-09 19:43:26 +11:00
parent 7aca88474a
commit ae00e1ee7b
No known key found for this signature in database
GPG Key ID: A27093B54DA11F65
2 changed files with 13 additions and 4 deletions

View File

@ -1214,7 +1214,10 @@ impl<A> Default for ChangeSet<A> {
impl<A> ChangeSet<A> { impl<A> ChangeSet<A> {
/// Returns true if the [`ChangeSet`] is empty (no transactions or txouts). /// Returns true if the [`ChangeSet`] is empty (no transactions or txouts).
pub fn is_empty(&self) -> bool { pub fn is_empty(&self) -> bool {
self.txs.is_empty() && self.txouts.is_empty() self.txs.is_empty()
&& self.txouts.is_empty()
&& self.anchors.is_empty()
&& self.last_seen.is_empty()
} }
/// Iterates over all outpoints contained within [`ChangeSet`]. /// Iterates over all outpoints contained within [`ChangeSet`].

View File

@ -213,7 +213,8 @@ fn insert_tx_graph_doesnt_count_coinbase_as_spent() {
}; };
let mut graph = TxGraph::<()>::default(); let mut graph = TxGraph::<()>::default();
let _ = graph.insert_tx(tx); let changeset = graph.insert_tx(tx);
assert!(!changeset.is_empty());
assert!(graph.outspends(OutPoint::null()).is_empty()); assert!(graph.outspends(OutPoint::null()).is_empty());
assert!(graph.tx_spends(Txid::all_zeros()).next().is_none()); assert!(graph.tx_spends(Txid::all_zeros()).next().is_none());
} }
@ -289,7 +290,7 @@ fn insert_tx_displaces_txouts() {
}], }],
}; };
let _ = tx_graph.insert_txout( let changeset = tx_graph.insert_txout(
OutPoint { OutPoint {
txid: tx.txid(), txid: tx.txid(),
vout: 0, vout: 0,
@ -300,6 +301,8 @@ fn insert_tx_displaces_txouts() {
}, },
); );
assert!(!changeset.is_empty());
let _ = tx_graph.insert_txout( let _ = tx_graph.insert_txout(
OutPoint { OutPoint {
txid: tx.txid(), txid: tx.txid(),
@ -653,7 +656,8 @@ fn test_walk_ancestors() {
]); ]);
[&tx_a0, &tx_b1].iter().for_each(|&tx| { [&tx_a0, &tx_b1].iter().for_each(|&tx| {
let _ = graph.insert_anchor(tx.txid(), tip.block_id()); let changeset = graph.insert_anchor(tx.txid(), tip.block_id());
assert!(!changeset.is_empty());
}); });
let ancestors = [ let ancestors = [
@ -1027,10 +1031,12 @@ fn test_changeset_last_seen_append() {
last_seen: original_ls.map(|ls| (txid, ls)).into_iter().collect(), last_seen: original_ls.map(|ls| (txid, ls)).into_iter().collect(),
..Default::default() ..Default::default()
}; };
assert!(!original.is_empty() || original_ls.is_none());
let update = ChangeSet::<()> { let update = ChangeSet::<()> {
last_seen: update_ls.map(|ls| (txid, ls)).into_iter().collect(), last_seen: update_ls.map(|ls| (txid, ls)).into_iter().collect(),
..Default::default() ..Default::default()
}; };
assert!(!update.is_empty() || update_ls.is_none());
original.append(update); original.append(update);
assert_eq!( assert_eq!(