[#20] Generate storage annotations from Lorentz code
Description
When compiling Lorentz, contract's storage was always without notes tree (fcStoreNotes = starNotes
). However, we'd like it to have some annotations for clarity, because otherwise it's hard to understand what is stored in the storage (which field means what) when you open it in block explorer or vanilla Tezos CLI. So, this MR resolves this issue by providing an ability to generate notes tree for storage with all of its field and type annotations like from an instance:
data Storage = Storage
{ ledger :: BigMap Address Natural
, totalSupply :: Natural
}
Where we expect it to be a pair with %ledger
and %totalSupply
as field annotations. Note that if something is wrapped into Named
then it also should have its type annotations, same as its recursive counterparts.
Related issue(s)
Resolves #20 (closed)
✅ Checklist for your Merge Request
Related changes (conditional)
-
Tests (see short guidelines)
-
If I added new functionality, I added tests covering it. -
If I fixed a bug, I added a regression test to prevent the bug from silently reappearing again.
-
-
Documentation
Stylistic guide (mandatory)
-
My commits comply with the following policy. -
My code complies with the style guide.
Edited by Anton Myasnikov