descriptors
descriptors copied to clipboard
Support Slip-132 variants
Add SLIP-132 extended public key support (zpub, ypub, vpub, upub)
Hey @landabaso, I know this might sound crazy, but I keep coming across applications that are constructing descriptors with slip-132 variants even though the concept of the descriptor itself renders this a redundant expression of intent...
Here is a solution to transmute encountered variants to the standard x|t versions that bip32 expects.
Of course I could pre-transform descriptors prior to passing them to this library, but I wanted to see what you thought of this idea.
Changes
- Updated regex in
re.tsto accept zpub/ypub/vpub/upub prefixes (and their uppercase multisig variants) - Added
convertToStandardXpub()inkeyExpressions.tsthat converts SLIP-132 keys to xpub/tpub by swapping version bytes before passing to bip32 - Added test vectors proving zpub/ypub/vpub/upub descriptors derive the same addresses as their xpub/tpub equivalents