Merge master into gp#9493
Merged
Merged
Conversation
* extend tracer with evm exception * Update RpcTest.cs rollback debug help * TransactionResult with EvmException * format result wrapper * format * fixing rpc tests * changed RPC test and estimateGas no data on error * removed unnecessary bool TransactionResult * not used output * fixed test * review comments * fix unit tests
* Optimize Blooms * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Feedback * bleh * Feedback * Make combined method public --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: rubo <rubo@users.noreply.github.com>
Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>
* Per contract state
* Update src/Nethermind/Nethermind.State/PersistentStorageProvider.cs
Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk>
* Fix randomly faailing test
* Fix concurrent ensure storage tree
---------
Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk>
Improve 6110 validation
* Move main block processing components to DI * Remove comment * Move invalid chain tracker hook outside also * Slight comment change * Remove some field * Rename to `MainProcessingContext` * Fix build * Whitespace
* start XDC project * moved main project * revert format
* Optimize TrieNode.SeekChild * Apply suggestions from code review Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * ffs copilot * Use switch expression * switch expression, improve comments * Improve param naming --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Kamil Chodoła <43241881+kamilchodola@users.noreply.github.com>
* Incorrect Gas Estimation Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com>
* Added basic spec classes * small correction
* Stop after 256 blocks * Run until BestKnownNumber * Split InitializeNetwork * Remove comment * Await processing in ReviewBlockTree * Revert InitializeNetwork * Fix formatting
Co-authored-by: rubo <rubo@users.noreply.github.com>
Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>
* Precompiles Extensibility
* feat: add support for additional metrics labels in prometheus reporter * fix: add labels config to root command * feat: add basic auth support for prometheus push gateway * refactor: update memory metrics structure to support method-specific metrics * fix: use correct histogram labels in prometheus metrics reporter
* Hive to load blocks before RPC start * Do not load inactive deps * Only optional deps are not required * Reuse a loop * Simplify RunnerStepDependenciesAttribute.Optional * Simplify loop, remove unnecessary ToArray, general refactors * whitespace --------- Co-authored-by: lukasz.rozmej <lukasz.rozmej@gmail.com>
* Move blocktree to di * Reduce change * Fix test
* Admin Get Peers - initial commit Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Formatting Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Breaking Changes Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Test Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Remove Comment Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Improvements Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * PR Review Comments Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Avoid string manipulation in NetworkInfoBuilder Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Avoid string manipulation in NetworkInfoBuilder Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Further improvement in string allocation at CapabilityConverter.cs Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Format Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> * Bit of refactors * Remove EnrExtractor and move comment to PeerInfo * Update comment with issue link --------- Signed-off-by: stavrosvl7 <stavrosvl7@gmail.com> Co-authored-by: lukasz.rozmej <lukasz.rozmej@gmail.com>
* separate receipt deletion from receipt tx deletion * regression test * tidy test --------- Co-authored-by: Marc Harvey-Hill <10379486+Marchhill@users.noreply.github.com>
* ENR initial implementation * ENR on PeerInfo.cs
Ensure ForkInfo was initialized
…9236) Signed-off-by: Antoine James <antoine@ethereum.org>
* implement xdc codec * add tests for decoder * remove unnecesary wrapper * fix formatting * refactor unit tests * refactor: convert BlockDecoder to primary constructor
remove unused references
* more tests and corrected sealing encoding * format
…ature (#9453) * Initial plan * Add ChainId to legacy transactions from signature when null Co-authored-by: MarekM25 <9356351+MarekM25@users.noreply.github.com> * Fix test expectations to include chainId for legacy transactions Co-authored-by: MarekM25 <9356351+MarekM25@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: MarekM25 <9356351+MarekM25@users.noreply.github.com>
* Add blocktest tracing support to nethtest tool Implements consolidated transaction tracing for blockchain tests, compatible with go-ethereum's blocktest trace format. Features: - Consolidated trace output to stderr (matching state test behavior) - Single stream for all blocks and transactions - JSON-lines format compatible with geth - CLI options for memory/stack control (-m/-s) - Unit tests with 4 test methods covering core functionality Implementation details: - BlockchainTestStreamingTracer: Streams traces to stderr - Fixed async block processing race condition in BlockchainTestBase - Tracer registration moved after StopAsync() for complete traces - Simplified architecture with single tracer per test run Usage: dotnet nethtest.dll -b -i test.json -t 2>trace.jsonl 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix trace divergence by removing incorrect gas increase heuristic The gas increase detection logic incorrectly identified instructions after RETURN/CREATE operations as "jumped over" and skipped tracing them. This caused trace divergences where: - After RETURN (depth 2→1): Gas appears to "increase" due to context switch - Heuristic wrongly skipped next instruction, causing PC misalignment - Nethermind traces missing instructions that Geth correctly traces Root cause: The >50 gas threshold conflated: 1. Actual gas stipend increases (CALL/DELEGATECALL) 2. Apparent increases from context returns (RETURN/CREATE) Fix: Remove selective tracing logic and unconditionally emit all trace entries. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Add blocktest test end marker for JSONL-compliant tracing Implements testEnd marker written to stderr after each blocktest execution: - Format: {"testEnd":{"name":"...","pass":bool,"fork":"...","v":1,...}} - Includes test metrics: duration, gasUsed, txs, blocks, finalStateRoot - Written BEFORE tracer removal to ensure it's the last trace line - Written even on test failure for proper fuzzer integration Changes: - BlockchainTestStreamingTracer: Add WriteTestEndMarker() method - BlockchainTestBase: Call marker method via reflection before assertions - Track transaction count, block count, and total gas for metrics Required for differential fuzzing between Nethermind and Geth. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Remove reflection Write directly to output removing memory streams Refactors --------- Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org> Co-authored-by: Claude <noreply@anthropic.com>
* TestDiscovery * Broadcast_BlockRangeUpdate_when_latest_increased_enough
* Place access list deserialization guards * refactor * fix property casing * Update src/Nethermind/Nethermind.Facade/Eth/RpcTransaction/AccessListForRpc.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/Nethermind/Nethermind.Facade/Eth/RpcTransaction/AccessListForRpc.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * rename --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: rubo <rubo@users.noreply.github.com>
* fix Should_return_correct_block_reward * fix getPayloadV1_waits_for_block_production * Fix E2ESyncTests by waiting for block processing in setup * whitespace * more fixes to E2ESyncTests * Another fix for Should_return_correct_block_reward * fix Test_task_that_is_scheduled_during_block_processing_will_continue_after * more sensible timings * try fix Maintain_correct_pointers_for_beacon_sync_in_archive_sync and Big_test((storage_hash_and_code_hash_same, System.Action`3[Nethermind.State.StateTree,Nethermind.Trie.Pruning.ITrieStore,Nethermind.Db.IDb])) * Try wait for BlockProcessingQueue in Big_test * Revert Big_test changes I give up * fix * Try fix ImportAsArchiveSync_WillPaceSuggestBlock * Try fix ImportAsArchiveSync_WillPaceSuggestBlock further
* Try fixing leak in ProtocolsManager._sessions * Additional check for safety * Avoid double removal
use rawtriestore
* test * Test * Test * Try fix * Fix hash * Fix * Cleanup * known failing test * Report self-desctruct * known tests * Fix tests list * Create const * Move precompiles * Reset precompiles * Push empty code into precompile address * Remove insert * Override code in precompile * Commit roots * Commit * Fix tests * Fix tests * known failing tests * revert extra test
* Harden RLP limits on allocations * fix * fix build * fix * fix * FIx tests, refactors, adjust limits * Move RlpLimit to own file * fix * fix pyspec tests * Improve exception message * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpLimit.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/Nethermind/Nethermind.Network.Stats/SyncLimits/NethermindSyncLimits.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/Nethermind/Nethermind.Network/P2P/ProtocolHandlers/ProtocolHandlerBase.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpLimit.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Increase Transaction.Data limit to 30MB to handle 300MGas of calldata * Remove unused * fix Benchmark solution --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
#9485) * Adjusting estimateGas response to match geth responses for execution reverted * Fixing whitespace formatting
* Check bytes left before checking the limit * Refactor RlpLimit from nullable to Default Simplify RlpLimit creation with good defaults * fix by revert back to nullable * fix * Add tests
* Fix genesis post processor have no allocations * Fix build
…c sync manager behavior (#9438) * Update BlockchainTestBase.cs * Update BlockchainTestBase.cs * Update BlockchainTestBase.cs * Update BlockchainTestBase.cs
acb864c
into
kch/rlpforced-getpayload-timestamphack
139 of 148 checks passed
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.
Fixes Closes Resolves #
Please choose one of the keywords above to refer to the issue this PR solves followed by the issue number (e.g. Fixes #000). If no issue number, remove the line. Also, remove everything marked optional that is not applicable. Remove this note after reading.
Changes
Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Optional. Remove if not applicable.
Documentation
Requires documentation update
If yes, link the PR to the docs update or the issue with the details labeled
docs. Remove if not applicable.Requires explanation in Release Notes
If yes, fill in the details here. Remove if not applicable.
Remarks
Optional. Remove if not applicable.