EVM: Store and reload Block in progress
Context
Contributes to #5873 (closed)
Follows !9313 (merged)
This MR continues the reboot strategy. It marks the kernel for reboot when the maximum number of ticks is reached, stores the BlockInProgress and reloads it on reboot.
Reloading is done in place of stage 1 if a reboot has been done. To avoid disrupting the workflow too much, a BlockInProgress can be inserted in the Queue, along side a list of Blueprint, so reloading is done in place of stage 1 rather than during stage 2.
The BlockInProgress is serialized in RLP encoded format for storage.
It does not:
- save/reload the other proposals,
- take into account the upgrade mechanism,
- take into account the maximum nb of reboots
Next !9444 (merged)
Manually testing the MR
New tests in storage and block
make -C src/kernel_evm test
Checklist
-
Provide automatic testing (see the testing guide). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR
Edited by Pierre-Emmanuel CORNILLEAU