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