bdk-cli
bdk-cli copied to clipboard
Add experimental silent payment transaction creation support
Description
This PR adds experimental support for creating silent payment transactions through a new CreateSpTx command. The implementation integrates the bdk_sp crate to enable sending Bitcoin to silent payment addresses.
Key changes:
- Adds
bdk_spdependency as an optional feature - Implements
CreateSpTxcommand with support for silent payment recipients - Includes parser for silent payment
address:amountpairs - Returns signed transactions ready for broadcast (not PSBTs due to silent payment derivation constraints)
Notes to the reviewers
- This feature is marked as EXPERIMENTAL and includes warnings against mainnet use
- The command returns signed transactions directly rather than PSBTs because silent payment script pubkey derivation cannot be performed securely in a trustless manner with standard PSBT workflows
- RBF is disabled for silent payment transactions (sequence set to MAX)
- The implementation handles both single key and extended key signers
- Error handling uses temporary
.expect()calls that should be addressed in future iterations
Changelog notice
Added: Experimental silent payment transaction creation via CreateSpTx command (feature-gated behind sp flag)
Checklists
All Submissions
- [x] I've signed all my commits
- [x] I followed the conventional commit guidelines
- [x] I ran cargo fmt, clippy and test before committing
New Features
~~* [ ] I've added tests for the new feature~~
- [x] I've added docs for the new feature