Skip to content

Conversation

@marcello33
Copy link
Collaborator

@marcello33 marcello33 commented Oct 26, 2025

Description

Merge geth upstream v1.16.4.

Block height for Osaka related code to be enabled and activated (as previously done for Madhugiri).

Changes

  • Bugfix (non-breaking change that solves an issue)
  • Hotfix (change that solves an urgent issue, and requires immediate attention)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (change that is not backwards-compatible and/or changes current functionality)
  • Changes only for a subset of nodes

Checklist

  • I have added at least 2 reviewer or the whole pos-v1 team
  • I have added sufficient documentation in code
  • I will be resolving comments - if any - by pushing each fix in a separate commit and linking the commit hash in the comment reply
  • Created a task in Jira and informed the team for implementation in Erigon client (if applicable)
  • Includes RPC methods changes, and the Notion documentation has been updated

Testing

  • I have added unit tests
  • I have added tests to CI
  • I have tested this code manually on local environment
  • I have tested this code manually on remote devnet using express-cli
  • I have tested this code manually on amoy
  • I have created new e2e tests into express-cli

mask-pp and others added 30 commits August 5, 2025 13:07
- If all the `vhashes` are in the same `sidecar`, then it will load the
same blob tx many times. This PR aims to upgrade this.

---------

Co-authored-by: Gary Rong <[email protected]>
This PR makes 2 changes to how
[EIP-7825](ethereum/go-ethereum#31824) behaves.

When `eth_estimateGas` or `eth_createAccessList` is called without any
gas limit in the payload, geth will choose the block's gas limit or the
`RPCGasCap`, which can be larger than the `maxTxGas`.

When this happens for `estimateGas`, the gas estimation just errors out
and ends, when it should continue doing binary search to find the lowest
possible gas limit.

This PR will: 
- Add a check to see if `hi` is larger than `maxTxGas` and cap it to
`maxTxGas` if it's larger. And add a special case handling for gas
estimation execute when it errs with `ErrGasLimitTooHigh`

---------

Co-authored-by: Gary Rong <[email protected]>
The separation serves no purpose atm, and the circular dependency that
EVM and EVMInterpreter had was begging for them to be merged.
Add missing it.Error() check after iteration in Database.DeleteRange to
avoid silently ignoring iterator errors before writing the batch.

Aligns behavior with batch.DeleteRange, which already validates iterator
errors. No other functional changes; existing tests pass (TestLevelDB).
The previous comment stated that every 3rd block has a tx and every 5th
has an uncle.
The implementation actually adds one transaction to every second block
and does not add uncles.
Updated the comment to reflect the real behavior to avoid confusion when
reading tests.
The GetHeader function was incorrectly returning an error when
encountering nil peers in the peers list, which contradicted the comment 
"keep retrying if none are yet available". 

Changed the logic to skip nil peers with 'continue' instead of returning
an error, allowing the function to properly iterate through all
available peers and attempt to retrieve the target header from each valid peer.

This ensures the function behaves as intended - trying all available
peers before giving up, rather than failing on the first nil peer encountered.
These changes made in the PR should be highlighted here

The trie tracer is split into two distinct structs: opTracer and prevalueTracer. 
The former is specific to MPT, while the latter is generic and applicable to all
trie implementations.

The original values of dirty nodes are tracked in a NodeSet. This serves
as the foundation for both full archive node implementations and the state live
tracer.
## Description

Correct symmetric tolerance in gas limit validation:
Replace ambiguous "+-=" with standard "+/-" in the error message.
Logic rejects when |header − parent| ≥ limit, so allowed range is |Δ| ≤
limit − 1.

No logic or functionality has been modified.
fix inconsistent function name in comment

Signed-off-by: youzichuan <[email protected]>
goos: darwin
goarch: arm64
pkg: github.com/ethereum/go-ethereum/rlp
cpu: Apple M4
        │   old.txt   │               new.txt               │
        │   sec/op    │   sec/op     vs base                │
Intsize   2.175n ± 5%   1.050n ± 4%  -51.76% (p=0.000 n=10)
**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]>
@marcello33 marcello33 requested a review from a team October 27, 2025 05:48
@marcello33 marcello33 marked this pull request as ready for review October 29, 2025 08:01
@codecov
Copy link

codecov bot commented Nov 3, 2025

Codecov Report

❌ Patch coverage is 40.44600% with 1362 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.11%. Comparing base (c1e1773) to head (0c0c008).
⚠️ Report is 336 commits behind head on develop.

Files with missing lines Patch % Lines
core/state/state_sizer.go 51.93% 192 Missing and 19 partials ⚠️
core/rawdb/database.go 0.00% 176 Missing ⚠️
core/txpool/blobpool/blobpool.go 32.30% 168 Missing and 8 partials ⚠️
core/types/bal/bal_encoding_rlp_generated.go 52.63% 78 Missing and 39 partials ⚠️
core/types/bal/bal.go 0.00% 81 Missing ⚠️
core/types/bal/bal_encoding.go 67.51% 54 Missing and 10 partials ⚠️
core/rawdb/ancienttest/testsuite.go 0.00% 57 Missing ⚠️
core/overlay/state_transition.go 0.00% 47 Missing ⚠️
core/txpool/blobpool/conversion.go 59.63% 39 Missing and 5 partials ⚠️
core/txpool/blobpool/slotter.go 26.41% 38 Missing and 1 partial ⚠️
... and 55 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1839      +/-   ##
===========================================
- Coverage    48.19%   48.11%   -0.09%     
===========================================
  Files          827      867      +40     
  Lines       135906   147116   +11210     
===========================================
+ Hits         65497    70781    +5284     
- Misses       66182    71607    +5425     
- Partials      4227     4728     +501     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Contributor

@lucca30 lucca30 left a comment

Choose a reason for hiding this comment

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

LGTM. Just some changes from stateless we should pay attention to keep as it is.

@marcello33 marcello33 requested a review from a team November 25, 2025 14:21
@sonarqubecloud
Copy link

sonarqubecloud bot commented Dec 1, 2025

Copy link
Contributor

@lucca30 lucca30 left a comment

Choose a reason for hiding this comment

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

lgtm

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.