Proto: SCORU: Add Wasm PVM skeleton
This MR adds skeleton for WebAssembly-based smart-contract optimistic rollups (SCORUs).
The approach is broadly similar to Example_arith
, but only the interface required by the protocol/L2 nodes is exposed.
Eventually parsing and evaluation will be implemented by calling lib_webassembly
via the Environment. This is stubbed out at
the moment (see TODO
comments and their corresponding issues).
Depends on !5352 (merged).
Fixes #2963 (closed)
Overview:
-
Implement of Protocol.Sc_rollup_PVM_sem.S
-
Implement Sc_rollup_node.Pvm
-
Add rollup kind constructor -
Add L1 dispatch -
Add L2 node dispatch
Context
Manually testing the MR
make -C manifest && make all build-unreleased && \
dune exec src/proto_alpha/lib_protocol/test/integration/operations/main.exe -- test "^sc rollup$"
Test that #3130 (closed) is worked around
make -C docs -j p2p
Currently broken, waiting for fix in !5332 (merged):
(Strictly unrelated, but feel free to run for confidence:)
dune exec src/proto_alpha/lib_protocol/test/pbt/test_refutation_game.exe
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment,CHANGES.rst
at the root of the repository for everything else). -
Select suitable reviewers using the Reviewers
field below. -
Select as Assignee
the next person who should take action on that MR
Edited by Hans Hoglund