feat: Integrate downstream changes (Jovian hardfork + miner_setGasLimit + reth 1.9.1)#316
Merged
avalonche merged 8 commits intoflashbots:mainfrom Nov 10, 2025
Merged
Conversation
chore: update op-rbuilder
* Jovian ready op-rbuilder * Add factoring in da footprint scalar * Bump reth to 1.9.0
* respect miner_setGasLimit * fmt
* wip: telemetry resolution * done
This merge integrates Base's latest changes with Flashbots' main branch: **From Base (release_upstream):** - Bump to reth 1.9.1 and latest alloy/op-alloy dependencies - Jovian hardfork support: DA footprint gas scalar validation - miner_setGasLimit feature: OpGasLimitConfig for gas limit override - Rust version 1.88 **From Flashbots (main):** - P2P layer for flashblocks broadcasting and syncing - Flashtestations with permit functions - WebSocket publishing for synced flashblocks - All existing features and refactoring **Key Changes:** - Updated all reth dependencies to version 1.9.1 - Updated alloy dependencies to 1.0.41 - Updated alloy-evm to 0.23.0, alloy-op-evm to 0.23.1 - Updated op-alloy dependencies to 0.22.0 - Added alloy-op-hardforks 0.4.4 - Integrated OpGasLimitConfig for miner gas limit control - Preserved P2P crate and flashtestations functionality - Maintained rollup-boost integration
- Added gas_limit_config initialization in flashblocks context - Changed block_gas_limit() visibility from pub(super) to pub for flashtestations access - Removed unused Events import Note: Tests currently fail due to rollup-boost dependency version mismatch (op-alloy 0.20.0 vs 0.22.0)
- Updated rollup-boost dependency from rev dd12e8e to tag v0.7.8 - Resolves op-alloy version mismatch (0.20.0 -> 0.22.0) - All tests now pass (94/94 passing)
3 tasks
Applied formatting fixes from cargo +nightly fmt to ensure code passes lint checks. Changes include proper brace placement and line formatting in flashblocks builder_tx and payload_handler.
SozinM
reviewed
Nov 10, 2025
SozinM
reviewed
Nov 10, 2025
| ctx.metrics | ||
| .payload_byte_size | ||
| .record(payload.block().size() as f64); | ||
| .record(InMemorySize::size(payload.block()) as f64); |
Collaborator
There was a problem hiding this comment.
I think you could just import InMemorySize and keep old code, that will now call correct .size()
Contributor
Author
There was a problem hiding this comment.
I tried to do that but the lint check wasn't happy with that
make lint
Error: Exit code 2
Compiling op-rbuilder v0.2.8 (/Users/tobi/Desktop/coinbase/base/op-rbuilder/crates/op-rbuilder)
error[E0282]: type annotations needed
--> crates/op-rbuilder/src/builders/standard/payload.rs:593:21
|
593 | .record(payload.block().size() as f64);
| ^^^^^^^^^^^^^^^ cannot infer type
error[E0282]: type annotations needed
--> crates/op-rbuilder/src/builders/standard/payload.rs:596:18
|
596 | .set(payload.block().size() as f64);
| ^^^^^^^^^^^^^^^ cannot infer type
For more information about this error, try `rustc --explain E0282`.
error: could not compile `op-rbuilder` (lib) due to 2 previous errors
make: *** [lint] Error 101
cargo +nightly fmt -- --check
cargo +nightly clippy --all-features -- -D warnings
SozinM
reviewed
Nov 10, 2025
| cli_app.access_tracing_layers()?.add_layer(telemetry_layer); | ||
| } | ||
|
|
||
| cli_app.init_tracing()?; |
Collaborator
There was a problem hiding this comment.
Do we init tracing in some different way now?
Contributor
Author
There was a problem hiding this comment.
Yeah the tracing is enabled by default now when initializing the node client. Code here.
SozinM
approved these changes
Nov 10, 2025
Collaborator
SozinM
left a comment
There was a problem hiding this comment.
Looks great!
Left some qs, otherwise good
This was referenced Jan 17, 2026
This was referenced Feb 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📝 Summary
Jovian Hardfork Support
da_footprint_gas_scalarparameter in transaction limit checkstx_da_footprint = total_da_bytes_used * da_footprint_gas_scalar < block_gas_limitcrates/op-rbuilder/src/primitives/reth/execution.rs:89-99miner_setGasLimit Feature
OpGasLimitConfigfor dynamic gas limit controlcrates/op-rbuilder/src/builders/context.rs:119-127)crates/op-rbuilder/src/tests/miner_gas_limit.rs)Dependency Upgrades
💡 Motivation and Context
✅ I have completed the following steps:
make lintmake test