Merged
Conversation
Fix ethereum/go-ethereum#32893. In the previous ethereum/go-ethereum#32794, it only handles the pending tx filter, while there are also head and log filters. This PR applies the patch to all filter APIs and uses `defer` to maintain code consistency.
This PR implements the partial read functionalities in the freezer, optimizing the state history reader by resolving less data from freezer. --------- Signed-off-by: jsvisa <delweng@gmail.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com>
This speeds up LogDist by 75% using 64-bit operations instead of byte-wise XOR. --------- Co-authored-by: Felix Lange <fjl@twurst.com>
This speeds up DistCmp by 75% through using 64-bit operations instead of byte-wise XOR.
This PR move the queue out of the main transaction pool. For now there should be no functional changes. I see this as a first step to refactor the legacypool and make the queue a fully separate concept from the main pending pool. --------- Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com> Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This PR adds a `filterfuzz` subcommand to the workload tester that generates requests similarly to `filtergen` (though with a much smaller block length limit) and also verifies the results by retrieving all block receipts in the range and locally filtering out relevant results. Unlike `filtergen` that operates on the finalized chain range only, `filterfuzz` does check the head region, actually it seeds a new query at every new chain head.
This ensures the node is ready to accept other nodes into the table before it is used in a test. Closes #32863
The limit check for `MaxUint32` is done after the cast to `int`. On 64 bits machines, that will work without a problem. On 32 bits machines, that will always fail. The compiler catches it and refuses to build. Note that this only fixes the compiler build. ~~If the limit is above `MaxInt32` but strictly below `MaxUint32` then this will fail at runtime and we have another issue.~~ I checked and this should not happen during regular execution, although it might happen in tests.
This happens normally after a restart, so it is better to use Info level here. Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This pr addresses a few issues brought by the #32270 - Add updates to pricedList after dropping transactions. - Remove redundant deletions in queue.evictList, since pool.removeTx(hash, true, true) already performs the removal. - Prevent duplicate addresses during promotion when Reset is not nil.
…oceeding with transfer (#32374) remove todo
…#32849) This adds a temporary conversion path for blob transactions with legacy proof sidecar. This feature will activate after Fusaka. We will phase this out when the fork has sufficiently settled and client side libraries have been upgraded to send the new proofs.
…peer (#32728) Drop peer if sending the same transaction multiple times in a single message. Fixes ethereum/go-ethereum#32724 --------- Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com> Co-authored-by: Gary Rong <garyrong0905@gmail.com> Co-authored-by: Csaba Kiraly <csaba.kiraly@gmail.com>
This fixes a regression introduced in #32518. In that PR, we removed the slowdown logic that would throttle lookups when the table runs empty. Said logic was originally added in #20389. Usually it's fine, but there exist pathological cases, such as hive tests, where the node can only discover one other node, so it can only ever query that node and won't get any results. In cases like these, we need to throttle the creation of lookups to avoid crazy CPU usage.
Fix logging in the verkle dump path to report the actual key being processed. Previously, the loop always logged keylist[0], which misled users when expanding multiple keys and made debugging harder. This change aligns the log with the key passed to root.Get, improving traceability and diagnostics.
Adds ethclient support for the eth_simulateV1 RPC method, which allows simulating transactions on top of a base state without making changes to the blockchain. --------- Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
New RPC method eth_sendRawTransactionSync(rawTx, timeoutMs?) that submits a signed tx and blocks until a receipt is available or a timeout elapses. Two CLI flags to tune server-side limits: --rpc.txsync.defaulttimeout (default wait window) --rpc.txsync.maxtimeout (upper bound; requests are clamped) closes ethereum/go-ethereum#32094 --------- Co-authored-by: aodhgan <gawnieg@gmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
This change addresses critical issues in the state object duplication process specific to Verkle trie implementations. Without these modifications, updates to state objects fail to propagate correctly through the trie structure after a statedb copy operation, leading to inaccuracies in the computation of the state root hash. --------- Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
geth upstream v1.16.4
Also added a nightly github action that runs race condition check
Fix race conditions detected in make test-race
* revert: P256VerifyGas to 3450 * fix: testdata * chore: add eip7951 to p256Verify precompile * delete: crypto/secp256r1/publickey.go * fix(ci): use state-sync action
* fix(ci): test-state-sync * chore: rename actions * chore: nits
This is required by opcode test in kurtosis_smoke_test.sh
* tbdhf: CLZ opcode and P256 gas cost changes * chore: nits * revert: state-sync test change * chore: nit * chore: final nit * fix: test * chore: rename to lisovo * feat: flexible base fee on lisovo HF (#2041) * covering super low fee scenario * moving configurable rules to lisovo * fix missing tests * chore: add amoy hf block number --------- Co-authored-by: Lucca Martins <lucca_martins30@yahoo.com.br>
* core, internal, params: lisovoPro HF and version bump * core: add lisovoPro instructionset * core: lisovo-lisovoPro instructionset test
…l is unreachable (#2056) FetchMilestone was called with context.Background(), which has no deadline. When Heimdall becomes unreachable, FetchWithRetry enters an infinite retry loop that never returns. Since the ticker fires every second, a new blocked goroutine accumulates each tick — leading to OOM within minutes. Add a 30s context timeout to bound each call, matching the existing pattern in retryHeimdallHandler (eth/backend.go). This caps in-flight goroutines at ~30 instead of growing unboundedly.
…2058) * fix(shutdown): cancel in-flight Heimdall queries on engine shutdown * chore: nit
…ocks (#2060) The late-block adjustment in Prepare() uses an integer-second comparison (header.Time < now.Unix()) to detect when a block is behind schedule and needs additional build time. Because header.Time is an integer (seconds) while the actual target time can have sub-second precision, a block can be up to 999ms late without triggering the adjustment. Example: with period=1s and parent.Time=T: header.Time = T + 1 (integer seconds) now = T + 1.820 (parent block is 820ms late) now.Unix() = T + 1 (truncated to seconds) header.Time < now.Unix() → false (adjustment skipped!) This affects both the default path (blockTime=0, where GetActualTime() falls back to time.Unix(header.Time, 0)) and the custom blockTime path (where ActualTime has sub-second precision from the parent cache chain). With no adjustment, GetActualTime() returns a time already in the past. The interrupt timer in commitWork() expires immediately, which sets the interruptBlockBuilding flag before fillTransactions() runs. The txpool's Pending() checks this flag on every address iteration and returns an empty map, producing a block with 0 transactions even when the pool has pending transactions. Fix by replacing the integer comparison with a direct time comparison against the block's actual target time: if now.After(header.GetActualTime()) { GetActualTime() returns header.ActualTime when set (custom blockTime with Rio, sub-second precision), or time.Unix(header.Time, 0) as fallback (default path). This correctly detects lateness in both cases without over-triggering for on-time blocks, since on-time blocks have their target time in the future.
…der reads (#2057) * exp: disable verifyPendingHeaders * fix: cap verify pending headers at default span length + 1 * fix: add reorg metrics in verify pending headers * chore: add tests * refactor: use milestone fetcher and milestone's end block as the start block * fix: tests
* builder, internal, params: implement new burnContract in lisovo / define lisovo height for mainnet / bump version * fix lint
kamuikatsurgi
approved these changes
Feb 18, 2026
|
manav2401
approved these changes
Feb 18, 2026
Codecov Report❌ Patch coverage is ❌ Your patch status has failed because the patch coverage (39.26%) is below the target coverage (90.00%). You can increase the patch coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #2065 +/- ##
==========================================
+ Coverage 48.03% 49.62% +1.58%
==========================================
Files 842 873 +31
Lines 144510 150616 +6106
==========================================
+ Hits 69418 74742 +5324
- Misses 70538 70819 +281
- Partials 4554 5055 +501
... and 265 files with indirect coverage changes
🚀 New features to boost your workflow:
|
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.




Description
v2.6.0stable candidate