You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a weird function. Its role is to double-check a witness after it
has been produced to ensure that it falls within limits. If you are
working with a sane miniscript this is impossible to fail, and if you're
working with an insane miniscript then the checks are too strong -- it
verifies standardness rules rather than consensus.
This was introduced in #189 without much discussion. It had no tests
then and has no tests now -- everything continues to pass.
I am removing it for now. I will later replace it with an API where you
call Plan::validate if you want to do checks like this. If the user wants
to do something oddball like "parse a miniscript without checking satisfaction
limits, then produce a satisfaction and see if the result is nonetheless
within limits" the workflow will be:
1. Parse an insane Miniscript
2. Produce a Plan
3. Run Plan::validate with tighter validation params than were used in
step 1.
This gives the user a fair bit more flexibility. It is an awkward and
hard to discover workflow, but IMO it's better than we have now.
0 commit comments