refactor!(chain): Unify ChangeSet nomenclature

This commit renames:

- indexed_tx_graph::IndexedAdditions -> indexed_tx_graph::ChangeSet
- indexed_tx_graph::IndexedAdditions::graph_additions -> indexed_tx_graph::ChangeSet::graph
- indexed_tx_graph::IndexedAdditions::index_additions -> indexed_tx_graph::ChangeSet::indexer
- tx_graph::Additions -> tx_graph::ChangeSet
- keychain::DerivationAdditions -> keychain::ChangeSet
- CanonicalTx::node -> CanonicalTx::tx_node
- CanonicalTx::observed_as -> CanonicalTx::chain_position
- LocalChangeSet -> WalletChangeSet
- LocalChangeSet::chain_changeset -> WalletChangeSet::chain
- LocalChangeSet::indexed_additions -> WalletChangeSet::indexed_tx_graph
- LocalUpdate -> WalletUpdate

This commit also changes the visibility of TxGraph::determine_changeset
to be pub(crate), and the method accepts a TxGraph instead of &TxGraph

This commit removes:
- `TxGraph::insert_txout_preview`
- `TxGraph::insert_tx_preview`
- `insert_anchor_preview`
- `insert_seen_at_preview`

Solves #1022
This commit is contained in:
Daniela Brozzoni
2023-08-07 17:43:17 +02:00
parent 0cd2348166
commit ea50b6a932
16 changed files with 329 additions and 379 deletions

View File

@@ -3,7 +3,7 @@ mod common;
use bdk_chain::{
collections::*,
local_chain::LocalChain,
tx_graph::{Additions, TxGraph},
tx_graph::{ChangeSet, TxGraph},
Anchor, Append, BlockId, ChainPosition, ConfirmationHeightAnchor,
};
use bitcoin::{
@@ -70,7 +70,7 @@ fn insert_txouts() {
for (outpoint, txout) in &original_ops {
assert_eq!(
graph.insert_txout(*outpoint, txout.clone()),
Additions {
ChangeSet {
txouts: [(*outpoint, txout.clone())].into(),
..Default::default()
}
@@ -86,7 +86,7 @@ fn insert_txouts() {
// Insert partials transactions
assert_eq!(
graph.insert_txout(*outpoint, txout.clone()),
Additions {
ChangeSet {
txouts: [(*outpoint, txout.clone())].into(),
..Default::default()
}
@@ -94,7 +94,7 @@ fn insert_txouts() {
// Mark them unconfirmed.
assert_eq!(
graph.insert_anchor(outpoint.txid, unconf_anchor),
Additions {
ChangeSet {
txs: [].into(),
txouts: [].into(),
anchors: [(unconf_anchor, outpoint.txid)].into(),
@@ -104,7 +104,7 @@ fn insert_txouts() {
// Mark them last seen at.
assert_eq!(
graph.insert_seen_at(outpoint.txid, 1000000),
Additions {
ChangeSet {
txs: [].into(),
txouts: [].into(),
anchors: [].into(),
@@ -115,7 +115,7 @@ fn insert_txouts() {
// Insert the full transaction
assert_eq!(
graph.insert_tx(update_txs.clone()),
Additions {
ChangeSet {
txs: [update_txs.clone()].into(),
..Default::default()
}
@@ -124,7 +124,7 @@ fn insert_txouts() {
// Mark it as confirmed.
assert_eq!(
graph.insert_anchor(update_txs.txid(), conf_anchor),
Additions {
ChangeSet {
txs: [].into(),
txouts: [].into(),
anchors: [(conf_anchor, update_txs.txid())].into(),
@@ -135,11 +135,11 @@ fn insert_txouts() {
};
// Check the resulting addition.
let additions = graph.determine_additions(&update);
let changeset = graph.apply_update(update);
assert_eq!(
additions,
Additions {
changeset,
ChangeSet {
txs: [update_txs.clone()].into(),
txouts: update_ops.into(),
anchors: [(conf_anchor, update_txs.txid()), (unconf_anchor, h!("tx2"))].into(),
@@ -147,8 +147,8 @@ fn insert_txouts() {
}
);
// Apply addition and check the new graph counts.
graph.apply_additions(additions);
// Apply changeset and check the new graph counts.
graph.apply_changeset(changeset);
assert_eq!(graph.all_txouts().count(), 4);
assert_eq!(graph.full_txs().count(), 1);
assert_eq!(graph.floating_txouts().count(), 3);
@@ -299,7 +299,7 @@ fn insert_tx_displaces_txouts() {
},
);
let _additions = tx_graph.insert_tx(tx.clone());
let _changeset = tx_graph.insert_tx(tx.clone());
assert_eq!(
tx_graph
@@ -333,7 +333,7 @@ fn insert_txout_does_not_displace_tx() {
}],
};
let _additions = tx_graph.insert_tx(tx.clone());
let _changeset = tx_graph.insert_tx(tx.clone());
let _ = tx_graph.insert_txout(
OutPoint {
@@ -794,7 +794,7 @@ fn test_chain_spends() {
/// Ensure that `last_seen` values only increase during [`Append::append`].
#[test]
fn test_additions_last_seen_append() {
fn test_changeset_last_seen_append() {
let txid: Txid = h!("test txid");
let test_cases: &[(Option<u64>, Option<u64>)] = &[
@@ -806,11 +806,11 @@ fn test_additions_last_seen_append() {
];
for (original_ls, update_ls) in test_cases {
let mut original = Additions::<()> {
let mut original = ChangeSet::<()> {
last_seen: original_ls.map(|ls| (txid, ls)).into_iter().collect(),
..Default::default()
};
let update = Additions::<()> {
let update = ChangeSet::<()> {
last_seen: update_ls.map(|ls| (txid, ls)).into_iter().collect(),
..Default::default()
};