…`derivationOriginUpdate` (#2331)
Closes #2086
The PR:
- Introduces new table `BlockTraversal` to store all L1 blocks, even if
there are no L2 blocks derived from it.
- Add respective trait methods.
- Modified `latest_derived_block_pair` to send the latest derived block
from `DerivedBlocks` and latest source block from `BlockTraversal`.
- Exclusively dealing with `derivationUpdate` and
`derivationOriginUpdate` i.e. updating latest derived on
`derivationUpdate` and updating latest source on
`derivationOriginUpdate`.
- The e2e test `TestFinalizedHeadAdvancing` passes now.
TODO: (in another PR)
- Remove `current_l1` and its usage. No longer required.
- ~~For now, `check_node_consistency()` is commented in this PR. #2330
takes care of that.~~
~~Currently in draft: Tests are missing.~~
---------
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>