OptionalpaymentThe corresponding bitcoinjs-lib Payment for the provided expression, if applicable.
OptionalexpandedThe expanded descriptor expression. See ExpansionMap for a detailed explanation.
OptionalminiscriptThe extracted miniscript from the expression, if any.
OptionalexpansionA map of key expressions in the descriptor to their corresponding expanded keys. See ExpansionMap for a detailed explanation.
OptionalisA boolean indicating whether the descriptor uses SegWit.
OptionalisA boolean indicating whether the descriptor uses Taproot.
OptionalexpandedThe expanded miniscript, if any.
It corresponds to the expandedExpression without the top-level script
expression.
OptionaltapThe taproot tree expression, if any. Only defined for tr(KEY, TREE).
Example: {pk(02aa...),{pk(03bb...),pk(02cc...)}}.
OptionaltapParsed taproot leaf tree for tr(KEY, TREE), if any.
Shape:
{ left, right }{ expression: string }Example:
{
left: { expression: 'pk(02aa...)' },
right: {
left: { expression: 'and_v(v:pk(03bb...),older(12960))' },
right: { expression: 'pk(02cc...)' }
}
}
OptionaltapCompiled taproot leaf metadata tree for tr(KEY, TREE), if any.
Same branch/leaf tree shape as tapTree, but each leaf is enriched with:
expandedExpression: descriptor-level expanded leaf expressionexpandedMiniscript: miniscript-expanded leafexpansionMap: resolved keys for that leaf (@0, @1, ...)tapScript: compiled tapscript bytesversion: leaf version (typically tapscript 0xc0)Note: @i placeholders are scoped per leaf, since each leaf is expanded
and satisfied independently.
Example:
{
left: {
expression: 'pk(02aa...)',
expandedExpression: 'pk(@0)',
expandedMiniscript: 'pk(@0)',
expansionMap: {
'@0': { pubkey: Uint8Array(32), ... }
},
tapScript: Uint8Array(...),
version: 0xc0
},
right: {
left: {
expression: 'and_v(v:pk(03bb...),older(12960))',
expandedExpression: 'and_v(v:pk(@0),older(12960))',
expansionMap: { '@0': { pubkey: Uint8Array(32), ... } },
tapScript: Uint8Array(...),
version: 0xc0
},
right: {
expression: 'pk(02cc...)',
expandedExpression: 'pk(@0)',
expansionMap: { '@0': { pubkey: Uint8Array(32), ... } },
tapScript: Uint8Array(...),
version: 0xc0
}
}
}
OptionalredeemThe redeem script for the descriptor, if applicable.
OptionalwitnessThe witness script for the descriptor, if applicable.
Whether the descriptor is a ranged-descriptor.
This is the preferred or authoritative representation of an output descriptor expression. It removes the checksum and, if it is a ranged-descriptor, it particularizes it to its index.
DescriptorsFactorycreates and returns theexpand()function that parses a descriptor expression and destructures it into its elemental parts.Expansionis the type thatexpand()returns.