]> Untitled Git - bdk/commit
Merge bitcoindevkit/bdk#2240: fix(chain): skip evicted txs in leftover canonicalization master github/master
authormerge-script <hello@evanlinjin.me>
Fri, 24 Jul 2026 10:10:25 +0000 (10:10 +0000)
committermerge-script <hello@evanlinjin.me>
Fri, 24 Jul 2026 10:10:25 +0000 (10:10 +0000)
commit337e9d68414c54d2ab74082bab94b58ac130479c
tree9a28bd64d52303fb5be7e6c7652b9ed7485a33de
parent1acb4d00af40c317f02de9fef678cb72edbdc47a
parent2a8512b15706e3f05a4a506af0293c2d33d12581
Merge bitcoindevkit/bdk#2240: fix(chain): skip evicted txs in leftover canonicalization

2a8512b15706e3f05a4a506af0293c2d33d12581 fix(chain): skip evicted leftover transactions (Noah Joeris)
9e404720bbc0ba462a661141c01325815aa6c180 feat(chain): add TxNode::is_evicted (Noah Joeris)

Pull request description:

  ### Description

  `CanonicalStage::LeftOverTxs` doesn't filter evicted txs and can mark them canonical. So a stale-anchored tx that was evicted/replaced could still show as unconfirmed.

  Example: a tx confirms, then a reorg leaves only a stale anchor. Leftover treats it as unconfirmed. If it's later RBF'd or missing from the mempool, leftover still marks it unconfirmed.

  ### Changelog notice
  - Add `TxNode::is_evicted()` for determining mempool eviction state.
  - Skip evicted transactions during leftover canonicalization.

  ### 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
  * [ ] I'm linking the issue being fixed by this PR

ACKs for top commit:
  evanlinjin:
    ACK 2a8512b15706e3f05a4a506af0293c2d33d12581

Tree-SHA512: 615a46406600115210a272668b01e9a85a6d6fbbcc9d055cf83617fcc5c6e742f845b57e34277e26ecdffe41f39b01576ae038cd7eed5ce916fcb505b58fc8e8