Skip to content

Conversation

nebojsa94
Copy link
Contributor

@nebojsa94 nebojsa94 commented Aug 11, 2025

Problem: Including full account code in prestateTracer response significantly increases response payload size.

Solution: Add codeHash field to the response. This will allow client-side bytecode caching and is a non-breaking change.

Note: codeHash for EoAs is excluded to save space.

@nebojsa94 nebojsa94 requested a review from s1na as a code owner August 11, 2025 11:59
s1na
s1na previously approved these changes Aug 11, 2025
Copy link
Contributor

@s1na s1na left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@s1na s1na left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@s1na s1na added this to the 1.16.3 milestone Aug 13, 2025
@s1na s1na changed the title Adds codeHash to prestateTracer's account structure eth/tracers: Adds codeHash to prestateTracer's account structure Aug 13, 2025
@s1na s1na merged commit 5134213 into ethereum:master Aug 13, 2025
4 of 5 checks passed
yzang2019 added a commit to yzang2019/go-ethereum that referenced this pull request Aug 15, 2025
* master: (57 commits)
  core/vm: fix EIP-7823 modexp input length check (ethereum#32363)
  rlp: remove workaround for Value.Bytes (ethereum#32433)
  consensus/misc/eip4844: use blob parameters of current header (ethereum#32424)
  crypto/bn256: refactor to use bitutil.TestBytes (ethereum#32435)
  core/vm: refactor to use bitutil.TestBytes (ethereum#32434)
  cmd/evm: use PathScheme in blockrunner (ethereum#32444)
  trie, core/state: add the transition tree (verkle transition part 2) (ethereum#32366)
  build: remove unused functions (ethereum#32393)
  crypto/secp256k1: use ReadBits from common/math (ethereum#32430)
  build: upgrade -dlgo version to Go 1.25.0 (ethereum#32412)
  .github: upgrade workflows to Go 1.25 (ethereum#32425)
  p2p: refactor to use time.Now().UnixMilli() in golang std lib (ethereum#32402)
  eth/syncer: fix typo (ethereum#32427)
  eth/tracers: Adds codeHash to prestateTracer's response (ethereum#32391)
  rlp: optimize intsize (ethereum#32421)
  node: remove unused err var (ethereum#32398)
  eth: abort `requiredBlocks` check if peer handler terminated (ethereum#32413)
  cmd: fix inconsistent function name in comment (ethereum#32411)
  trie: refactor to use slices.Concat (ethereum#32401)
  consensus: fix ambiguous invalid gas limit error (ethereum#32405)
  ...
zsfelfoldi pushed a commit to zsfelfoldi/go-ethereum that referenced this pull request Aug 22, 2025
**Problem:** Including full account code in prestateTracer response
significantly increases response payload size.

**Solution:** Add codeHash field to the response. This will allow
client-side bytecode caching and is a non-breaking change.

**Note:** codeHash for EoAs is excluded to save space.

---------

Co-authored-by: Sina Mahmoodi <[email protected]>
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.

2 participants