Skip to content

feat(utxo-locking)!: Add commands to lock, unlock and list locked UTXOs#294

Open
tvpeter wants to merge 12 commits into
bitcoindevkit:masterfrom
tvpeter:feat/utxo-locking
Open

feat(utxo-locking)!: Add commands to lock, unlock and list locked UTXOs#294
tvpeter wants to merge 12 commits into
bitcoindevkit:masterfrom
tvpeter:feat/utxo-locking

Conversation

@tvpeter

@tvpeter tvpeter commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR updates the Wallet API to v3.1.0 and adds wallet subcommands to lock and unlock UTXOs. Locked outpoints are excluded from coin selection, and the lock state is stored in the wallet. It also updates the bdk_redb to v0.2.0 and bdk_kyoto to v0.17.0.

Fixes #293 and builds upon #289 and #278

Notes to the reviewers

Changelog notice

  • Update bdk_wallet to v3.1.0
  • Add wallet lock_utxo command
  • Add wallet unlock_utxo command
  • Add wallet locked_uxtos command
  • Update bdk_redb to v0.2.0
  • Update bdk_kyoto to v0.17.0
  • Replace Network enum with NetworkKind
  • Replace include_output_redeem_witness_script with add_global_xpubs in TxBuilder
  • Replace submit_package with broadcast_random for broadcasting transactions in KyotoClient

Checklists

All Submissions:

  • I've signed all my commits
  • I followed the contribution guidelines
  • I ran cargo fmt and cargo clippy before committing

New Features:

  • I've added tests for the new feature
  • I've added docs for the new feature
  • I've updated CHANGELOG.md

tvpeter added 9 commits June 22, 2026 22:49
- add BdkCli helper struct and impl methods
- add integration tests for the key subcommand
operations
- Add integration tests for wallets, descriptor,
compile and config modules
- add integration tests for offline wallet
operations
- Add test for creating, signing, broadcasting tx
- Add test for combining psbt, fee bump and other
psbt related commands
- Add bip322 tests
- add saving proxy_opts for electrum and esplora
clients to config and reading values
- fix prepare_home_dir util fn
- Update bdk_wallet to v3.1.0
- Replaced Network enum with NetworkKind
- Replaced `include_output_redeem_witness_script`
with `add_global_xpubs`
- update bdk_redb to v0.2.0
- update bdk_kyoto to v0.17.0
- add ew broadcast/subscriber API for KyotoClient
- add wallet commands to lock, unlock and list
locked utxos
- update unspent command to show status of each
outpoint
@tvpeter tvpeter self-assigned this Jun 30, 2026
@tvpeter tvpeter changed the title feat(utxo-locking)!: Add wallet commands to lock, unlock and list locked UTXOs feat(utxo-locking)!: Add commands to lock, unlock and list locked UTXOs Jun 30, 2026
@tvpeter tvpeter added this to the CLI 4.0.0 milestone Jun 30, 2026
@codecov

codecov Bot commented Jul 9, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 73.91304% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 57.02%. Comparing base (6000dd5) to head (aba6c66).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/client.rs 0.00% 9 Missing ⚠️
src/handlers/offline.rs 91.30% 4 Missing ⚠️
src/handlers/descriptor.rs 33.33% 2 Missing ⚠️
src/utils/descriptors.rs 60.00% 2 Missing ⚠️
src/handlers/dns/mod.rs 0.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
+ Coverage   56.89%   57.02%   +0.12%     
==========================================
  Files          22       22              
  Lines        3661     3644      -17     
==========================================
- Hits         2083     2078       -5     
+ Misses       1578     1566      -12     
Flag Coverage Δ
rust 57.02% <73.91%> (+0.12%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

-add test for locking, unlocking and listing
locked utxos
@tvpeter tvpeter force-pushed the feat/utxo-locking branch from e26cf5e to aba6c66 Compare July 9, 2026 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Add Lock/Unlock UTXO Commands

1 participant