@bitcoinerlab/descriptors - v3.0.5
    Preparing search index...

    Type Alias Expansion

    DescriptorsFactory creates and returns the expand() function that parses a descriptor expression and destructures it into its elemental parts. Expansion is the type that expand() returns.

    type Expansion = {
        payment?: Payment;
        expandedExpression?: string;
        miniscript?: string;
        expansionMap?: ExpansionMap;
        isSegwit?: boolean;
        isTaproot?: boolean;
        expandedMiniscript?: string;
        tapTreeExpression?: string;
        tapTree?: TapTreeNode;
        tapTreeInfo?: TapTreeInfoNode;
        redeemScript?: Uint8Array;
        witnessScript?: Uint8Array;
        isRanged: boolean;
        canonicalExpression: string;
    }
    Index

    Properties

    payment?: Payment

    The corresponding bitcoinjs-lib Payment for the provided expression, if applicable.

    expandedExpression?: string

    The expanded descriptor expression. See ExpansionMap for a detailed explanation.

    miniscript?: string

    The extracted miniscript from the expression, if any.

    expansionMap?: ExpansionMap

    A map of key expressions in the descriptor to their corresponding expanded keys. See ExpansionMap for a detailed explanation.

    isSegwit?: boolean

    A boolean indicating whether the descriptor uses SegWit.

    isTaproot?: boolean

    A boolean indicating whether the descriptor uses Taproot.

    expandedMiniscript?: string

    The expanded miniscript, if any. It corresponds to the expandedExpression without the top-level script expression.

    tapTreeExpression?: string

    The taproot tree expression, if any. Only defined for tr(KEY, TREE). Example: {pk(02aa...),{pk(03bb...),pk(02cc...)}}.

    tapTree?: TapTreeNode

    The parsed taproot tree, if any. Only defined for tr(KEY, TREE). Example:

    {
    left: { expression: 'pk(02aa...)' },
    right: {
    left: { expression: 'pk(03bb...)' },
    right: { expression: 'pk(02cc...)' }
    }
    }
    tapTreeInfo?: TapTreeInfoNode

    The compiled taproot tree metadata, if any. Only defined for tr(KEY, TREE). Same as tapTree, but each leaf includes:

    • expandedExpression: descriptor-level expanded leaf expression
    • optional expandedMiniscript: miniscript-expanded leaf (when applicable)
    • key expansion map
    • compiled tapscript (tapScript)
    • leaf version.

    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: ExpansionMap;
    tapScript: Uint8Array;
    version: number;
    },
    right
    redeemScript?: Uint8Array

    The redeem script for the descriptor, if applicable.

    witnessScript?: Uint8Array

    The witness script for the descriptor, if applicable.

    isRanged: boolean

    Whether the descriptor is a ranged-descriptor.

    canonicalExpression: string

    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.