3

In BIP386, pkh() nested in tr() is noted as invalid in the Test Vector:

enter image description here

However, it is enabled in the Bitcoin Core test cases:

https://github.com/bitcoin/bitcoin/blob/v27.1/src/test/descriptor_tests.cpp#L636

Which one is the correct specification?

1 Answer 1

3

By BIP 386, tr(pkh(...)) is not a valid descriptor. By BIP 379 however, it is valid.

Which one is the correct specification?

That depends on which descriptor extensions you choose to follow. Bitcoin Core implements both.

Perhaps the language could be less confusing, but BIPs do not specify what is unconditionally valid or invalid. They're proposals that pieces of software can choose to implement or not, and thus they only specify what implementers of that specific BIP have to do to be in compliance.

1
  • My question has been clarified. Thank you! Commented Jul 8 at 23:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.