af75817d4bref(tx_graph): Change last_seen to `HashMap<Txid, u64>` (valued mammal)6204d2c766feat(tx_graph): Add method `txs_with_no_anchor_or_last_seen` (valued mammal)496601b8b1test(tx_graph): Add test for `list_canonical_txs` (valued mammal)c4057297a9wallet: delete method `insert_anchor` (valued mammal)b34790c6b6ref(tx_graph)!: Rename `list_chain_txs` to `list_canonical_txs` (valued mammal)2ce4bb4dfctest(indexed_tx_graph): Add test_get_chain_position (valued mammal)36f58870cbtest(wallet): Add test_insert_tx_balance_and_utxos (valued mammal)bbc19c3536fix(tx_graph)!: Change tx_last_seen to `Option<u64>` (valued mammal)324eeb3eb4fix(wallet)!: Rework `Wallet::insert_tx` to no longer insert anchors (valued mammal) Pull request description: The PR changes the type of last_seen to `Option<u64>` for `txs` member of `TxGraph`. This fixes an issue where unbroadcast and otherwise non-canonical transactions were returned from methods `list_chain_txs` and `Wallet::transactions` because every new tx inserted had a last_seen of 0 making it appear unconfirmed. fixes #1446 fixes #1396 ### Notes to the reviewers ### Changelog notice Changed - Member `last_seen_unconfirmed` of `TxNode` is changed to `Option<u64>` - Renamed `TxGraph` method `list_chain_txs` to `list_canonical_txs` - Changed `Wallet::insert_tx` to take a single `tx: Transaction` as parameter Added - Add method `txs_with_no_anchor_or_last_seen` for `TxGraph` - Add method `unbroadcast_transactions` for `Wallet` ### 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: * [x] This pull request breaks the existing API * [x] I've added tests to reproduce the issue which are now passing * [x] I'm linking the issue being fixed by this PR ACKs for top commit: notmandatory: Re ACKaf75817d4bTree-SHA512: e664b3b49e2f547873923f15dffbbc7fa032b6240e5b856b180e9e26123ca141864d10448912dc4a31bbb200c75bef4251a910a4330dac17ee6841b564612d13
BDK Chain
BDK keychain tracker, tools for storing and indexing chain data.