go-ethereum/internal/ethapi
locoholy ac1fdc5f8f
Some checks are pending
/ Linux Build (push) Waiting to run
/ Linux Build (arm) (push) Waiting to run
/ Keeper Build (push) Waiting to run
/ Windows Build (push) Waiting to run
/ Docker Image (push) Waiting to run
internal/ethapi: add eth_capabilities RPC method (#33886)
There is currently no way for JSON-RPC clients to discover which
historical data a node can serve without probing with trial-and-error
calls and interpreting opaque error messages (`pruned history
unavailable`).

This makes it hard to build robust tooling on top of nodes that prune
their history, for example nodes started with `--history.chain
postmerge`
or with reduced `TransactionHistory`, `LogHistory`, or `StateHistory`
windows.

This PR implements `eth_capabilities` as defined in
ethereum/execution-apis#755. The method takes no parameters and returns
the current head plus six per-resource capability records:
- `state`
- `tx`
- `logs`
- `receipts`
- `blocks`
- `stateproofs`

Closes #33828
2026-05-27 10:15:09 +02:00
..
override eth/catalyst: implement testing_buildBlockV1 (#33656) 2026-02-23 15:56:31 +01:00
testdata internal/ethapi: Add timestamp to eth_getTransactionByHash (#33709) 2026-02-02 12:20:16 +01:00
addrlock.go all: update license information (#16089) 2018-02-14 13:49:11 +01:00
api.go core, cmd, internal: rework BAL json marshalling to adhere EELS (#34972) 2026-05-20 09:12:13 -04:00
api_test.go internal/ethapi: add eth_capabilities RPC method (#33886) 2026-05-27 10:15:09 +02:00
backend.go internal/ethapi: add eth_capabilities RPC method (#33886) 2026-05-27 10:15:09 +02:00
capabilities.go internal/ethapi: add eth_capabilities RPC method (#33886) 2026-05-27 10:15:09 +02:00
capabilities_test.go internal/ethapi: add eth_capabilities RPC method (#33886) 2026-05-27 10:15:09 +02:00
dbapi.go all: remove concept of public/private API definitions (#25053) 2022-06-21 12:05:43 +03:00
errors.go internal/ethapi: fix base fee too low error code in eth_simulateV1 (#34951) 2026-05-26 09:36:28 +02:00
logtracer.go internal/ethapi: add timestamp to logs in eth_simulate (#32831) 2025-10-06 18:19:25 +02:00
simulate.go core, consensus, internal, eth, miner: construct block accessList (#34957) 2026-05-19 21:51:53 +08:00
simulate_test.go internal/ethapi: fix gas cap for eth_simulateV1 (#33952) 2026-03-05 09:09:07 +08:00
transaction_args.go core: use uint256 in core.Message (#34934) 2026-05-11 22:25:57 +08:00
transaction_args_test.go internal/ethapi: add eth_capabilities RPC method (#33886) 2026-05-27 10:15:09 +02:00