EVM: straighforward failsafe mechanism

Context

This is the most dumbest implementation I can come up with for the failsafe mechanism. When a kernel_entry starts, we copy everything to /tmp then we promote or discard /tmp based on the execution. This would prevent a corruption in the durable storage, these errors should not happen in practice and we should still make sure they doesn't, it's just another layer of security.

This is another proposition of !8758 (closed) to close #5367 (closed).

Manually testing the MR

Try to insert errors in the storage functions, you'll see that the storage is backtracked and a error was added in /errors.

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

Merge request reports

Loading