]> Untitled Git - bdk/commit
Merge bitcoindevkit/bdk#2377: fix(chain): don't panic on overlapping descriptors... master github/master
authormerge-script <hello@evanlinjin.me>
Sun, 18 Oct 2026 10:18:54 +0000 (21:18 +1100)
committermerge-script <hello@evanlinjin.me>
Sun, 18 Oct 2026 10:18:54 +0000 (21:18 +1100)
commit81b10fe0031ae087f25e6846ffaca51d99849175
tree8dc648eae07fc223dcf671327cb8a6e7adedffbe
parent7f7f653b760f083b98beb94a5aaaa047f2c0288c
parentbb7373ba163fccf578113a601e3e4fb5205bc230
Merge bitcoindevkit/bdk#2377: fix(chain): don't panic on overlapping descriptors in release

bb7373ba163fccf578113a601e3e4fb5205bc230 fix(chain): don't panic on overlapping descriptors in release (志宇)

Pull request description:

  ### Description

  Fixes #2277. Supersedes #2327.

  Overlapping descriptors stay a caller contract violation. The docs now say so (debug builds panic), and `reveal_next_spk` returns `None` instead of panicking in release.

  ### Notes to the reviewers

  The regression test is gated on `cfg(not(debug_assertions))`, so it only runs with `--release` (not in CI).

  ### Changelog notice

  * Fixed: `KeychainTxOutIndex::reveal_next_spk` no longer panics in release builds on overlapping descriptors.

  ### Checklists

  #### All Submissions:

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

  #### Bugfixes:

  * [ ] 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

  🤖 Generated with [Claude Code](https://claude.com/claude-code)

ACKs for top commit:
  oleonardolima:
    utACK bb7373ba163fccf578113a601e3e4fb5205bc230
  evanlinjin:
    self-ACK bb7373ba163fccf578113a601e3e4fb5205bc230

Tree-SHA512: 4f65e9ebbb35ec09528c6c29dda9e898939c75ce72033ca9335180d5d6160ab2877d5091379d85d08621a07e75d0da34e2e8162743e5c3c33654885a6dffef93
crates/chain/src/indexer/keychain_txout.rs