Skip to content
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

Execution Layer Meeting 175 #901

Closed
timbeiko opened this issue Nov 10, 2023 · 4 comments
Closed

Execution Layer Meeting 175 #901

timbeiko opened this issue Nov 10, 2023 · 4 comments

Comments

@timbeiko
Copy link
Collaborator

timbeiko commented Nov 10, 2023

Meeting Info

Agenda

@MicahZoltu
Copy link

MicahZoltu commented Nov 20, 2023

Proposed Agenda Item: eth_multicall ethereum/execution-apis#484


Summary

This introduces a new RPC method eth_multicallV1 that allows users to simulate complex transaction sets with an Ethereum client. Compared to eth_call, eth_multicallV1 has following extra features:

  • You can encapsulate multiple dependent EVM calls in a single RPC 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

Motivation

The features of eth_multicallV1 allow many interesting use cases such as:

  • Simulate simple erc20 approval & swap feature in a wallet, which requires sending multiple transactions
  • Searchers need to trigger oracle update and wait a number of blocks
  • Researchers need to trigger a price change and wait a number of blocks for a TWAP adjustment
  • Wallets are beginning to provide advanced simulation to the user
  • Block builders are beginning to explore multi-block MEV
  • Fake Permit2 or other signature based EIP-712 approvals

@timbeiko
Copy link
Collaborator Author

Added @MicahZoltu !

@mkalinin
Copy link
Contributor

@tersec and I would like to make a note on the absence of equivocations on the payload status in the Engine API calls and its importance for CL clients, the corresponding PR:

@timbeiko
Copy link
Collaborator Author

Closed in favor of #910

timbeiko added a commit to timbeiko/testnet that referenced this issue Nov 27, 2023
Discussed on ACD#175 ethereum/pm#901
q9f pushed a commit to eth-clients/goerli that referenced this issue Nov 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants