Open jjcnn opened 1 year ago
I am marking this ready for review, though the listed issues are still outstanding.
@jubnzv: Some of these issues relate to the utilities you have written, so there's a good chance you'll be able to deal with them. They can be handled in a separate PR, though.
Open issues:
LevelDB migration:
<cparam>.field_name
.is_mutable
is always true
), and the C++ side can't perform it (is_mutable
is always assumed to be true
). For this migration to take place we would need to be able to update immutables through IPC.scilla-runner
should store immutables in LevelDB whenever a contract is deployed. Note that this also requires updates of immutables to be supported through IPC. It also allows IPC reads of immutables rather than storing them in the environment, if necessary.Design decisions that may need to be kept in mind:
_balance
, _this_address
, _codehash
, _nonce
, and _code
) are treated as mutables both by the OCaml side and the C++ side.Please remember that this PR should not be merged until https://github.com/Zilliqa/Zilliqa/pull/3337 is also ready to be merged.
To summarize the remaining tasks:
DeadCodeDetector
.Formatter
. Check that SyntaxAnnotMapper
is implemented correctly. Merge
.I suggest to consider the Cashflow
module as deprecated, because it is not used, and it already has some unimplemented features. For example, it doesn't support procedures with return types.
At the moment I think it will be a good idea to push all the new changes in this branch, without creating separate PRs, since we don't have reviewers for Scilla.
This PR implements remote reads of contract parameters.
Coupled with https://github.com/Zilliqa/Zilliqa/pull/3337. The two PRs cannot work separatedly, and must be tested and released together.
Fixes #1035.