Commit graph

17127 commits

Author SHA1 Message Date
Marius van der Wijden
7d15fa0075 bals: touch address on delegation 2026-06-24 17:41:47 +02:00
Marius van der Wijden
bde29cee44 2780: don't charge for precompiles 2026-06-24 17:36:01 +02:00
Marius van der Wijden
0b699f5791 Claude fixes for Glam-6
- Misc 8037 fixes
2026-06-24 17:30:57 +02:00
Marius van der Wijden
dd073df1cd Claude fixes for Glam-6
- Refund state gas on failing call
- Keep balance on selfdestruct to self
2026-06-24 17:03:55 +02:00
Marius van der Wijden
3523721bd4 Claude fixes for Glam-6
- AL key gas
- 7708 remove burn logs
- Refund auths fully
- 8037 halt mechanics
- 8037 spill mechanics
2026-06-24 16:22:47 +02:00
Marius van der Wijden
9c7bd2abe5 Claude fixes for Glam-6
- BuilderDeposit/Exit code
- Floor base cost
- 8038 gas costs
2026-06-24 15:48:16 +02:00
MariusVanDerWijden
7a1fbe0e85
happy lint, happy life 2026-06-24 13:02:43 +02:00
MariusVanDerWijden
fba2bf7f92
core: implement EIP-8282: Builder Execution Requests 2026-06-24 13:02:33 +02:00
Gary Rong
c5e22b6124
core: apply change 2026-06-24 13:01:12 +02:00
Gary Rong
0c92e31779
core: rename 2026-06-24 13:01:02 +02:00
Gary Rong
271b6c8d03
all: fix panic 2026-06-24 13:00:53 +02:00
Gary Rong
7d5b36f86c
core: implement EIP-2780 2026-06-24 13:00:39 +02:00
MariusVanDerWijden
c6a4fd8ca1
eth/catalyst: pass TargetGasLimit via engine api 2026-06-17 08:17:47 +02:00
MariusVanDerWijden
9e04883a85
core/vm: check that we have enough gas to pay for state gas before charge 2026-06-14 14:35:03 +02:00
MariusVanDerWijden
ee951fe471
core/vm: align with current spec (claude), do not charge for invalid auth 2026-06-14 14:17:11 +02:00
MariusVanDerWijden
ab4e75ab76
core/vm: align with current spec (claude), do not charge for invalid auth 2026-06-14 14:13:48 +02:00
MariusVanDerWijden
175feb3798
core/vm: make inclusion criteria more strict 2026-06-14 14:08:08 +02:00
MariusVanDerWijden
1e456b20f0
core/vm: align with current spec (claude), do not charge for invalid auth 2026-06-14 13:53:48 +02:00
MariusVanDerWijden
ed7c83a28c
core/vm: align with current spec (claude)
All these should be removed once we updated the spec
2026-06-14 13:50:22 +02:00
MariusVanDerWijden
ff799721ff
core/vm: align with current spec (claude)
All these should be removed once we updated the spec
2026-06-14 12:59:53 +02:00
jwasinger
6aa174111e
core: clean up parallel state processor (#35143) 2026-06-14 11:23:41 +02:00
Jared Wasinger
849d30d58c
clean up BAL state diff reader logic 2026-06-14 11:23:37 +02:00
MariusVanDerWijden
60a0ebf540
core/types/bal: faster bal reader 2026-06-14 11:23:32 +02:00
Jared Wasinger
1d1607e8a7
attach block access list in ExecutableDataToBlockNoHash 2026-06-14 11:23:27 +02:00
Jared Wasinger
92d4446da4
core: implement optimized bal execution path 2026-06-14 11:22:53 +02:00
MariusVanDerWijden
469be4e266
cmd: add --bal.executionmode flag (still noop) 2026-06-14 11:21:35 +02:00
MariusVanDerWijden
d5ae30203c
beacon/engine: fix marshalling 2026-06-14 11:20:49 +02:00
MariusVanDerWijden
3a0a2c6c94
tests: add BAL specific tests 2026-06-14 11:20:33 +02:00
MariusVanDerWijden
485e7fda54
core/vm: put account in BAL before transfer
Might not actually be needed if spec is changed, see https://github.com/ethereum/EIPs/pull/11699
2026-06-14 11:20:23 +02:00
cui
23483010a4
cmd/geth: fix logging line count error (#35136)
Some checks failed
/ Linux Build (push) Has been cancelled
/ Linux Build (arm) (push) Has been cancelled
/ Keeper Build (push) Has been cancelled
/ Windows Build (push) Has been cancelled
/ Docker Image (push) Has been cancelled
2026-06-12 23:09:54 +02:00
cui
116314baf9
core/vm: fix test error message (#35134)
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
2026-06-12 19:38:45 +02:00
Marius van der Wijden
9059157eba
core: implement EIP-8037, state creation gas cost increase (#33601)
Implements https://eips.ethereum.org/EIPS/eip-8037
mainly done in order to judge the complexity of the EIP 
and to act as a jumping off point, since the eip will likely
change.

---------

Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2026-06-12 14:29:03 +02:00
Sina M
d93dda49c8
internal/memlimit: respect cgroup memory cap (#34947)
Currently geth ignores the docker `--memory` directive and doesn't
adjust its cache size downward when necessary, potentially running into
OOM.

while gopsutil has functions like `docker/CgroupMem()` they are rather
for reading cgroup memory limit of a container from the host.
2026-06-12 13:31:15 +02:00
Sahil Sojitra
906727089b
p2p/discover: optimize findnodeByID (#33348)
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
This PR adds an optimization to the `findNodeByID` function in
`p2p/discover`. There is already an open PR (#33205) for similar
improvements, and I have further optimized the function to get better
performance. I have attached the benchmark results comparing the current
`main` branch with my `optimized version`, and the results show clear
improvements.

---------

Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2026-06-12 09:10:34 +02:00
Bosul Mun
e595aedcd0
core/txpool/blobpool: add cache for GetBlobs request (#35124)
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
This PR introduces a cache for GetBlobs request.

The main purpose of this PR is to reduce the getBlobs latency by reading and
decoding blobs from the pool in advance of the actual query. This is important
especially in the context of a sparse blobpool, since it may be necessary to
recover blobs from cells on a getBlobs request.

Previously, the Engine API read and decoded blobs from the pool on every call.
Now those calls check the cache and only fall back to the pool on a miss.

The cache has two modes:

- In topK mode (default), it wakes up periodically, picks the most profitable
  pending blob transactions up to the current fork's maxBlobsPerBlock, and loads
  their blobs. The selection logic is shared with the miner's block-building
  logic. The selection size is derived from eip4844.MaxBlobsPerBlock at the
  current head.
- When the CL calls HasBlobs, the cache switches to hasBlobs mode and tries to
  pin the set it just reported as available. Cache updates (read, decode, and
  optionally conversion in the future) run in background goroutines.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2026-06-11 17:26:15 +02:00
Jonny Rhea
17aab1ac9a
core, eth/protocols/snap, eth/downloader: snap/2 sync logic (#34626)
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
Adds snap/2 (EIP-8189), a block-access-list (BAL) based state sync, and
wires it to run side by side with snap/1. It's opt-in (for now) behind a
new --snap.v2 flag and chosen at startup.

https://eips.ethereum.org/EIPS/eip-8189

---------

Co-authored-by: Toni Wahrstätter <info@toniwahrstaetter.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
2026-06-11 14:45:07 +08:00
cui
eea6242742
log: share mutex in log handles with same writer and other fields (#35074)
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
In old code, mu is struct not pointer, it caused create new mutex event
with same writer. Change to use pointer to sync.Mutex, so that the mutex
is shared between handler with same writer.
2026-06-10 22:37:39 +02:00
Felix Lange
8a8becaeab
beacon/engine: ensure nil ExecutionPayloadEnvelope.BlockValue doesn't crash (#35140)
Found while updating to go-ethereum master in prysm.
2026-06-10 20:03:13 +02:00
Felix Lange
e444c267a2
rpc: add option to configure TextMapPropagator on client (#35132)
This adds a client option to configure trace context propagation via the
`traceparent` HTTP header.
I'm adding this so that prysm can enable distributed tracing on their
engine API client.
2026-06-10 12:04:54 -05:00
Guillaume Ballet
39b17c5585
all: fix all typos, as reported by crates-ci/typos (#35008)
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
This is a PR that removes all correctly flagged typos, in order to stop
an onslaught of slop PRs in its tracks. It should be followed by #34994
but the latter needs more configuration work and I want to limit the
stem of PRs right now.
2026-06-10 18:50:51 +02:00
cui
11f0a8318b
node: fix wrong status code in ws (#35111)
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
Fixes an issue where we would falsely return 400 when we should return
200 because the request was served successfully

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2026-06-10 08:30:52 +02:00
Guillaume Ballet
43b7b4e8d9
eth: fix borked test introduced in merging #33347 (#35130)
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
Fixes a lint issue introduced via #33347.
2026-06-09 18:13:24 +02:00
cui
08aaa7c5ff
eth: add debug_clearTxpool api (#33347)
Implement a similar RPC as what reth offers https://github.com/paradigmxyz/reth/pull/18539, to clear the tx pool.
2026-06-09 14:39:46 +02:00
cui
10614fc423
beacon/engine: only print the bad hash on error (#35112)
Better error messages on the engine api
2026-06-09 08:15:49 -04:00
rayoo
1f87331fbc
eth/protocols/eth: track announced tx hashes only after send (#35122)
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
Co-authored-by: jwasinger <j-wasinger@hotmail.com>
2026-06-08 16:02:20 -04:00
cui
e774a8fca0
cmd/utils: validates trimmed string but parses the untrimmed one (#35116) 2026-06-08 13:25:32 -05:00
cui
31d227ea83
cmd/devp2p: swap want and got (#35125) 2026-06-08 12:06:16 -05:00
cui
0ee70187fd
accounts/abi, core, metrics, miner, rlp, signer, triedb: fix all incorrect variable usages in error strings (#35121)
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
This PR is trying to stem further slop PRs by going over all incorrect
strings and fixing them.

---------

Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
2026-06-08 12:39:10 +02:00
cui
f1b2573dda
accounts/abi: array-parse error reports the wrong character (#35106) 2026-06-08 12:00:30 +02:00
rjl493456442
13d8df63f4
core/types/bal: improve the bal validation (#35110)
Some checks failed
/ Linux Build (push) Has been cancelled
/ Linux Build (arm) (push) Has been cancelled
/ Keeper Build (push) Has been cancelled
/ Windows Build (push) Has been cancelled
/ Docker Image (push) Has been cancelled
cb1364d60e
2026-06-05 10:44:41 +08:00