RISC-V PVM can produce and verify outbox proofs
Closes RV-881.
What
This MR integrates outbox proof support for the RISC-V PVM into the protocol and the rollup node.
Why
The rollup node needs to be able to produce outbox proofs for the RISC-V PVM. The protocol needs to be able to verify outbox proofs for the RISC-V PVM.
How
Commit by commit:
- The
octez-riscvversion is bumped - The output proof type and related functions are exposed in the OCaml API for
octez-riscvand plugged inlib_riscv/pvm. - In the latest protocol environment the signature of
verify_output_proofis changed to return a result instead of an option. - In
proto_alpha, stubs related to outbox proofs are replaced with the actual implementations in both the protocol PVM definition and the rollup node plugin. - Unit tests for outbox proofs are added in
lib_riscv.
Manually Testing
make -C src/riscv all
In addition to the unit tests in this MR, Tezt scenarios which exercise the RISC-V PVM outbox are enabled in !21192 (merged).
Tasks for the Author
- Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes).
- Eliminate dead code and other spurious artefacts introduced in your changes.
- Document new public functions, methods and types.
- Make sure the documentation for updated functions, methods, and types is correct.
- Add tests for bugs that have been fixed.
-
Put in reasonable effort to ensure that CI will pass.
make -C src/riscvdune test src/lib_riscvdune build src/rust_deps
-
If applicable, trigger the
tezt-riscv-slow-sequentialtest job. - Write commit messages to reflect the changes they're about.
- Self-review your changes to ensure they are high-quality.
- Complete all of the above before assigning this MR to reviewers.
Edited by Victor Dumitrescu