Implements L2 block reorg mechanism when processing L2 blocks in parallel. In case an unexpected executor error happens when processing L2 block (e.g. OOC) the sequencer handles the "reorg" of the L2 block to reprocess it syncing the stateroot of the tx-by-tx process and the L2 block process, to ensure txs of that L2 block are executed using the same SR and therefore have the same execution result in both processes
Removes waiting to close wip batch to open a new one. Now sequencer can work with 2 batches in parallel, one that is the wip batch (tx-by-tx process) and other that is being processed (L2 blocks) and stored. This allows to increase sequencer performance.
Added new config parameter that allows specifiy an interval time that when reached syncs stateroot of the "tx-by-tx" process and "L2 block" process.
What does this PR do?
Reviewers
Main reviewers:
@ToniRamirezM @dpunish3r