]> Untitled Git - bdk/commitdiff
Merge bitcoindevkit/bdk#2029: `CanonicalView`
authormerge-script <oleonardolima@users.noreply.github.com>
Mon, 29 Sep 2025 01:41:32 +0000 (11:41 +1000)
committermerge-script <oleonardolima@users.noreply.github.com>
Mon, 29 Sep 2025 01:41:32 +0000 (11:41 +1000)
1311a2ed050534558ef738ceb754bd9b3a5552a6 refactor(chain)!: Change trust_predicate to accept FullTxOut (志宇)
3f9eec54e7c132764d6582cd51c2681bc3e14eee refactor(example): Reuse `CanonicalView` in filter iter example (志宇)
40790d00600c8601f5e15b51ec39fccbc8a539bd docs(chain): Tighten `CanonicalView` documentation (志宇)
f444a8de391abb673b11ebd03e1a9b1cce570602 refactor(chain)!: Rename `CanonicalViewTx` to `CanonicalTx` (志宇)
8ad138d022398fc4dc3f4af9db7d9e103e58be56 docs(chain): Improve CanonicalView documentation (志宇)
beb16a146b774eac3451f0ca0062b4ccee04f6c3 feat(chain)!: Remove `CanonicalTx` (志宇)
54409bc4aac05fb25d02909398008204eee70634 test(chain): Add comprehensive tests for min_confirmations parameter (志宇)
45249457aa2f1205f5944e73c8d14468712648ab feat(chain): Add min_confirmations parameter to CanonicalView::balance (志宇)
0a55710ea41d4122a7b15481502cfd8a6e24f068 feat(chain)!: Introduce `CanonicalView` and migrate API (志宇)

Pull request description:

  ### Description

  `CanonicalView` allows us to canonicalize upfront, reducing our API surface and improving performance by reducing canonicalizations we need to do.

  This is also the first step to achieving many of our goals.

  * Event notifications.
  * Intent tracker.
  * Getting rid of `CanonicalUnspents` structure in `bdk_tx`.

  ### Changelog notice

  ```md
  Added
  - Introduce `CanonicalView` which allows us to canonicalize once upfront.
  - Added `TxGraph::canonical_view` which constructs a `CanonicalView`.

  Changed
  - `TxGraph` methods which require canonicalization now have `CanonicalView` equivalents.

  Removed
  - `TxGraph` methods which take in a fallible `ChainOracle` implementations are now removed.

  ```

  ### Checklists

  #### All Submissions:

  * [x] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk/blob/master/CONTRIBUTING.md)

  #### New Features:

  * [x] I've added tests for the new feature
  * [x] I've added docs for the new feature

ACKs for top commit:
  evanlinjin:
    self-ACK 1311a2ed050534558ef738ceb754bd9b3a5552a6
  ValuedMammal:
    ACK 1311a2ed050534558ef738ceb754bd9b3a5552a6
  oleonardolima:
    ACK 1311a2ed050534558ef738ceb754bd9b3a5552a6

Tree-SHA512: 520879ac5aba37ae53d6fa0465ee5920d65108208f82e9092fc6d391f9ce5741198c474fe49462e3bf6ed9f65f94f6019be0c0e02a0b19bcdb8398eb1c7ea3e0

1  2 
crates/electrum/tests/test_electrum.rs
examples/example_cli/src/lib.rs

Simple merge