6
6
//! ## Example
7
7
//!
8
8
//! ```
9
- //! # use bdk_chain::{CanonicalView, TxGraph, CanonicalizationParams, local_chain::LocalChain};
9
+ //! # use bdk_chain::{TxGraph, CanonicalizationParams, CanonicalizationTask , local_chain::LocalChain};
10
10
//! # use bdk_core::BlockId;
11
11
//! # use bitcoin::hashes::Hash;
12
12
//! # let tx_graph = TxGraph::<BlockId>::default();
13
13
//! # let chain = LocalChain::from_blocks([(0, bitcoin::BlockHash::all_zeros())].into_iter().collect()).unwrap();
14
- //! # let chain_tip = chain.tip().block_id();
15
14
//! 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()));
17
17
//!
18
18
//! // Iterate over canonical transactions
19
19
//! for tx in view.txs() {
23
23
24
24
use crate :: collections:: HashMap ;
25
25
use alloc:: sync:: Arc ;
26
- use core:: { convert :: Infallible , fmt, ops:: RangeBounds } ;
26
+ use core:: { fmt, ops:: RangeBounds } ;
27
27
28
28
use alloc:: vec:: Vec ;
29
29
30
30
use bdk_core:: BlockId ;
31
31
use bitcoin:: { Amount , OutPoint , ScriptBuf , Transaction , Txid } ;
32
32
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 } ;
40
34
41
35
/// A single canonical transaction with its chain position.
42
36
///
@@ -141,12 +135,13 @@ impl<A: Anchor> CanonicalView<A> {
141
135
/// # Example
142
136
///
143
137
/// ```
144
- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain};
138
+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain};
145
139
/// # use bdk_core::BlockId;
146
140
/// # use bitcoin::hashes::Hash;
147
141
/// # let tx_graph = TxGraph::<BlockId>::default();
148
142
/// # 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()));
150
145
/// // Iterate over all canonical transactions
151
146
/// for tx in view.txs() {
152
147
/// println!("TX {}: {:?}", tx.txid, tx.pos);
@@ -174,12 +169,13 @@ impl<A: Anchor> CanonicalView<A> {
174
169
/// # Example
175
170
///
176
171
/// ```
177
- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
172
+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
178
173
/// # use bdk_core::BlockId;
179
174
/// # use bitcoin::hashes::Hash;
180
175
/// # let tx_graph = TxGraph::<BlockId>::default();
181
176
/// # 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()));
183
179
/// # let indexer = KeychainTxOutIndex::<&str>::default();
184
180
/// // Get all outputs from an indexer
185
181
/// for (keychain, txout) in view.filter_outpoints(indexer.outpoints().clone()) {
@@ -203,12 +199,13 @@ impl<A: Anchor> CanonicalView<A> {
203
199
/// # Example
204
200
///
205
201
/// ```
206
- /// # use bdk_chain::{CanonicalView, TxGraph , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
202
+ /// # use bdk_chain::{TxGraph, CanonicalizationTask , local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
207
203
/// # use bdk_core::BlockId;
208
204
/// # use bitcoin::hashes::Hash;
209
205
/// # let tx_graph = TxGraph::<BlockId>::default();
210
206
/// # 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()));
212
209
/// # let indexer = KeychainTxOutIndex::<&str>::default();
213
210
/// // Get unspent outputs (UTXOs) from an indexer
214
211
/// for (keychain, utxo) in view.filter_unspent_outpoints(indexer.outpoints().clone()) {
@@ -247,12 +244,13 @@ impl<A: Anchor> CanonicalView<A> {
247
244
/// # Example
248
245
///
249
246
/// ```
250
- /// # use bdk_chain::{CanonicalView , TxGraph, local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
247
+ /// # use bdk_chain::{CanonicalizationTask , TxGraph, local_chain::LocalChain, keychain_txout::KeychainTxOutIndex};
251
248
/// # use bdk_core::BlockId;
252
249
/// # use bitcoin::hashes::Hash;
253
250
/// # let tx_graph = TxGraph::<BlockId>::default();
254
251
/// # 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()));
256
254
/// # let indexer = KeychainTxOutIndex::<&str>::default();
257
255
/// // Calculate balance with 6 confirmations, trusting all outputs
258
256
/// let balance = view.balance(
0 commit comments