doc: Use multi-path descriptors in descriptors.md and linked tests #34115

pull ritoban23 wants to merge 1 commits into bitcoin:master from ritoban23:doc-multipath-descriptors changing 2 files +23 −23
  1. ritoban23 commented at 3:32 pm on December 19, 2025: none

    This PR updates the documentation and functional test to use multi-path descriptor syntax /<0;1>/* instead of separate external/internal descriptors, making examples more concise and aligned with modern descriptor usage. fixes #34086

    Changes

    Documentation (doc/descriptors.md)

    • Updated sortedmulti example to use /<0;1>/* syntax for both receiving and change addresses
    • Updated thresh (miniscript) example to use /<0;1>/* syntax
    • Updated descriptor checksums to match the new syntax
    • Updated explanation text to use (/0) and (/1) notation for clarity

    Test (test/functional/wallet_miniscript_decaying_multisig_descriptor_psbt.py)

    • Modified to import a single multi-path descriptor instead of two separate descriptors
    • Updated _get_xpub() to strip trailing derivation paths for multi-path usage
    • Updated create_multisig() to construct and import multi-path descriptors
    • Added descsum_create() import to preserve <0;1> syntax (using getdescriptorinfo() would collapse it to a single path)
    • Added range parameter [0, 1000] for proper address generation

    Rationale

    Multi-path descriptors with <0;1> syntax are more concise and easier to use than managing separate external and internal descriptors. When a descriptor contains exactly two elements in the multi-path specifier, Bitcoin Core automatically imports the second as an internal (change) descriptor.

    The key technical fix in the test was using descsum_create() instead of getdescriptorinfo() to add the checksum, because getdescriptorinfo() expands multi-path descriptors and only returns the first path, preventing the multi-path syntax from being preserved during import.

    Testing

    The functional test wallet_miniscript_decaying_multisig_descriptor_psbt.py now passes successfully with the multi-path descriptor properly expanding to both receiving (/0/*) and change (/1/*) descriptors during import.

    0python3 [wallet_miniscript_decaying_multisig_descriptor_psbt.py](http://_vscodecontentref_/0)
    1# Tests successful
    
  2. doc: Use multi-path descriptors in descriptors.md and linked tests 5ee195e087
  3. DrahtBot added the label Docs on Dec 19, 2025
  4. DrahtBot commented at 3:32 pm on December 19, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34115.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  5. fanquake commented at 3:33 pm on December 19, 2025: member
    Duplicate of #34100.
  6. fanquake closed this on Dec 19, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-01-02 15:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me