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