-
Notifications
You must be signed in to change notification settings - Fork 75
refactor: Enable library usage of rollup-boost #424
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: Enable library usage of rollup-boost #424
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This refactor consolidates client configuration patterns and removes generic type parameters to enable rollup-boost as a library. The changes introduce a unified ClientArgs struct that handles JWT configuration and client instantiation for both L2 and builder clients, replacing the previous scattered configuration approach.
Key Changes:
- Unified client configuration through
ClientArgsstruct with JWT handling helpers - Removed generic type parameter
TfromRollupBoostServerin favor of trait objects - Added
new_from_argsconstructor method for simplified server initialization - Updated dependency versions (reth v1.8.1→v1.8.2, alloy-consensus v1.0.35→v1.0.37)
Reviewed Changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| crates/rollup-boost/src/server.rs | Removes generic type parameter, adds new_from_args method, updates test configuration to use ClientArgs |
| crates/rollup-boost/src/proxy.rs | Refactors to accept HttpClient instances instead of raw configuration parameters |
| crates/rollup-boost/src/client/rpc.rs | Introduces ClientArgs struct with JWT handling and client factory methods, renames macro |
| crates/rollup-boost/src/cli.rs | Simplifies initialization logic using new ClientArgs pattern and new_from_args |
| Cargo.toml | Updates reth and alloy-consensus dependency versions |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
07722b0 to
ca5ffb7
Compare
ca5ffb7 to
e0b95f9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 4 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
024a82e to
2ce4654
Compare
2ce4654 to
f17522e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
f17522e to
149aeeb
Compare
149aeeb to
bc38fd0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 10 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
bc38fd0 to
48813b9
Compare
48813b9 to
190f224
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
190f224 to
c4724d7
Compare
c4724d7 to
6adc54c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 9 out of 9 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
6adc54c to
3a9b9a0
Compare
0xOsiris
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This generally LGTM. Would wait for other approvals
3a9b9a0 to
ec09cf8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ec09cf8 to
7fdae1a
Compare
* unify client configuration with ClientArgs struct * Consolidate BuilderArgs/L2ClientArgs into unified ClientArgs pattern * Move JWT handling into ClientArgs with helper methods * Update ProxyLayer to accept HttpClient instances instead of raw config * Add RollupBoostServer::new_from_args for cleaner initialization * Bump reth-rpc-layer to v1.8.2
7fdae1a to
a217513
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* Add test verifying failure to proxy rpc requests to l2_client are retriable * refactor: Enable library usage of rollup-boost * unify client configuration with ClientArgs struct * Consolidate BuilderArgs/L2ClientArgs into unified ClientArgs pattern * Move JWT handling into ClientArgs with helper methods * Update ProxyLayer to accept HttpClient instances instead of raw config * Add RollupBoostServer::new_from_args for cleaner initialization * Bump reth-rpc-layer to v1.8.2
Summary: Consolidates RPC client configuration into a reusable
ClientArgstype and refactors CLI, server, and proxy wiring to construct typed RPC/HTTP clients from args. SimplifiesProxyLayerto accept prebuilt HTTP clients, adds constructor helpers forRollupBoostServer, and improves health/debug startup orchestration.Key changes
ClientArgswith helpers to build clients:client/rpc.rs: addsClientArgs,new_rpc_client,new_http_client, anddefine_client_args!macro to generateBuilderArgs/L2ClientArgswith consistent flags.server.rs: addRollupBoostServer::<FlashblocksService>::new_from_argsandRollupBoostServer::<RpcClient>::new_from_argsthat validate theflashblocksmode and build the appropriate clients; moveExecutionModeinitialization intonewand callupdate_execution_mode_gauge.cli.rs: buildClientArgsfrom clap args; createl2_http_clientandbuilder_http_client; start theDebugServerfrom the CLI after constructingRollupBoostServer; wire middleware withProbeLayerand the newProxyLayer.proxy.rs: changeProxyLayer::newto acceptHttpClientinstances for L2 and builder rather than URIs/JWT; forward rules unchanged; tests updated to construct clients viaClientArgs.flashblocks/mod.rs: tidy exports.payload.rs: makePayloadTraceContextand related structsDebug.probe.rs: return probes fromProbeLayer::new()for simpler wiring.cli.rs: implementDefaultforRollupBoostArgsto aid testing.Breaking changes
ProxyLayer::newsignature now takes(l2_client: HttpClient, builder_client: HttpClient). All call sites updated.RpcClient/HttpClientshould useClientArgsor the new helpers.Operational impact
update_execution_mode_gauge.Testing
ClientArgsand the newProxyLayer::new.ClientArgsand exercise new constructors.Migration notes
ProxyLayer::new(uri, jwt, ...)usage with HTTP clients created via:ClientArgs::new_http_client(PayloadSource::L2|Builder)RollupBoostServervianew_from_argshelpers when possible.