-
Notifications
You must be signed in to change notification settings - Fork 23
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
feat(da-throttling): Introduce DA throttling via the MinerAPI
#69
Merged
Conversation
This file contains 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
* merge all api modules * fix import * simplify error handling * update RollupBoostClient to RollupBoostServer * remove unused error * fix imports * update function name for clarity * add miner api ext server * update into_merged_rpc, wip test * wip tests * update to use try_into * expose rollup boost as a lib * add temp logging * simplifying changes * remove test, update logging
* wip tests * wip * fix tests * add framework for forward tets * wip: fix proxy logic * wip: fix tests * test: test forwarded authenticated requests * test: run tests in serial * remove serial --------- Co-authored-by: 0xOsiris <[email protected]>
ferranbt
approved these changes
Feb 6, 2025
ferranbt
approved these changes
Feb 6, 2025
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.
This PR introduces DA throttling to
rollup-boost
as well as fixes RPC module initialization. Note that this PR builds on #61, incorporating its changes.Closes #48
This PR introduces DA throttling by implementing the MinerApiExtServer as an RPC module. Additionally, a
MinerApi
trait has been implemented for the remainingminer_
RPC endpoints. Tests were added for all newly introduced RPC modules.While Reth provides a MinerApi, it is synchronous where
rollup-boost
requires an async implementation. To address this we recreated the trait withinrollup-boost
and can upstream this to Reth, allowing us to switch toreth-rpc-api
once an async version is available.Since the
auth_rpc
does not expose the Miner API, we introduced a newExecutionClient
struct to orchestrate requests to either the authenticated Engine API (viaauth_client
) or the JSON-RPC API (viaclient
).Fixes #63
Previously,the only RPC methods initialized were from the Engine API. This has been updated to ensure that
EthApiServer
,MinerApiServer
, andMinerApiExtServer
are properly merged into the RPC module.Addresses #65
Since we introduced a
client
andauth_client
for each execution client, we made a small update to the proxy logic to ensure that all non-multiplexed methods are routed to the auth RPC of the default L2 client with the proper authorization header.