2026 Summer Release dev upgrade merge#2332
Open
benjamin202410 wants to merge 1032 commits intomainfrom
Open
Conversation
Replace panic with error return in decodeSignature to prevent crashes on invalid inputs, and update callers to propagate the error. Co-authored-by: DeFi Junkie <deffie.jnkiee@gmail.com>
Validate ciphertext length in decryptAPDU, preventing runtime panics on invalid input. Co-authored-by: DeFi Junkie <deffie.jnkiee@gmail.com>
ethereum#32327 (#1961) * eth/filters: change error code for invalid parameter errors ethereum#33320 * eth/filters, cmd: add config of eth_getLogs address limit ethereum#32327
…1163) Co-authored-by: Dan Laine <daniel.laine@avalabs.org> Co-authored-by: Felix Lange <fjl@twurst.com>
This removes the feature where top nodes of the proof can be elided. It was intended to be used by the LES server, to save bandwidth when the client had already fetched parts of the state and only needed some extra nodes to complete the proof. Alas, it never got implemented in the client. Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
…ereum#27428 (#1166) - Add error returns to Database.Reader() and NodeIterator() methods - Introduce committed flag to prevent usage of tries after commit - Update callers to handle new error signatures - Add MustNodeIterator() helper for backward compatibility Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
…eum#27476 (#1167) Verkle trees store the code inside the trie. This PR changes the interface to pass the code, as well as the dirty flag to tell the trie package if the code is dirty and needs to be updated. This is a no-op for the MPT and the odr trie. Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
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: hero5512 <lvshuaino@gmail.com> Co-authored-by: Sina Mahmoodi <itz.s1na@gmail.com>
…cak state ethereum#32816 ethereum#32996 (#1991) * feat(crypto): use the ziren keccak precompile ethereum#32816 Uses the go module's `replace` directive to delegate keccak computation to precompiles. This is still in draft because it needs more testing. Also, it relies on a PR that I created, that hasn't been merged yet. _Note that this PR doesn't implement the stateful keccak state structure, and it reverts to the current behavior. This is a bit silly since this is what is used in the tree root computation. The runtime doesn't currently export the sponge. I will see if I can fix that in a further PR, but it is going to take more time. In the meantime, this is a useful first step_ * feat(crypto): implement ziren keccak state ethereum#32996 The ethereum#32816 was only using the keccak precompile for some minor task. This PR implements a keccak state, which is what is used for hashing the tree. --------- Co-authored-by: Guillaume Ballet <3272758+gballet@users.noreply.github.com>
Link to spec: https://eips.ethereum.org/EIPS/eip-7623 --------- Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de> Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com> Co-authored-by: lightclient <lightclient@protonmail.com>
…play (#2275) Symptom: nodes that resumed syncing from local state could fail checkpoint validation with an invalid merkle root while replaying pre-TIPSigning blocks after restart. Cause: the non-TIP signing transaction replay path rebuilt signer data from raw receipts, but raw receipts may not carry TxHash metadata. As a result, signing transactions could be dropped and checkpoint rewards recalculated with totalSigner=0. Fix: match non-TIP signing transactions to receipts by transaction index when receipt metadata is unavailable, keep the failed-receipt filter intact, and add regression tests covering both raw-receipt matching and end-to-end checkpoint reward replay through GetRewardForCheckpoint.
…aming ethereum#30806 ethereum#33227 (#2286) Refactor StructLogger so it can either buffer legacy trace results for RPC responses or stream formatted output directly to the CLI. Switch cmd/evm debug tracing to the streaming path and keep debug.traceCall on the buffered path so it can still return structured trace results. Update the tracer benchmark and related tests to match the new hook-based logger lifecycle and the raw JSON structLogs representation. Treat the struct logger limit as a response-size bound in bytes instead of counting collected trace entries. Co-authored-by: Martin HS <martin@swende.se>
Log the client version and git commit hash in reportBlock output. This makes bad block reports easier to correlate with the running binary.
Include the peer remote TCP address in the registration log to expose IP and port for debugging.
Replace the final start.sh invocation with exec in the container entrypoint. This removes one extra shell layer so the start script inherits the entrypoint process directly.
Close the ethereum shutdown channel before closing the chain database so bloom handler goroutines can exit first. Add stop-step logs around the shutdown path to pinpoint hangs during node exit.
Track pair-peer disconnects with a separate connection count so removal logs and shutdown bookkeeping do not underflow or drop the primary peer entry. Clarify that PeerCount, Peers, net_peerCount, and admin_peers are reported by unique remote NodeID rather than physical connection count.
Move the historical balance bypass table and application logic out of state_processor.go into a dedicated file. Keep the state processing flow focused without changing the bypass behavior, and add focused tests for matching and non-matching historical rules.
Remove an unnecessary comment from core/vm. Co-authored-by: Zheyuan He <ecjgvmhc@gmail.com>
Reject transaction values above uint256 max during txpool validation and execution. Map the overflow to an invalid params RPC error and add focused unit tests.
Noticed this omission while doing some work on goevmlab. We don't properly type some of the opcodes, but apparently implicit casting works in all the internal usecases. Co-authored-by: Martin HS <martin@swende.se>
Update stale comment names in the program and tracing packages to match the current APIs.
Drop the redundant EVM tracer setter and keep tracer configuration on Config.
Move opcode tracing out of the dynamic gas branch so tracing always runs before memory expansion. Keep memory resizing in one place to match the upstream interpreter flow.
add some more changes for live tracing API: - Hook OnSystemCallStartV2 was introduced with VMContext as parameter. - Hook OnBlockHashRead was introduced. - GetCodeHash was added to the state interface - The new WrapWithJournal construction helps with tracking EVM reverts in the tracer.
…#2253 (#2298) Avoid exposing in-flight verify batch headers as empty placeholder blocks. Wire real batch blocks into full block imports while keeping header-only verification limited to header lookups, so consensus code cannot observe fabricated bodies during VerifyHeaders. Add unit coverage for verifyChainReader and an engine v2 regression test for block lookups during batch verification.
Resolve the coinbase owner inside ApplyTransactionWithEVM instead of passing a precomputed value from block processing. This keeps fee routing aligned with the active state for each transaction and makes the block execution and tracer paths use the same owner-resolution logic.
Remove the custom EIP-7702 handlers for EXTCODECOPY, EXTCODESIZE, and EXTCODEHASH so the jump table keeps the default opcode behavior. This also drops the now-unused imports tied to delegation-specific code paths.
…hereum#30809 (#2284) Move EVM tx context switching into ApplyMessage and remove the redundant caller-side setup. Keep the execution gas price visible to tracers in XDPoS, because TransactionToMessage can rewrite msg.GasPrice for TRC21 and fixed-price fee paths before execution. Seed the tx context before OnTxStart and restore VMContext.GasPrice so tracers observe the execution-time pricing instead of the raw transaction price. Update tracer tests to cover the execution gas price path.
|
Important Review skippedToo many files! This PR contains 296 files, which is 146 over the limit of 150. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (296)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Guard PairPeer access with synchronized helpers and snapshot the pair before launching async disconnect during peer shutdown. Add regression coverage for pair-peer teardown and keep the existing pair tracking checks using the synchronized accessors.
* fix(devnet): update chain ID and genesis parameters for Devnet configuration - Changed chain ID from 551 to 5551 in multiple files including genesis.json and flags.go. - Updated TIPV2SwitchBlock to 2700 and dynamicGasLimitBlock to 5000000 in constants.devnet.go. - Adjusted rewards and wallet addresses in the devnet configuration. - Modified genesis block timestamp and extra data for consistency with new parameters. - Ensured all related configurations reflect the new chain ID and settings for improved network stability. * params: update block parameters for pragueBlock, tipUpgradeReward, and tipUpgradePenalty to 5000000 in constants.devnet.go * feat(params): enhance DevnetV2Configs with additional parameters for improved configuration * params: add MinimumMinerBlockPerEpoch and LimitPenaltyEpoch to DevnetV2Configs for enhanced configuration
gzliudan
approved these changes
May 5, 2026
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.
Proposed changes
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which parts of the codebase does this PR touch?
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) that