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
sortedmultiexample 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 (usinggetdescriptorinfo()would collapse it to a single path) - Added
rangeparameter[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