From: merge-script Date: Sat, 14 Nov 2026 05:59:46 +0000 (+0400) Subject: Merge bitcoindevkit/bdk-cli#389: refactor: drop cli-table, payjoin history as JSON X-Git-Url: http://internal-gitweb-vhost/-script/src/example_cli/scripts/-script-interface/PsbtException.InvalidProprietaryKey.html?a=commitdiff_plain;p=bdk-cli Merge bitcoindevkit/bdk-cli#389: refactor: drop cli-table, payjoin history as JSON eb9536d43ec01b04e572947fdbab7c3a943a1105 ci: make tracing optional, drop cli-table (Vadim Anufriev) 22a01a38094197613b5c9213e71783998ffd87d5 refactor(payjoin): return session history as JSON (Vadim Anufriev) Pull request description: ### Description The `--no-default-features` build and clippy jobs are red on every open PR, including Markdown-only ones (#386, #387). `cli-table`, `tracing` and `tracing-subscriber` are unused there, and recent cargo flags that ([`unused_dependencies`](https://doc.rust-lang.org/cargo/reference/lints.html#unused_dependencies), warn by default) while the workflow passes `build-warnings: deny`. `cli-table` is dropped entirely, as @tvpeter suggested: its last user, the payjoin session history, now returns JSON like the rest of the module. `payjoin history` on `master`: ``` +------------+-----------------+---------------------+-------------------------------+ | Session ID | Sender/Receiver | Completed At | Status | +------------+-----------------+---------------------+-------------------------------+ | 1 | Receiver | Not Completed | Waiting for original proposal | +------------+-----------------+---------------------+-------------------------------+ | 2 | Receiver | 2026-11-13 17:50:42 | Session cancelled | +------------+-----------------+---------------------+-------------------------------+ ``` and on this branch: ```json { "sessions": [ { "id": "1", "role": "Receiver", "status": "Waiting for original proposal", "completed_at": null }, { "id": "2", "role": "Receiver", "status": "Session cancelled", "completed_at": "2026-11-13 18:34:22" } ] } ``` ### Notes to the reviewers An active session now reports `"completed_at": null` instead of the string `Not Completed`. `tracing` is on `cbf` explicitly, although `cbf` already implies `_payjoin-dependencies`, so cbf logging does not depend on a payjoin-internal feature. `just pre-push` misses this: the lint is cargo's, not rustc's, so `-D warnings` after `--` does not apply. To reproduce: `cargo build --no-default-features --config 'build.warnings="deny"'`. The `SessionHistory` wrapper exists to keep the field order: serializing it directly preserves declaration order, while `json!` would sort the keys alphabetically. ### 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 ACKs for top commit: tvpeter: ACK eb9536d43ec01b04e572947fdbab7c3a943a1105 Tree-SHA512: 556923b5466720ea21dca4a7d4a5798e48cf2b317db0fbab68b3b94e20d6b822edab3d57c2a12e97f4b5c90e52ea727ba3770eb952da30423a26958d69a6e5d5 --- ea066795da1d4c15c7686f31cfc16d27750fafe3