66//! ## Example
77//!
88//! ```
9- //! # use bdk_chain::{CanonicalView, TxGraph, CanonicalizationParams, local_chain::LocalChain};
9+ //! # use bdk_chain::{TxGraph, CanonicalizationParams, CanonicalizationTask , local_chain::LocalChain};
1010//! # use bdk_core::BlockId;
1111//! # use bitcoin::hashes::Hash;
1212//! # let tx_graph = TxGraph::<BlockId>::default();
1313//! # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
14- //! # let chain_tip = chain.tip().block_id();
1514//! let params = CanonicalizationParams::default();
16- //! let view = CanonicalView::new(&tx_graph, &chain, chain_tip, params).unwrap();
15+ //! let task = CanonicalizationTask::new(&tx_graph, params);
16+ //! let view = chain.canonicalize(task, Some(chain.tip().block_id()));
1717//!
1818//! // Iterate over canonical transactions
1919//! for tx in view.txs() {
2323
2424use crate :: collections:: HashMap ;
2525use alloc:: sync:: Arc ;
26- use core:: { convert :: Infallible , fmt, ops:: RangeBounds } ;
26+ use core:: { fmt, ops:: RangeBounds } ;
2727
2828use alloc:: vec:: Vec ;
2929
3030use bdk_core:: BlockId ;
3131use bitcoin:: { Amount , OutPoint , ScriptBuf , Transaction , Txid } ;
3232
33- use crate :: {
34- canonical_iter:: { CanonicalIter , CanonicalReason , ObservedIn } ,
35- spk_txout:: SpkTxOutIndex ,
36- tx_graph:: TxNode ,
37- Anchor , Balance , CanonicalizationParams , ChainOracle , ChainPosition ,
38- FullTxOut , TxGraph ,
39- } ;
33+ use crate :: { spk_txout:: SpkTxOutIndex , Anchor , Balance , ChainPosition , FullTxOut } ;
4034
4135/// A single canonical transaction with its chain position.
4236///
@@ -141,12 +135,13 @@ impl<A: Anchor> CanonicalView<A> {
141135 /// # Example
142136 ///
143137 /// ```
144- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain};
138+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain};
145139 /// # use bdk_core::BlockId;
146140 /// # use bitcoin::hashes::Hash;
147141 /// # let tx_graph = TxGraph::<BlockId>::default();
148142 /// # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
149- /// # let view = CanonicalView::new(&tx_graph, &chain, chain.tip().block_id(), Default::default()).unwrap();
143+ /// # let task = CanonicalizationTask::new(&tx_graph, Default::default());
144+ /// # let view = chain.canonicalize(task, Some(chain.tip().block_id()));
150145 /// // Iterate over all canonical transactions
151146 /// for tx in view.txs() {
152147 /// println!("TX {}: {:?}", tx.txid, tx.pos);
@@ -174,12 +169,13 @@ impl<A: Anchor> CanonicalView<A> {
174169 /// # Example
175170 ///
176171 /// ```
177- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
172+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
178173 /// # use bdk_core::BlockId;
179174 /// # use bitcoin::hashes::Hash;
180175 /// # let tx_graph = TxGraph::<BlockId>::default();
181176 /// # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
182- /// # let view = CanonicalView::new(&tx_graph, &chain, chain.tip().block_id(), Default::default()).unwrap();
177+ /// # let task = CanonicalizationTask::new(&tx_graph, Default::default());
178+ /// # let view = chain.canonicalize(task, Some(chain.tip().block_id()));
183179 /// # let indexer = KeychainTxOutIndex::<&str>::default();
184180 /// // Get all outputs from an indexer
185181 /// for (keychain, txout) in view.filter_outpoints(indexer.outpoints().clone()) {
@@ -203,12 +199,13 @@ impl<A: Anchor> CanonicalView<A> {
203199 /// # Example
204200 ///
205201 /// ```
206- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
202+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
207203 /// # use bdk_core::BlockId;
208204 /// # use bitcoin::hashes::Hash;
209205 /// # let tx_graph = TxGraph::<BlockId>::default();
210206 /// # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
211- /// # let view = CanonicalView::new(&tx_graph, &chain, chain.tip().block_id(), Default::default()).unwrap();
207+ /// # let task = CanonicalizationTask::new(&tx_graph, Default::default());
208+ /// # let view = chain.canonicalize(task, Some(chain.tip().block_id()));
212209 /// # let indexer = KeychainTxOutIndex::<&str>::default();
213210 /// // Get unspent outputs (UTXOs) from an indexer
214211 /// for (keychain, utxo) in view.filter_unspent_outpoints(indexer.outpoints().clone()) {
@@ -247,12 +244,13 @@ impl<A: Anchor> CanonicalView<A> {
247244 /// # Example
248245 ///
249246 /// ```
250- /// # use bdk_chain::{CanonicalView , TxGraph, local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
247+ /// # use bdk_chain::{CanonicalizationTask , TxGraph, local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
251248 /// # use bdk_core::BlockId;
252249 /// # use bitcoin::hashes::Hash;
253250 /// # let tx_graph = TxGraph::<BlockId>::default();
254251 /// # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
255- /// # let view = CanonicalView::new(&tx_graph, &chain, chain.tip().block_id(), Default::default()).unwrap();
252+ /// # let task = CanonicalizationTask::new(&tx_graph, Default::default());
253+ /// # let view = chain.canonicalize(task, Some(chain.tip().block_id()));
256254 /// # let indexer = KeychainTxOutIndex::<&str>::default();
257255 /// // Calculate balance with 6 confirmations, trusting all outputs
258256 /// let balance = view.balance(
0 commit comments