Clarification and motivation
Currently the contract parameter is a "flat" structure, meaning that in Haskell code it is a single datatype with several fields for entrypoints (that don't have their own entrypoints within).
This was done like this mainly because there are shortcomings in the produced documentation otherwise, see [morley/#768](TM-466 check and discuss mirroring failures).
It would however be better to split it into sub-parameters, so that:
- entrypoints with different "scopes" would be separate
- entrypoints that have common initial instructions (e.g. a check, see here) can be grouped to reduce duplication
so, we should consider switching to this.
Acceptance criteria
- The parameter is split in multiple sub-parameters for efficiency and clarity.
- Documentation generation is either fixed upstream or a workaround is used.
Clarification and motivation
Currently the contract parameter is a "flat" structure, meaning that in Haskell code it is a single datatype with several fields for entrypoints (that don't have their own entrypoints within).
This was done like this mainly because there are shortcomings in the produced documentation otherwise, see [morley/#768](TM-466 check and discuss mirroring failures).
It would however be better to split it into sub-parameters, so that:
so, we should consider switching to this.
Acceptance criteria