Skip to content

compile_tr and compile_tr_private_experimental fail for pk(A) #902

@simongltr

Description

@simongltr

Both compile_tr and compile_tr_private_experimental fail for pk(A). Expected result in both cases is tr(A), extract_key correctly promotes A to the taproot internal key, but the remaining Policy::Unsatisfiable is not handled the same as Policy::Trivial, causing it to fall through to leaf compilation with nothing to compile.

compile_tr_private_experimental also panics for and(pk(A),pk(B)) (compile_tr is fine there).

I discovered this while trying to push for a privacy first taproot compiler in bdk-cli: bitcoindevkit/bdk-cli#244

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions