go-ethereum/eth
Sina M 8f4fac7b86
internal/ethapi: eth_multicall (#27720)
This is a successor PR to #25743. This PR is based on a new iteration of
the spec: https://github.com/ethereum/execution-apis/pull/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`

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2024-09-06 11:31:00 +02:00
..
catalyst all: implement EIP-6110, execution layer triggered deposits (#29431) 2024-09-04 14:33:51 +02:00
downloader all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
ethconfig eth/ethconfig: remove LES server config (#30298) 2024-08-15 11:42:39 +02:00
fetcher eth/fetcher: always expect transaction metadata in announcement (#30288) 2024-08-15 11:35:16 +02:00
filters all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
gasestimator internal/ethapi: eth_multicall (#27720) 2024-09-06 11:31:00 +02:00
gasprice all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
protocols all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
tracers internal/ethapi: eth_multicall (#27720) 2024-09-06 11:31:00 +02:00
api_admin.go eth: ignore genesis block on importChain (#27956) 2023-08-21 13:32:34 -04:00
api_backend.go eth: Add eth_blobBaseFee RPC and blob fields to eth_feeHistory (#29140) 2024-04-22 12:17:06 +02:00
api_debug_test.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
api_debug.go miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
api_miner.go miner: refactor the miner, make the pending block on demand (#28623) 2024-03-06 14:45:03 +02:00
backend.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
handler_eth_test.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
handler_eth.go consensus, cmd, core, eth: remove support for non-merge mode of operation (#29169) 2024-03-05 16:13:28 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go all: remove forkchoicer and reorgNeeded (#29179) 2024-09-04 15:03:06 +02:00
handler.go eth, eth/downloader: remove references to LightChain, LightSync (#29711) 2024-05-28 19:52:08 +02:00
peer.go eth: remove admin.peers[i].eth.head and difficulty (#26804) 2023-03-06 09:27:46 +02:00
peerset.go consensus, cmd, core, eth: remove support for non-merge mode of operation (#29169) 2024-03-05 16:13:28 +02:00
state_accessor.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
sync_test.go consensus, cmd, core, eth: remove support for non-merge mode of operation (#29169) 2024-03-05 16:13:28 +02:00
sync.go consensus, cmd, core, eth: remove support for non-merge mode of operation (#29169) 2024-03-05 16:13:28 +02:00