TODO: Rust-miniscript behaviour for resource limitations:
This document refers to bitcoin consensus and standardness rules as of bitcoin core release 0.20.
One of miniscript’s goals are to make advanced Script functionality accommodate both machine and human analysis. However such a analysis is not possible in all cases.
- Validity: Validity refers to whether the miniscript tree constructions follows the grammer rules. For eg: Top level must be
B
, orthresh
must have all of it's arguments being dissatifyable. - Safety: Whether all satisfactions of miniscript require a digital signature.
- Analyzable/Liftable: Even if the given is valid and safe, it does not imply that miniscript is consensus and standardness complete. That is, there may exist some semantics implied by the lifted miniscript which cannot be realized in bitcoin network rules. This maybe because of two main reasons