The type system was incorrectly relying on a standardness rule to be sound.
This bug was found and reported by Andrew Poelstra based on a question from Aman Kumar Kashyap.
The type system was incorrectly relying on a standardness rule to be sound.
This bug was found and reported by Andrew Poelstra based on a question from Aman Kumar Kashyap.
The value it leaves on the stack depends on the last element on the
stack. However, we can't make sure this element is OP_1 (which would
give us the 'u' property) without the MINIMALIF rule.
MINIMALIF is only policy for P2WSH, therefore giving 'd:' the 'u'
property breaks consensus soundness: it makes it possible (by consensus
but not policy) for instance to satisfy a thresh() without satisfying
at least k of its subs.
This bug was found and reported by Andrew Poelstra.
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.