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

internal/ethapi: eth_multicall #27720

Open
wants to merge 105 commits into
base: master
Choose a base branch
from
Open

internal/ethapi: eth_multicall #27720

wants to merge 105 commits into from

Conversation

s1na
Copy link
Contributor

@s1na s1na commented Jul 13, 2023

This is a successor PR to #25743. This PR is based on a new iteration of the spec: ethereum/execution-apis#484.

eth_multicall takes in a list of blocks, each optionally overriding fields like number, timestamp, etc. of a base block. Each block can include calls. At each block users can override the state. There are extra features, such as:

  • Include ether transfers as part of the logs
  • Overriding precompile codes with evm bytecode
  • Redirecting accounts to another address

Breaking changes

This PR includes the following breaking changes:

  • Block override fields of eth_call and debug_traceCall have had the following fields renamed
    • coinbase -> feeRecipient
    • random -> prevRandao
    • baseFee -> baseFeePerGas

@wjmelements
Copy link
Contributor

There's no reason to have a multicall interface. Either you can have one call do the multicalls or you can use batch jsonrpc.

Please reject this PR.

@s1na
Copy link
Contributor Author

s1na commented Jul 14, 2023

you can use batch jsonrpc.

No.

Either you can have one call do the multicalls

I believe you're referring to https://github.com/mds1/multicall. You're not able to set msg.sender to an arbitrary address there. eth_multicall simply provides much more flexibility for different simulation scenarios, allowing users to customize various EVM context fields.

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

Successfully merging this pull request may close these issues.

None yet

4 participants