Skip to content

Proto: SCORU: Add Wasm PVM skeleton

Hans Hoglund requested to merge hans@scoru-wasm-add-skeleton into master

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

Merge request reports