-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
RPC Executor improvements #10974
Comments
I'm not sure but I think it should be made custom, would solve the compatibility issue easily |
closing this because this is now integrated, rpc improvements tracked #11122 |
debug_executionWitness
currently needs to output all state required to execute the given block. The endpoint currently does not work for optimism because it needs to use the optimism executor, and the eth mainnet system calls may be different from optimism. It also needs to retain more execution-related information than is desired for the vanilla executor.The
debug_executionWitness
endpointThe endpoint needs to return the following information:
We need to leave the current executor as-is, so we don't do more than needed during regular block processing.
A new executor
So, we now have the
BlockAccessListExecutor
, which implements theExecutor
trait:reth/crates/ethereum/evm/src/execute.rs
Line 392 in 9760319
This is a new executor that retains the accessed state in the
BundleState
of theBlockExecutionOutput
. There is also one for optimism. This separate executor meets all requirements for the endpoint, but we still need to make this executor accessible to the RPC endpoint.Executors in RPC
We currently have the
BlockExecutorProvider
, which provides multiple types of executors for RPC to use:reth/crates/evm/src/execute.rs
Lines 110 to 123 in 9760319
This PR includes a third type of executor to include in the
BlockExecutorProvider
trait: #10868We can either:
cc @mattsse
The text was updated successfully, but these errors were encountered: