Make contract constraints part of Lorentz' `Contract` type
Clarification and motivation
This may be a questionable intention, but I want NiceParameterFull
and NiceStorage
constraints to be part of Contract
constructor in Lorentz, and not propagated outside.
Motivation:
- These constraints are in the first place necessary not because other methods can't work without them, but because they are inherent to any Michelson contract.
- So it is natural to make sure that my contract complies with these constraints when I construct it, not when I try to use it.
- Probagating constraints everywhere where the contract is used may be a considerable amount of boilerplate.
Acceptance criteria
-
Contract
type includes the mentioned constraints. - Consider also including
TypeHasDoc
constraints there. - Other methods do not require these constraints (
compileLorentzContract
and others).