Skip to content

PROTO/RISC-V: Protocol implementation for the RISC-V PVM

Felix Puscasu requested to merge felix-pvm-proto into master

Closes RV-320

What

Implement the riscv PVM inside the protocol. Specifically, change the dummy implementation of Alpha_context.Sc_rollup.Sc_rollup_riscv from a dummy one to a proper one that uses a dummy module from the protocol environment.

The protocol environment will import and make available the required functionality in a follow up MR, see !15918

Why

Integrate the required riscv pvm functionalities in the protocol, (e.g. proof verification, obtaining the hash of a state, etc)

How

Change dummy implementation in proto_alpha/lib_protocol/sc_rollup_riscv.ml.

Moved registration of RISCV errors (from the rollup node implementation of the riscv pvm in proto_alpha/lib_sc_rollup_node/riscv_pvm.ml) to this implementation to avoid double registration.

Mocked a Riscv protocol environment module for functions that need to be called from the Rust library.

Manually testing the MR

Tests will be added once the protocol environment is implemented, as previously all the protocol code for the riscv pvm was a stub, and this MR does not change that.

Existing related tests can be run:

dune exec tezt/tests/main.exe -- riscv

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 Felix Puscasu

Merge request reports

Loading