Skip to content

SCORU 3787: decouple l2 node from protocol pvm sig

Context

This is a refactoring MR which allows the L2 node to switch to a different implementation for the WASM PVM.

In the original code Sc_rollup.Wasm_2_0_0PVM.Make calls Environment.Wasm_2_0_0.Make in order to instantiate the Wasm_machine.

With this change, the parameter Make_backend is added for the functor Sc_rollup.Wasm_2_0_0PVM.Make. This parameter is a functor that instantiates the actual Wasm machine.

Now the calls made to this functor from lib_protocol pass the Environment.Wasm_2_0_0.Make as the Wasm_backend parameter but the calls from bin_sc_rollup_node use a wrapper on top of Tezos_scoru_wasm.Wasm_pvm.Make.

This way, in the following work, we can switch the implementation in bin_sc_rollup_node to the fast PVM without changing the protocol code.

Fixes #3787 (closed)

Manually testing the MR

All the tests should pass.

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 Ovidiu Deac

Merge request reports