EVM Node: Use a dedicated rust_deps
Having a dedicated rust_deps foreign archive is not strictly necessary for
the Octez EVM Node to support native execution of kernels, but considering it
remains a nice to have to avoid cluttering build times of other engineering
time. Additionnally, it allows to remove the dependency to the RISC-V PVM until
it is not strictly necessary (it will obviously be possible to re-introduce
this dependency later, when it makes sense to do so). Finally, it will allow us
to experiment with using more recent version of Wasmer without impacting the
Rollup Node.
The changeset proposed here might seem large, but it is in part because it affects a lot of files generated automatically.
Strictly speaking, the change is really similar to what has been done for the Octez Node previously with the rustzcash_deps library. But it does introduces a challenge:
-
rust_depsdoes not contain the WASM Runtime anymore. -
etherlink/bin_node/testtests have a dependency to the Octez EVM node library (lib_dev) which does have a dependency to the WASM Runtime.
As a consequence, the unit tests of the Octez EVM Node cannot be linked to the main tezt binary. This is why we propose in this patcheset to turn these tests into old school unit test, executed in a dedicated job to be aple to set a narrowed changeset.
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.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR