diff --git a/crates/chain/src/indexed_tx_graph.rs b/crates/chain/src/indexed_tx_graph.rs index c9091eef..4df7e85e 100644 --- a/crates/chain/src/indexed_tx_graph.rs +++ b/crates/chain/src/indexed_tx_graph.rs @@ -6,7 +6,7 @@ use alloc::vec::Vec; use bitcoin::{OutPoint, Transaction, TxOut}; use crate::{ - keychain, local_chain, + keychain, tx_graph::{self, TxGraph}, Anchor, Append, }; @@ -225,12 +225,6 @@ impl From> for ChangeSet> } } -impl From> for (local_chain::ChangeSet, ChangeSet) { - fn from(indexed_changeset: ChangeSet) -> Self { - (local_chain::ChangeSet::default(), indexed_changeset) - } -} - /// Utilities for indexing transaction data. /// /// Types which implement this trait can be used to construct an [`IndexedTxGraph`]. diff --git a/example-crates/example_cli/src/lib.rs b/example-crates/example_cli/src/lib.rs index 18bed2c9..c9459c35 100644 --- a/example-crates/example_cli/src/lib.rs +++ b/example-crates/example_cli/src/lib.rs @@ -12,6 +12,7 @@ use bdk_chain::{ }, indexed_tx_graph::{self, IndexedTxGraph}, keychain::{self, KeychainTxOutIndex}, + local_chain, miniscript::{ descriptor::{DescriptorSecretKey, KeyMap}, Descriptor, DescriptorPublicKey, @@ -24,7 +25,10 @@ pub use clap; use clap::{Parser, Subcommand}; pub type KeychainTxGraph = IndexedTxGraph>; -pub type KeychainChangeSet = indexed_tx_graph::ChangeSet>; +pub type KeychainChangeSet = ( + local_chain::ChangeSet, + indexed_tx_graph::ChangeSet>, +); pub type Database<'m, C> = Persist, C>; #[derive(Parser)] @@ -200,7 +204,10 @@ where let ((spk_i, spk), index_changeset) = spk_chooser(index, &Keychain::External); let db = &mut *db.lock().unwrap(); - db.stage(C::from(KeychainChangeSet::from(index_changeset))); + db.stage(C::from(( + local_chain::ChangeSet::default(), + indexed_tx_graph::ChangeSet::from(index_changeset), + ))); db.commit()?; let addr = Address::from_script(spk, network).context("failed to derive address")?; println!("[address @ {}] {}", spk_i, addr); @@ -353,7 +360,10 @@ where // If we're unable to persist this, then we don't want to broadcast. { let db = &mut *db.lock().unwrap(); - db.stage(C::from(KeychainChangeSet::from(index_changeset))); + db.stage(C::from(( + local_chain::ChangeSet::default(), + indexed_tx_graph::ChangeSet::from(index_changeset), + ))); db.commit()?; } @@ -376,7 +386,10 @@ where // We know the tx is at least unconfirmed now. Note if persisting here fails, // it's not a big deal since we can always find it again form // blockchain. - db.lock().unwrap().stage(C::from(keychain_changeset)); + db.lock().unwrap().stage(C::from(( + local_chain::ChangeSet::default(), + keychain_changeset, + ))); Ok(()) } Err(e) => {