In MiniscriptDescriptor::ToStringHelper()
only the StringType::Private
variant of the type
argument was handled. This PR implements serializing w/ all variants of StringType
& add a functional test for the descriptor triggering the related issue.
Closes #31694: previously when calling listdescriptors
RPC on a wallet containing a taproot descriptor w/ a (miniscript) taptree, origins of internal key & taptree were serialized w/ differents hardened derivation markers:
- origin of the internal key were serialized w/
StringType::Normalized
type (usingh
as marker) - origins of taptree keys were serialized w/
StringType::Private
type (using'
as marker)
Note: Origins in segwit (wsh()
) miniscript descriptors were also serialized w/ StringType::Private
type ('
marker) and are now serialized w/ StringType::Normalized
type (h
marker).