Firehose/fix lib finalized - #9
Conversation
The cloned OpFirehoseEngineValidator started the Firehose block tracer with `finalized = None`, so live engine-API blocks carried no finalized reference and downstream LIB (last irreversible block) never advanced. Read the finalized head from the node provider via `finalized_block_num_hash()` (adding a `BlockIdReader` bound) and pass it as the block's `FinalizedBlockRef`, mirroring the reth fork's `runner.rs` ExEx path.
Cold builds took ~32m (no layer cache; maxperf LTO). Cache the cargo-chef dependency layer across runs (type=gha) and use the fast-build profile for PR builds, keeping maxperf for branch/tag releases. Mirrors build-images.yaml.
|
@copilot resolve the merge conflicts in this pull request |
Co-authored-by: sduchesneau <[email protected]>
Resolved the merge conflicts in |
|
@copilot resolve the merge conflicts in this pull request |
Co-authored-by: sduchesneau <[email protected]>
Merged |
|
@maoueh got some concerns here:
Once real finality kicks in, LIB switches from block − 200 to the true finalized head. On a 2s-block L2 the fallback is ~400s behind, while L1 finality is ~768s (2 epochs) — so the true finalized is further back, and LIB would move backwards at that transition. Does not matter to us much because we have |
Re-creating PR for Advertise finalized head as LIB on engine-API path since its base branch was moved to release/2.x