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

bitcoindevkit / bdk-cli / 22332464304
11%

Build:
DEFAULT BRANCH: master
Ran 24 Feb 2026 01:25AM UTC
Jobs 1
Files 8
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

24 Feb 2026 01:21AM UTC coverage: 10.89% (+0.2%) from 10.717%
22332464304

push

github

tvpeter
Merge bitcoindevkit/bdk-cli#230: Refactor sync_kyoto_client

974c8d566 refactor(payjoin): add payjoin error variants to BDKCliError (Mshehu5)
35d831329 refactor(payjoin): implement polling-based monitoring with timeout (Mshehu5)
b88426adc refactor: use BlockchainClient as references (Mshehu5)
99b71fdae refactor: use handle pattern for Kyoto client (Mshehu5)

Pull request description:

  <!-- You can erase any parts of this template not applicable to your Pull Request. -->

  ### Description

  <!-- Describe the purpose of this PR, what's being adding and/or fixed -->
  This PR addresses issues encountered while implementing persistence for Payjoin specifically around the BlockchainClient only being an owned variable rather than being able to be borrowed/referenced as &Blockchainclient.
  While working on persistence I ran into problems while working on resume command which needs a blockchain client to resume states such as monitor_payjoin_proposal (receiver) and process_payjoin_proposal (sender)
  Because BlockchainClient can only be owned the current design will require a function signature of passing two separate clients to resume sender and receiver states. I initially considered splitting the command into resume_send and resume_receive but this does not fully solve the issue. In particular the sender’s process_payjoin_proposal may call broadcast_transaction and potentially broadcast multiple transactions for persisted send entries stored in the database which still requires reusable access to the client.

  This Ownership issue was previously mentioned in #200 and is also noted in a comment at the top of monitor_payjoin_proposal. It prevents the function from being able to resync multiple times and reliably detect when a transaction appears in the mempool. The root cause is that the Kyoto client Box<LightClient> is destructur... (continued)

0 of 121 new or added lines in 3 files covered. (0.0%)

3 existing lines in 3 files now uncovered.

268 of 2461 relevant lines covered (10.89%)

0.31 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
19
13.1
0.1% src/handlers.rs
22
0.0
0.0% src/utils.rs
80
0.0
0.0% src/payjoin/mod.rs

Uncovered Existing Lines

Lines Coverage ∆ File
1
13.1
0.1% src/handlers.rs
1
0.0
0.0% src/payjoin/mod.rs
1
0.0
0.0% src/utils.rs
Jobs
ID Job ID Ran Files Coverage
1 22332464304.1 24 Feb 2026 01:25AM UTC 8
10.89
GitHub Action Run
Source Files on build 22332464304
  • Tree
  • List 8
  • Changed 5
  • Source Changed 4
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22332464304
  • 368b8b4c on github
  • Prev Build on master (#21153868360)
  • Next Build on master (#22339154434)
  • Delete
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