-
Notifications
You must be signed in to change notification settings - Fork 960
Closed
Labels
Description
was eth_multicallV1
Description
Implementation of ethereum/execution-apis#484
More detail.
This introduces a new RPC method eth_multicallV1 allows users to make complex RPC calls to Ethereum nodes. Compared to eth_call, eth_multicallV1 has following extra features:
- You can encapsulate multiple dependent calls in a single call
- The calls happen inside blocks. You can simulate multiple blocks that can be arbitrary far from each other
- Block variables can be overridden (e.g. time)
- Account state can be overridden for every block (e.g. code and balance)
- It is possible to override precompiles (e.g. ecrecover) with arbitrary EVM code
- ETH transfers produce logs similar to ERC20 logs
- Validation mode. You can choose to do very strict simulation or more relaxed one similar to eth_call
Presentation: https://docs.google.com/presentation/d/1lEaqHTY3ud8pe6VAFwLkb-jdoHpTMBfuF1K9OKy-azs/edit#slide=id.p
As a node runner, I want to be able to have access to all standard RPCs. This includes the speced RPC eth_multicallV1
.
Acceptance Criteria
- Passing any released reference tests in the execution APIs
- Passing Hive tests: https://github.com/KillariDev/rpctestgen
- Results consistent with Geth, Nethermind and/or other clients
- Performance in line with Geth and/or other clients
- Tested on Mainnet state