EVM Node: Halt block production before sequencer upgrade
Closes L2-200
What
This patch introduces a mechanism to temporarily halt block production by the Etherlink sequencer five minutes prior to a planned sequencer operator upgrade. This ensures a controlled shutdown of block production activities.
Why
Halting block production before a sequencer upgrade is crucial for ensuring a smooth and safe transition. It minimizes the risk of issues that could arise from producing blocks during the upgrade process, such as missed blocks, inconsistent state, or transaction failures, thereby contributing to the overall stability and reliability of the Etherlink network.
How
The block producer now checks for a pending sequencer upgrade event. If an upgrade is scheduled, and the current timestamp is within five minutes of the upgrade's timestamp, the block production process is skipped for that specific block. This check is distinct from the existing kernel upgrade check.
Manually testing the MR
dune exec -- etherlink/tezt/tests/main.exe --verbose sunset alpha latest --only 1
and look for
[09:45:56.492] [sequencer_evm_node1] Jul 10 11:45:56.491 ERROR │ transaction pool and block production are locked
to confirm it works indeed.
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