-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Renable assertion #37
Conversation
a37867a
to
0328885
Compare
Ooo, very interesting CI failure
I think this is, strictly speaking, true, and we cannot sensibly/correctly use a threshold of covenant conditions! Miniscript saves us again. |
Redo all correctness and malleablity properties for Covenant fragments. Minsicript fragments were designed only to consider inputs from stack for satisfaction/dissatisfaction. Traditional fragments can only be dissatified from stack inputs, but covenant fragments can be dissatisfied by changing the transaction components. We do not consider these malleabilities in the extensions and only deal with script witness malleability. I also needed to remove the test that used now incorrectly typed miniscript.
0328885
to
61c2f3a
Compare
This looks good, though I realize I was confused -- I thought all the covenant fragments were But they're not so, the situation is more subtle...
Having said that, I'm a bit scared to remove this assertion because it reflects an underlying assumption about Miniscript that we're eliminating...I wonder if we should make all the covenant requirements verify-only and force the user to use a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 61c2f3a
This is what I am leaning towards. |
Cool. It would be fine for us to later expand the language if it turned out that we need non- |
The assertion is re-enabled in this PR.
Upon more investigation, there is some work in changing the miniscripts as it would require editing all the tests. IMO, the current fix with assertion enabled should be fine for now. |
Rethink about correctness/malleability properites in covenants. See the commit description