Merge Upstream tag v1.101609.0#70
Merged
ClaytonNorthey92 merged 883 commits intohemifrom Feb 23, 2026
Merged
Conversation
This change ensures TransitionState.Copy preserves BaseRoot. During a Verkle transition, ts.BaseRoot is required to construct the overlay MPT when ts.InTransition() is true. Previously, copies dropped BaseRoot, risking an invalid zero-hash base trie and inconsistent behavior.
As a consequence of moving blob sidecar version migration code around, we ended up building blocks with a mix of v0 and v1 blob transactions (different proof encoding in the sidecar). This PR makes sure we are not building illegal blocks after Osaka. Blob migration is left for another PR. Related issues and PRs: - ethereum/go-ethereum#31791 - ethereum/go-ethereum#32347 - ethereum/go-ethereum#31966 - ethereum/go-ethereum#32235 --------- Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
Implements a migration path for the blobpool slotter --------- Co-authored-by: lightclient <lightclient@protonmail.com> Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
This fixes an issue with the engine API after BPO forks have passed.
This removes the tools.go workaround in favor of the official tool management infrastructure, which was added in Go 1.24.
Keeper is a zmvm guest program that runs the block transition. It relies on the zkvm maker implementing `getInput`. For now, we only provide a single implementation for the 'ziren' VM. Why keeper? In the _Mass Effect_ lore, the keepers are animals (?) who maintain the citadel. Nothing is known from them, and attempts at tampering with them have failed, as they self-destruct upon inquiry. They have a secret, nefarious purpose that is only revealed later in the game series, don't want any spoilers so I didn't dig deeper. All in all, a good metaphor for zkvms. --------- Co-authored-by: weilzkm <140377101+weilzkm@users.noreply.github.com> Co-authored-by: Felix Lange <fjl@twurst.com>
…e (#32618) ApplyTransaction calls the hooks and builds the receipt, so some duplicated code can be removed from t8ntool. Test cases have been changed to add the `blockNumber` and `blockHash` in receipts, since they were previously not filled in.
…led (#32622) This test iterated over Hooks fields and skipped a field named copy. The Hooks struct has no such field, making the condition dead code.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com> # Conflicts: # p2p/discover/lookup.go
This PR adds a new RPC call, which re-executes a block with stateless mode activated, so that the witness data are collected and returned. They are `debug_executionWitnessByHash` which takes in a block hash and `debug_executionWitness` which takes in a block number. --------- Signed-off-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
This changes the modexp precompile to use a fork of math/big with some patches by @GottfriedHerold to improve worst-case performance.
using it.lookup.tab inside is unsafe Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This improves the latency of lookups in small networks and test setups. When the local node table runs empty, the lookupIterator will trigger refresh to try and fill the table again. The behaviour of lookup in case of an empty table is changed: - Previously, lookup waited fixed 1 second before trying to continue the lookup - Now, lookup on an empty table returns immediately, and a better wait implementation is part of the LookupIterator. It reinitialises the table, and continues the interator as soon as a node becomes available.
Updates c-kzg to the latest release: https://github.com/ethereum/c-kzg-4844/releases/tag/v2.1.3
…g to console (#32619) The format that is currently reported by the chain isn't very useful, as it gives an average for ALL the nodes, and not only the leaves, which skews the results. Also, until now there was no way to activate the reporting of errors. We also decided that metrics weren't the right tool to report this data, so we decided to dump it to the console if the flag is enabled. A better system should be built, but for now, printing to the logs does the job.
This pull request is based on #32306 , is the second part for shipping trienode history. Specifically, this pull request generalize the existing index mechanism, making is usable by both state history and trienode history in the near future.
- Adds `NodeIteratorWithPrefix()` method to support iterating only nodes
within a specific key prefix
- Adds `NodeIteratorWithRange()` method to support iterating only nodes
within a specific key range
Current `NodeIterator` always traverses the entire remaining trie from a
start position. For non-ethereum applications using the trie implementation,
there's no way to limit iteration to just a subtree with a specific prefix.
**Usage:**
```go
// Only iterate nodes with prefix "key1"
iter, err := trie.NodeIteratorWithPrefix([]byte("key1"))
```
Testing: Comprehensive test suite covering edge cases and boundary conditions.
Closes #32484
---------
Co-authored-by: gballet <guillaume.ballet@gmail.com>
Co-authored-by: Gary Rong <garyrong0905@gmail.com>
ZKVMs are constrained environments that liberally allocate memory and never release it. In this context, using the GC is only going to cause issues down the road, and slow things down in any case.
* introduce IsMinBaseFee feature toggle Allows feature to be easily removed from Jovian hardfork. When the hardfork scope is locked, this commit can be reverted. * decouple features * add isOperatorFeeFix toggle
Removed approval hold job from release process in CircleCI config.
When I implemented in #31340 I didn't expect multiple forks to be configured at once, but this is exactly how BPOs are defined. This updates the method to determine the next scheduled fork rather than the last fork.
https://github.com/ethereum/execution-spec-tests/releases/tag/v5.0.0 As of this release, execution-spec-tests also contains all state tests that were previously in ethereum/tests. We can probably remove the tests submodule now. However, this would mean we are missing the pre-cancun tests. Still need to figure out how to resolve this. --------- Co-authored-by: MariusVanDerWijden <m.vanderwijden@live.de>
…#32636) Addresses ethereum/go-ethereum#32630 This pull request enables the stateless engine APIs for Osaka and the following BPOs. Apart from that, a few more descriptions have been added in the engine APIs, making it easier to follow the spec change.
Add cli configurable limit for the number of addresses allowed in eth_getLogs filter criteria: ethereum/go-ethereum#32264 Key changes: - Added --rpc.getlogmaxaddrs CLI flag (default: 1000) to configure the maximum number of addresses - Updated ethconfig.Config with FilterMaxAddresses field for configuration management - Modified filter system to use the configurable limit instead of the hardcoded maxAddresses constant - Enhanced test coverage with new test cases for address limit validation - Removed hardcoded validation from JSON unmarshaling, moving it to runtime validation Please notice that I remove the check at FilterCriteria UnmarshalJSON because the runtime config can not pass into this validation. Please help review this change! --------- Co-authored-by: zsfelfoldi <zsfelfoldi@gmail.com> Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
* sync-superchain: use yq instead of dasel Replaces dasel with yq for reading TOML files. yq has more stable syntax across versions and is more commonly used in the ecosystem. * ci: update to use yq instead of dasel Updates CircleCI config to install yq instead of dasel for the check-sr-diff job. * ci: pin yq to v4.44.1
Fix ECIES invalid-curve handling in RLPx handshake (reject invalid ephemeral pubkeys early) - Add curve validation in crypto/ecies.GenerateShared to reject invalid public keys before ECDH. - Update RLPx PoC test to assert invalid curve points fail with ErrInvalidPublicKey. Motivation / Context RLPx handshake uses ECIES decryption on unauthenticated network input. Prior to this change, an invalid-curve ephemeral public key would proceed into ECDH and only fail at MAC verification, returning ErrInvalidMessage. This allows an oracle on decrypt success/failure and leaves the code path vulnerable to invalid-curve/small-subgroup attacks. The fix enforces IsOnCurve validation up front.
c1086b2 to
b2d1539
Compare
… into HEAD Tag created with op-workbench.
b2d1539 to
61410ad
Compare
AL-CT
approved these changes
Feb 20, 2026
…message ID refactor in upcoming Jovian release - Restore peer.setBlockChain() call - Regenerate two auto-generated files that weren't regenerated properly
Author
|
Dont merge. Tests not passing |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge tag 'v1.101609.0' of https://github.com/ethereum-optimism/op-geth into HEAD
localnet test passing here https://github.com/hemilabs/heminetwork/actions/runs/22203798653