Fixes #35250.\n\nThis keeps MuSig2 secnonces keyed by both the session id and the generated public nonce, so re-processing the same nonce-less PSBT starts another signing session instead of replacing or asserting on the existing one. Signing later looks up the secnonce matching the pubnonce present in the PSBT and deletes only that session after use.\n\nTests:\n- cmake --build build-depends -t test_bitcoin -j"$(nproc)"\n- build-depends/bin/test_bitcoin --run_test=psbt_wallet_tests --catch_system_errors=no --log_level=test_suite\n- cmake --build build-depends -t bitcoind bitcoin-cli -j"$(nproc)"\n- python3 build-depends/test/functional/test_runner.py --jobs=1 wallet_musig.py
wallet: keep MuSig2 signing sessions by pubnonce #35268
pull juanfradb wants to merge 1 commits into bitcoin:master from juanfradb:codex/musig-secnonce-pubnonce changing 5 files +74 −29-
juanfradb commented at 11:42 PM on May 11, 2026: none
-
Keep MuSig2 signing sessions by pubnonce dd71b9b671
- DrahtBot added the label Wallet on May 11, 2026
-
DrahtBot commented at 11:42 PM on May 11, 2026: contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
<!--006a51241073e994b41acfe9ec718e94-->
Code Coverage & Benchmarks
For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35268.
<!--021abf342d371248e50ceaed478a90ca-->
Reviews
See the guideline for information on the review process. A summary of reviews will appear here.
<!--5faf32d7da4f0f540f40219e4f7537a3-->
LLM Linter (✨ experimental)
Possible places where comparison-specific test macros should replace generic comparisons:
test/functional/wallet_musig.py:assert first_pubnonces != second_pubnonces-> recommendassert_not_equal(first_pubnonces, second_pubnonces)
<sup>2026-05-11 23:42:51</sup>
-
achow101 commented at 2:04 AM on May 12, 2026: member
Thanks, but LLM output is not accepted if the author can not properly explain, test or could have written the change themselves.
The bottleneck in this project has always been review and testing, not writing code. Development here is intentionally conservative and slow, and reviewer attention is the scarcest resource we have. LLMs have made this worse, anyone can now prompt them and post their output as PRs. There is an infinite amount plausible looking "improvements" for LLMs to suggest and work on.
Unless we fully trust LLMs to both write and review code, humans still have to spend time understanding the proposed changes, which incurs a non-zero cost for every opened PR.
I understand that contributing to this project can be intimidating, and using LLMs may seem tempting, but it really creates more issues for this project than it solves. The best way to help this project, is to review and test changes. You can use LLMs for this, but you shouldn't solely rely on them, or just post their output.
Please reconsider whether it's something you genuinely think the project should pursue, independent of what your LLM suggested.
I'll close this for now.
- achow101 closed this on May 12, 2026