Given a Descriptor
of the form tr(xpub/0/*)#checksumA
, derive tr(xpub/0/i)#checksumB
. Currently this requires either string manipulation or inferring a fresh descriptor from a wallet script. The latter is not a 1-to-1 mapping, so e.g. a sorted_multi
descriptor can’t be inferred this way.
This can create a problem when trying to display an address on an external signer device: https://github.com/bitcoin/bitcoin/blob/a0988140b71485ad12c3c3a4a9573f7c21b1eff8/src/wallet/external_signer_scriptpubkeyman.cpp#L51-L57
Some devices, e.g. the Blockstream Jade https://github.com/bitcoin-core/HWI/pull/559#issuecomment-1007399463, can’t display an address based on just the derivation info and a public key, they need the xpub
too.