Merge bitcoindevkit/bdk#1335: fix(chain): tx_graph::ChangeSet::is_empty
13ab5a835dchore(chain): Improve TxGraph::ChangeSet docs (LLFourn)dbbd514242fix(chain)!: rm duplicate `is_empty` method in tx graph changeset (志宇)ae00e1ee7bfix(chain): tx_graph::ChangeSet::is_empty (LLFourn) Pull request description: 🙈 ### Changelog notice - Fix bug in `tx_graph::ChangeSet::is_empty` where is returns true even when it wasn't empty ### Checklists #### All Submissions: * [x] I've signed all my commits * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md) * [x] I ran `cargo fmt` and `cargo clippy` before committing #### Bugfixes: * [ ] This pull request breaks the existing API * [x] I've added tests to reproduce the issue which are now passing ACKs for top commit: LLFourn: Self-ACK:13ab5a835devanlinjin: ACK13ab5a835dTree-SHA512: b9f1f17fd2ed0f8e2337a8033e1cbd3e9f15b1ad4b32da3f0eb73a30913d6798e7a08d6b297d93bd08c2e1c388226e97648650ac636846b2c7aa95c3bcefbcfd
This commit is contained in:
@@ -40,20 +40,23 @@
|
||||
//! # use bdk_chain::example_utils::*;
|
||||
//! # use bitcoin::Transaction;
|
||||
//! # let tx_a = tx_from_hex(RAW_TX_1);
|
||||
//! let mut graph: TxGraph = TxGraph::default();
|
||||
//! let mut another_graph: TxGraph = TxGraph::default();
|
||||
//! let mut tx_graph: TxGraph = TxGraph::default();
|
||||
//!
|
||||
//! // insert a transaction
|
||||
//! let changeset = graph.insert_tx(tx_a);
|
||||
//! let changeset = tx_graph.insert_tx(tx_a);
|
||||
//!
|
||||
//! // the resulting changeset can be applied to another tx graph
|
||||
//! another_graph.apply_changeset(changeset);
|
||||
//! // We can restore the state of the `tx_graph` by applying all
|
||||
//! // the changesets obtained by mutating the original (the order doesn't matter).
|
||||
//! let mut restored_tx_graph: TxGraph = TxGraph::default();
|
||||
//! restored_tx_graph.apply_changeset(changeset);
|
||||
//!
|
||||
//! assert_eq!(tx_graph, restored_tx_graph);
|
||||
//! ```
|
||||
//!
|
||||
//! A [`TxGraph`] can also be updated with another [`TxGraph`].
|
||||
//! A [`TxGraph`] can also be updated with another [`TxGraph`] which merges them together.
|
||||
//!
|
||||
//! ```
|
||||
//! # use bdk_chain::BlockId;
|
||||
//! # use bdk_chain::{Append, BlockId};
|
||||
//! # use bdk_chain::tx_graph::TxGraph;
|
||||
//! # use bdk_chain::example_utils::*;
|
||||
//! # use bitcoin::Transaction;
|
||||
@@ -1212,11 +1215,6 @@ impl<A> Default for ChangeSet<A> {
|
||||
}
|
||||
|
||||
impl<A> ChangeSet<A> {
|
||||
/// Returns true if the [`ChangeSet`] is empty (no transactions or txouts).
|
||||
pub fn is_empty(&self) -> bool {
|
||||
self.txs.is_empty() && self.txouts.is_empty()
|
||||
}
|
||||
|
||||
/// Iterates over all outpoints contained within [`ChangeSet`].
|
||||
pub fn txouts(&self) -> impl Iterator<Item = (OutPoint, &TxOut)> {
|
||||
self.txs
|
||||
|
||||
Reference in New Issue
Block a user