From: merge-script Date: Fri, 19 Dec 2025 17:31:13 +0000 (+0100) Subject: Merge bitcoindevkit/bdk-cli#200: feat: add non-persisted Async Payjoin support X-Git-Url: http://internal-gitweb-vhost/struct.HeaderAndShortIds.html?a=commitdiff_plain;h=HEAD;p=bdk-cli Merge bitcoindevkit/bdk-cli#200: feat: add non-persisted Async Payjoin support c6bce58871e23c26d116e5c7b767ff4209a7b3c4 docs: add Payjoin capability to the README (Mehmet Efe Umit) 4cab2fa8f4d4b7fe95453bf3391019cf2dd4d7aa feat: add payjoin receive support (Mehmet Efe Umit) 0112c924adf186b8b62d77d8dc0b2837426ea4af feat: add payjoin send support (Mehmet Efe Umit) f62287aff383555a301fd62be40064e1c54ec119 refactor: move broadcast to a helper function (Mehmet Efe Umit) a28076af9b1016d5456de6c2b81d502beb05737d refactor: move sync to a helper function (Mehmet Efe Umit) Pull request description: ### Description This change implements the online commands for both sending and receiving a Payjoin. Note that this PR does not implement Payjoin persistence. ### Notes to the reviewers Tested on my local regtest with rpc using the OHTTP relays and directories in the [payjoin-cli README](https://github.com/payjoin/rust-payjoin/tree/master/payjoin-cli). Feel free to do the same, and let me know if there are comments, documentation, etc. which should be changed with this. I was not able to find any... Here are the sample command you can use to test on regtest: **Send** ``` cargo run --features=rpc -- -n regtest wallet -a USERNAME:PASSWORD -w WALLET_NAME -e "DESCRIPTOR" send_payjoin --ohttp_relay "RELAY1" --ohttp_relay "RELAY2" --fee_rate 1 --uri "URI" ``` **Receive** ``` cargo run --features=rpc -- -n regtest wallet -a USERNAME:PASSWORD -w WALLET_NAME -e "DESCRIPTOR" receive_payjoin --max_fee_rate 1000 --directory "https://payjo.in" --ohttp_relay "RELAY1" --ohttp_relay "RELAY2" --amount AMOUNT ``` ### Checklists #### All Submissions: * [x] I've signed all my commits * [X] I followed the [contribution guidelines](https://github.com/bitcoindevkit/bdk-cli/blob/master/CONTRIBUTING.md) * [X] I ran `cargo fmt` and `cargo clippy` before committing #### New Features: * [] I've added tests for the new feature <--- There is no testing suite for this. * [X] I've added docs for the new feature * [N/A] I've updated `CHANGELOG.md` #### Bugfixes: * [ ] This pull request breaks the existing API * [ ] 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: tvpeter: tACK c6bce58871e23c26d116e5c7b767ff4209a7b3c4 spacebear21: utACK c6bce58871e23c26d116e5c7b767ff4209a7b3c4 Tree-SHA512: 1da8295d0eedf6fd31095085e6ef0d90ab46d5eed6c2f21a7539a6c3ff6d1127d0cdbb664d519bcb4a783ea2707452bf8cd3cb961a67ba3e61d989701e205dca --- 175a6060040e474aa0026ac6ecf8748bedf69100