go-ethereum/core/tracing
rjl493456442 aec597d7b9
core/vm: implements EIP-8037 spec change (#35173)
Implements spec change https://github.com/ethereum/EIPs/pull/11807

This PR resolves the conflict between the EIP-7928 and EIP-8037.
Specifically in contract deployment, EIP-7928 requires to not resolve 
the deployed account until it's accessed, while in EIP-8037, the early 
access is required to determine if the account-creation should
be charged or not.

This PR addresses this conflict by changing the EIP-8037 a bit,
unconditionally charge the account creation in CREATE Family 
(CreateTx, Create/Create2 opcode) and refunds the associated 
gas cost if the account creation doesn't happen ultimately.

Checkout https://hackmd.io/@bFEBbZiVSAO0IURh9qzEFg/BJmFYqCeGl for more
details

What's more, now the LIFO mechanism is used for refilling the state cost
in frame revert, frame halt, state opcode refunds.
2026-06-23 14:31:24 +08:00
..
CHANGELOG.md core/tracing: update changelog (#32535) 2025-09-03 09:45:58 +02:00
gen_balance_change_reason_stringer.go cmd/geth, internal/telemetry: wire OpenTelemetry tracing via CLI flags (#33484) 2026-02-14 01:02:10 +01:00
gen_code_change_reason_stringer.go cmd/geth, internal/telemetry: wire OpenTelemetry tracing via CLI flags (#33484) 2026-02-14 01:02:10 +01:00
gen_gas_change_reason_stringer.go core/vm: implements EIP-8037 spec change (#35173) 2026-06-23 14:31:24 +08:00
gen_nonce_change_reason_stringer.go cmd/geth, internal/telemetry: wire OpenTelemetry tracing via CLI flags (#33484) 2026-02-14 01:02:10 +01:00
hooks.go core/vm: implements EIP-8037 spec change (#35173) 2026-06-23 14:31:24 +08:00
journal.go core/tracing: fix nonce revert edge case (#33978) 2026-03-10 16:53:21 +01:00
journal_test.go core/tracing: fix nonce revert edge case (#33978) 2026-03-10 16:53:21 +01:00