From: merge-script Date: Thu, 2 Jul 2026 11:45:01 +0000 (+0100) Subject: Merge bitcoindevkit/bdk-cli#242: Payjoin persistence X-Git-Url: http://internal-gitweb-vhost/blockdata/script/encode/-script/scripts/database/constant.OP_VERIFY.html?a=commitdiff_plain;p=bdk-cli Merge bitcoindevkit/bdk-cli#242: Payjoin persistence 2f14a368158dbeacfc9420587a85fb7b29e2ab07 Retry Payjoin requests with other relays (Mshehu5) 6fb0ecd00e089a8cd2d8eecf46e8f6ac48dc4033 Restrict payjoin inputs to confirmed UTXOs (Mshehu5) 262ce86573a98bfe33cb92d52d2da0acece32538 Add payjoin persistence test (Mshehu5) e85a92cd655b7d44a401f01ca86dad782e04e54b Prune stale payjoin sessions on DB open (Mshehu5) 181d1325ae5fae60c47c47df7c079abebc84c595 chore(deps): Bump payjoin and enable reqwest rustls (Mshehu5) b9ca88ff6fbd8846d9f6122a7695cc129b71ad8a Document payjoin recovery commands and SQLite setup (Mshehu5) 559ba76255adaa2ab129c5df63d796ae53f5ac67 Add commands to resume and view payjoin history (Mshehu5) 4f71144a49047c9debd481cbb2a75cd86d462906 Integrate payjoin session persistence into workflow (Mshehu5) c2bdb3d53f503d9ce58cb2c43771320a89aefdf4 Add SQLite backing store for payjoin sessions (Mshehu5) Pull request description: ### Description https://github.com/bitcoindevkit/bdk-cli/pull/230 needed to be merged for this to go through Address https://github.com/bitcoindevkit/bdk-cli/issues/149 also follow up to #200 This PR adds persistance to existing async payjoin integration This introduces neccessary database model and tables also add commad for resume to allow interrupted sessions to be continued also a particular session either send or receive. A history commad to view payjoin history and status has been added ### Notes to the reviewers Step to review this include making a payjoin transaction Run a receiver to get a BIP21 URI then pass it to the sender as seen in docs https://github.com/bitcoindevkit/bdk-cli/blob/b9cf2acc5f10db46fa30777ff0910b8610a5fc33/README.md?plain=1#L121-L141 To test resumption, interrupt either side with Ctrl+C mid-session then run resume on that side to continue. A few scenarios worth covering: receiver resuming after interrupt and sender resuming after interrupt. Use history after each scenario to confirm the session state was persisted correctly. docs for this can be seen in 7e4ffd1d3ad1165a7d9187bcacb0bdab3303dbb3 ### 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: * [x] I've added docs for the new feature Top commit has no ACKs. Tree-SHA512: 1e8be24fbf7d894687389192381242cebafcaffd8601418e197cfb7942917cbcd5ae308ed5e9fcc644c1dacb78abed9aa23c49c5ff08151b4657956e89d14217 --- 16dc723495d066b31a1e46ba3e5b0c4a58d058d3