Conversation
|
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
tynes
left a comment
There was a problem hiding this comment.
Generally looks good to me, left some comments
mslipper
left a comment
There was a problem hiding this comment.
My feedback is non blocking. OK to merge as-is.
|
This PR has been added to the merge queue, and will be merged soon. |
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
* op-node: l2 rpc refactor * op-node: implement l2 rpc review suggestions Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
* op-node: l2 rpc refactor * op-node: implement l2 rpc review suggestions Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Description
l2.Sourceintosources.L2Client, now sharing a lot of commons withsources.L1Clientthroughsources.EthClientl2.ReadOnlySource: this was duplicate legacy code from the first op-proposer iteration. We havesources.L2Clientnow with caching + deduplicated code with L1 client.sources.EngineClient: wraps thesources.L2Clientwith the 3 engine API methods we use. (note: upstream execution APIs state that theethnamespace is part of the engine API endpoint in addition to theenginenamespace, so this works).sources/types.goto:big.Intout of the decoding/encoding picture, make the type flat instead of a pointer structure, and have more control to implement stricter checks on the contents.Payloadretrieval methods to EthClient. (Hopefully we can use this instead of block retrieval for L1 at some point. Especially if we can read raw transactions with some future RPC improvements, instead of the slow transaction encoding/decoding roundtrips we are forced to have now).mockL2Client:testutilshas everything any test may need for RPC mocking.See previous L1/eth RPC refactor PR for more context: #3288
Metadata
Fix ENG-2280