• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

bitcoindevkit / bdk / 14777747999
79%

Build:
DEFAULT BRANCH: master
Ran 01 May 2025 03:10PM UTC
Jobs 1
Files 30
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 May 2025 03:07PM UTC coverage: 82.66% (+0.1%) from 82.54%
14777747999

push

github

ValuedMammal
Merge bitcoindevkit/bdk#1857: feat(rpc)!: Update `Emitter::mempool` to support `evicted_at`

8513d83a2 feat(bitcoind_rpc)!: Reduce friction of `Emitter` API. (志宇)
0a02d2683 feat(chain): Add convenience conversions for `CanonicalTx` (志宇)
d11f6efe8 feat(graph): add convenience function for inserting relevant `evicted_at`s (Wei Chen)
28ef7c9a2 refactor(rpc)!: update `mempool` interface and test code (valued mammal)

Pull request description:

  Fixes #1740

  ### Description

  Work for this began as part of #1811, based on this [comment](https://github.com/bitcoindevkit/bdk/pull/1811#discussion_r1945941691).

  `Emitter::mempool` now returns a `MempoolEvent` which provides the data for tracking `evicted_at`:

  ```
  pub struct MempoolEvent {
      /// Unemitted transactions or transactions with ancestors that are unseen by the receiver.
      ///
      /// To understand the second condition, consider a receiver which filters transactions based on
      /// whether it alters the UTXO set of tracked script pubkeys. If an emitted mempool transaction
      /// spends a tracked UTXO which is confirmed at height `h`, but the receiver has only seen up to
      /// block of height `h-1`, we want to re-emit this transaction until the receiver has seen the
      /// block at height `h`.
      pub new_txs: Vec<(Transaction, u64)>,

      /// [`Txid`]s of all transactions that have been evicted from mempool.
      pub evicted_txids: HashSet<Txid>,

      /// The latest timestamp of when a transaction entered the mempool.
      ///
      /// This is useful for setting the timestamp for evicted transactions.
      pub latest_update_time: u64,
  }
  ```

  ### Changelog notice

  * Change `Emitter::mempool` to return `MempoolEvent`s which contain mempool-eviction data.
  * Change `Emitter::client` to have more relaxed generic bounds. `C: Deref, ... (continued)

122 of 135 new or added lines in 4 files covered. (90.37%)

1 existing line in 1 file now uncovered.

5301 of 6413 relevant lines covered (82.66%)

31198.14 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
75.28
-2.63% crates/chain/src/chain_data.rs
4
86.31
4.66% crates/bitcoind_rpc/src/lib.rs
6
83.62
-0.23% crates/chain/src/tx_graph.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
86.31
4.66% crates/bitcoind_rpc/src/lib.rs
Jobs
ID Job ID Ran Files Coverage
1 14777747999.1 01 May 2025 03:10PM UTC 30
82.66
GitHub Action Run
Source Files on build 14777747999
  • Tree
  • List 30
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • add65bc4 on github
  • Prev Build on master (#14776962254)
  • Next Build on master (#14778243514)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc