-
Notifications
You must be signed in to change notification settings - Fork 229
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(rpc): Rewrite Ethereum client for subs-based state updates #2224
Conversation
538e5fb
to
b027edd
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.
LGTM, but I also agree with everything that @kkovaacs said
c53fcc5
to
a98867a
Compare
5733cef
to
faecac7
Compare
… Updates when they belong in a finalized block
faecac7
to
ac6dd5e
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.
LGTM % some nits.
There are also some missing parts:
- This is an incompatible change (we now explicitly require a Websocket URL). We should probably add more refined handling of that: updating the documentation for the
--ethereum.url
argument, or maybe trying to update the scheme of the URL fromhttp
->ws
andhttps
->wss
and printing a big fat warning. In any case, we should make sure that we exit with a very clear error message in case the URL does not work. In general we should be doing everything we can to make the life of end users easier. - Updating the CHANGELOG file with information about the incompatible change (we now require a Websocket URL for the Ethereum API).
@@ -126,7 +126,6 @@ impl Transaction<'_> { | |||
":idx": &idx, | |||
])?; | |||
} | |||
|
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 is probably just a leftover.
81a1d4f
to
0d32ed4
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.
LGTM, thanks!
Introduces a comprehensive rewrite of the Ethereum client, transitioning to a subscription-based approach using the Alloy library.
This translates to efficiency improvements when tracking and updating Ethereum state in real-time, especially for L1 to L2 interactions.
Key features include:
See also:
#2182
#2216