Skip to content

descriptor: fix two parse-error messages and cover them with tests - #857

Open
fametrano wants to merge 1 commit into
bitcoin-core:masterfrom
fametrano:descriptor-fix-error-messages
Open

fametrano wants to merge 1 commit into
bitcoin-core:masterfrom
fametrano:descriptor-fix-error-messages

Conversation

@fametrano

@fametrano fametrano commented Sep 7, 2026 •

Copy link
Copy Markdown
Contributor

This PR fixes two error messages in hwilib/descriptor.py:

  • The bare-multisig error printed a literal {}, because its .format(len(pubkeys)) call was missing. It now reports the count, e.g. "Cannot have 4 pubkeys in bare multisig: only at most 3 pubkeys".
  • The wpkh branch reported "More than one pubkey in pkh descriptor", copied from the pkh branch. It now says "wpkh".

test/test_descriptor.py adds test_wpkh_rejects_multiple_pubkeys and test_bare_multisig_too_many_pubkeys_reports_count. Both call parse_descriptor, fail before the fix and pass after it.

This mirrors the same change in Electrum (spesmilo/electrum#10947, merged 2026-09-09).

Written with LLM, a computer and the Internet; the mistakes, as usual, are all mine.

The bare-multisig error prints a literal "{}" because its .format() call
is missing. The wpkh branch reports "More than one pubkey in pkh
descriptor", copied from the pkh branch.

Add unit tests for both error paths: a wpkh() with two pubkeys, and a
top-level bare multisig with four pubkeys whose message must report the
count.
@fametrano
fametrano force-pushed the descriptor-fix-error-messages branch from 3c51513 to d8a39c4 Compare September 9, 2026 14:10
@fametrano fametrano changed the title descriptor: fix two parse-error messages descriptor: fix two parse-error messages and cover them with tests Sep 9, 2026
@fametrano

Copy link
Copy Markdown
Contributor Author

Added two regression tests covering both fixed messages, mirroring the equivalent electrum change (spesmilo/electrum#10947). Both fail on the pre-fix messages and pass after the fix; test/test_descriptor.py goes from 16 to 18 tests.

@fametrano

Copy link
Copy Markdown
Contributor Author

The electrum twin, spesmilo/electrum#10947, was merged on 2026-09-09 (87121026, by ecdsa): same two messages, same two tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant