Conversation
| public enum SimulateErrorCode | ||
| { | ||
| Default = -32000, | ||
| NonceTooHigh = -38011, | ||
| NonceTooLow = -38010, | ||
| IntrinsicGas = -38013, | ||
| InsufficientFunds = -38014, | ||
| BlockGasLimitReached = -38015, | ||
| BlockNumberInvalid = -38020, | ||
| BlockTimestampInvalid = -38021, | ||
| SenderIsNotEOA = -38024, | ||
| MaxInitCodeSizeExceeded = -38025, | ||
| ClientLimitExceeded = -38026, | ||
| InternalError = -32603, | ||
| InvalidParams = -32602, | ||
| Reverted = -32000, | ||
| VMError = -32015, | ||
| TxSyncTimeout = 4, | ||
| } |
There was a problem hiding this comment.
Maybe put those with standard ErrorCodes? Lot of them are duplicates.
Also Revert should be now 3
There was a problem hiding this comment.
These are geth error codes. I think some of them are wrong on there side, some on ours. I will need to investigate each one witch is a lot of work. For now I thought it's good idea to finish with the tests, so we pass all of them. And right after we can negotiate/fix the exact numbers.
There was a problem hiding this comment.
Sure but we have some of them already here, can we not duplicate?
There was a problem hiding this comment.
At minimum put those error codes there (which are missing) and reuse const values for your enum.
| /// <summary> | ||
| /// Transaction reverted. Geth sets it to -32000 in simulate but suppose to 3. We kepp it as geth for now | ||
| /// </summary> | ||
| public const int RevertedSimulate = -32000; |
There was a problem hiding this comment.
Maybe Geth already returns 3, but tests weren't re-generated?
There was a problem hiding this comment.
No, I checked. It's a bug in their code
* Fix delegation in eth_simulate (#9490) * Test * Test * Try fix * Delegation in GetCachedCodeInfo * Do not trace delegate call * Fix known-failing-tests.txt * Fix suggestions * Remove passing eth_getBlockByNumber hive tests (#9462) Removed known failing tests related to eth_getBlockByNumber. * fix: Use correct Docker Hub secrets across workflows (#9495) * fix: Use correct Docker Hub secrets across workflows * Update release workflow --------- Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com> * Fix batched trie visitor missed storage (#9496) * Move static/trusted nodes file to the data dir (#9477) * Update Dockerfiles (#9497) Co-authored-by: rubo <rubo@users.noreply.github.com> * Fix: Blocktest exception handling logic (#9491) * Fix: Blocktest validation bypass and exception handling logic This commit addresses two critical issues in blockchain test validation: 1. Validation Bypass Vulnerability: - Removed the `!test.SealEngineUsed ||` condition that allowed blocks to skip validation entirely when using NoProof seal engine - Now all blocks undergo proper consensus rule validation regardless of seal engine type (seal validation itself remains conditional) 2. Inverted Exception Logic: - Fixed inverted null checks on `ExpectedException` in both validation failure and exception handling paths - Added explicit validation pass/fail checks to catch blocks that unexpectedly pass when they should fail - Improved error messages to include actual validation error details - Added explanatory comments documenting expected behavior The validation framework now correctly: - Validates all blocks through the consensus rule validator - Fails tests when blocks unexpectedly pass validation - Fails tests when blocks unexpectedly fail validation - Properly handles expected failures via both validation and exceptions 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ExpectException asserts simplification * fixes * Remove SealEngineType and SealEngineUsed * simplify asserts * Fix expectsException --------- Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Alexey Osipov <me@flcl.me> * Update OP Superchain chains (#9500) Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com> * Improve Hive RPC compat. (#9489) * initial * format * apply comments * update description * remove leading zeros from some places * update known-failing-hive-tests.txt after running the hive * Update send blobs tool (#9472) * Update send blobs docs and fix an option * Fix dockerfile * Make AuthorizationListForRpc.JsonConverter public for attribute-based activation (#9506) * Add CancelAfter to Maintain_correct_pointers_for_beacon_sync_in_archi… (#9507) * Add CancelAfter to Maintain_correct_pointers_for_beacon_sync_in_archive_sync * add Retry * try fix combines_contract_and_local_data_correctly * Disable osaka chiado hardfork (#9486) disable osaka chiado hardfork Co-authored-by: Marc Harvey-Hill <10379486+Marchhill@users.noreply.github.com> * Feature/xdc block sealer (#9505) * xdc block sealer * Test * Format * Use correct Bmi2 intrinsic support check (#9510) * Fix nonce handling in eth_simulate (#9499) * Do not load nonce from state * Prepare state before assembling body * Emulate nonce overflow * known-failing-tests * Fix suggestions * test * Fix * MixHash & types & remove mod * fxi * Replace GitHub token (#9515) * Fix fast sync settings workflow (#9519) * Auto-update fast sync settings (#9522) Co-authored-by: rubo <rubo@users.noreply.github.com> * fix/crypto-random-secure-rng (#9513) * Update CryptoRandom.cs * Create CryptoRandomTests.cs * Update src/Nethermind/Nethermind.Crypto/CryptoRandom.cs Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Apply suggestion from @LukaszRozmej --------- Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Slight logging change (#9520) * Remove overseer tests (#9527) * fix: CompositeTxTracer aggregates IsTracingLogs and gates ReportLog correctly (#9511) * Log index (preparation) (#9481) * Preparation for log-index * PR cleanup * Move Merge to separate interface * PR feedback # Conflicts: # src/Nethermind/Nethermind.Db/LogIndex/LogIndexStorage.cs * Receipts events renaming # Conflicts: # src/Nethermind/Nethermind.Facade/Find/LogIndexBuilder.cs * PR feedback * Formatting * Code cleanup * Code cleanup * Fix DB config validation * Use sorted view instead of iterator # Conflicts: # src/Nethermind/Nethermind.Db/LogIndex/LogIndexStorage.cs * Do not publicly expose iterator * Code cleanup * Revert changes to DB config reading * PR feedback * PR feedback * PR feedback # Conflicts: # src/Nethermind/Nethermind.Db.Rocks/Config/DbConfig.cs # src/Nethermind/Nethermind.Db.Rocks/Config/IDbConfig.cs * PR feedback * Persist genesis state after genesis loader to prevent unclean shutdown issues (#9536) * Initial plan * Add state persistence after genesis loading - Call CommitTree(0) after successful genesis processing to force persist state to disk - Add comprehensive tests for GenesisLoader state persistence behavior - Ensures genesis state is available on restart after unclean shutdown Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Fix code formatting for GenesisLoaderTests Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Use IWorldStateManager.FlushCache() for genesis state persistence - Changed GenesisLoader constructor to take IWorldStateManager instead of IWorldState - Call FlushCache(CancellationToken.None) after successful genesis processing - Removed test file as requested - This uses the proper abstraction for cache flushing as suggested by reviewer Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Inject worldstate and flush after scope exit * Add comprehensive unit tests for GenesisLoader - Test successful genesis loading triggers FlushCache - Test timeout scenario does not trigger FlushCache - Test invalid block scenario does not trigger FlushCache - Test FlushCache is called after scope exit - All 4 new tests pass, total 24 tests in Consensus.Test Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> Co-authored-by: Amirul Ashraf <asdacap@gmail.com> * Fix Leading Zero Issue for taiko (#9538) * fix leading zero issue * add new test * use Hash256 instead of ValueHash256 * Fix incorrect BlockRangeUpdateMessage.EarliestBlock in some edge cases (#9542) * Add support for block producer based on global world state instance. (#9388) * Add support for block producer based on global world state instance. * Register ProducedBlockSuggester * Add config. Suggest produced block and update main chain. * Added test * Small refactor * Remove Holesky (#9525) Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com> * Retry requesting pooled transactions (#9128) * PoC of delayed sending if requested * Add retry cache * Fix logs and multiple requests expiration * Add tests * Rename * Add more tests * Improve * Simplify dependencies * Improve * Rename * no requestoor draft * Use messages * Remove the requestoor * Fix tests * Fix tests * More fixes * Substitute * Disconnect peers with invalid txs * Update src/Nethermind/Nethermind.Network.Contract/Messages/IResourceRequestMessage.cs Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Compress code * Try pooled set * Handle as eth66 * Fix review * Fix tests * No need in syncing handling * Remove redundant dispose * Review --------- Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * fix culture-dependent metric name generation (#9543) Update PrometheusPushGatewayMetricsReporter.cs * Fix: Include exception details in SimpleConsoleLogger.Error() (#9544) * Update SimpleConsoleLogger.cs * Update src/Nethermind/Nethermind.Logging/SimpleConsoleLogger.cs --------- Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Perf/Add ArrayPoolListRef to avoid some allocations (#9537) * Add ArrayPoolListRef * Apply usages ArrayPoolListRef when possible (no need for it to go on heap) * Pass ArrayPoolListRef via in * fix * fixes * small improvements * small fix in test * fix * fix * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Update src/Nethermind/Nethermind.Core/Collections/ArrayPoolListRef.cs Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Remove unused custom array pool * fix build * AddMarkUnknownHashes to ArrayPoolListRef --------- Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> * Fix merge gone wrong in #9537 * [WIP] Automatically lower max open file limit to prevent crashes (#9504) * Initial plan * Add automatic MaxOpenFiles detection and adjustment Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Simplify MaxOpenFiles adjustment by mutating DbConfig directly Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Ensure MaxOpenFiles mutation happens only once with initialization flag Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Fix whitespace formatting Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Change MaxOpenFiles calculation to use 80% of system limit Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Fix IndexOutOfRangeException on missing or mismatched receipts in BlockValidator (#9534) * Initial plan * Fix index out of range exception on missing/mismatched receipts Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Address PR feedback: move receipt count check and fix tests Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> * Handle static/trusted nodes old location (#9545) * Improve build version handling (#9547) * XDC : Add Header and Block Stores (#9528) * implement XdcBlockStore * Add XdcBlockStore and XdcHeaderStore * ws fix * Apply suggested changes * primary constructor --------- Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> * proper fix for key property in storage proof for rpc-compat (#9551) proper fix for key property in storage proof. revert change to ValueHash256Converter.cs to always return leading zeros. * Xdc timeout handler (#9475) * implement pool for timeouts and votes * implement timeout handler * use XdcPool for collecting timeouts * implement checks before timeout handling and refactors * update tc manager in tests * expose OnReceiveTimeout method in interface for tc manager * bit of optimization * format --------- Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> * Xdc Pool for timeouts and votes (#9521) * implement pool for timeouts and votes * remove unnecessary array allocation * merged --------- Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> Co-authored-by: ak88 <anders@nethermind.io> * XDC : EpochSwitchInfo Manager (#9299) * initial draft implementation of EpochSwitchInfoManager * refactor and fix build issues * added some tests * refactor to use IXdcReleaseSpec * fix build issue * refactors and tests and fixes * refactors and fixes and more tests * fixes, add missing field, refactor tests * refactor tests to be more predictable and consistent * ws fixes * fix issues * refactors and applying suggeted changes * fix test * apply Math.Max suggestion * refactors and suggetions * remove redundent method * fix failing tests * refactor Spec moq-ing * cleanup and ws fixes * cleanup * cleanup * modify calls to epochSwitch mgr methods --------- Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> Co-authored-by: Carmen Irene Cabrera Rodríguez <49727740+cicr99@users.noreply.github.com> Co-authored-by: cicr99 <kr1000a@gmail.com> * Update CODEOWNERS with project owners (#9552) * Update CODEOWNERS with project owners * Update .github/CODEOWNERS * Update .github/CODEOWNERS * Update .github/CODEOWNERS * Update CODEOWNERS * Update .github/CODEOWNERS * Update .github/CODEOWNERS * Update .github/CODEOWNERS --------- Co-authored-by: Alexey Osipov <me@flcl.me> Co-authored-by: Ahmad Bitar <33181301+smartprogrammer93@users.noreply.github.com> * bump: nethermind version on props to 1.36.0 (#9556) bump: nethermind version on props * Changes for Arbitrum mainnet (#9473) * test changes for mainnet * fixing comments * remove unused method * rollback PersistentStorageProvider.cs - changes not needed * remove logs * remove unnecessary changes * remove unnecessary changes * virtual isGenesis on BlockHeader.cs * empty line * more places with hardcoded 0 for block or header number * small change * commit PR suggestion * XDC block producer (#9512) * block producer * format * test * block production test * format * use the constant * use timestamp from attributes * default for timestamp * name * merged * merge fix * Validate sizes and types (#9546) * PoC of delayed sending if requested * Add retry cache * Fix logs and multiple requests expiration * Add tests * Rename * Add more tests * Improve * Simplify dependencies * Improve * Rename * no requestoor draft * Use messages * Remove the requestoor * Fix tests * Fix tests * More fixes * Substitute * Disconnect peers with invalid txs * Update src/Nethermind/Nethermind.Network.Contract/Messages/IResourceRequestMessage.cs Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Compress code * Try pooled set * Handle as eth66 * Fix review * Fix tests * No need in syncing handling * Validate sizes and types * Add a test * Fix test * Add tests * Fix test * Code style * Rollback * Fix tests * Move to proper class * Rollback that rollback * Mark not invalid txs as received * Move * Fix dispose * Fix * Moar * Clean up cache * Using --------- Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> * Use trace instead of warn (#9563) * use trace * if * Validate sizes and types (#9564) Fix logs * XDC : Votes Manager (#9296) * push draft implementation of QC manager and other related components * intial draft implementation of Votes manager * arg null exception * fixes * refactor and fixes * refactor * refactor * Change signatures * bit of refactor * cleanup * merged master * Test * format * fixes * format * format * persist when committing QC * merge conflicts * merge fixes * votepool type * concurrent vote pool * added log * isigner * comment * comments * implement initial vote filtering * refactor vote manager * implement XdcPool for votes and timeouts * ensure valid votes before processing qc * format * implement pool for timeouts and votes * add tests for vote handling * fix errors after merge * format * fix for QC manager * format * refactors and add tests --------- Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> Co-authored-by: cicr99 <kr1000a@gmail.com> Co-authored-by: Carmen Irene Cabrera Rodríguez <49727740+cicr99@users.noreply.github.com> * Update OP Superchain chains (#9568) Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com> * Auto-update fast sync settings (#9567) Co-authored-by: rubo <rubo@users.noreply.github.com> * Fix simulate errors (#9565) * test * Error codes * Adjust errors * More error codes * Fix build * Fix tests * known failing tests * Move simulate error codes * Don't recache if from cache * Improve ClockCache fast path * Use smaller keys for Block and Header caches * Pass via in * Add number cache * formatting * sp --------- Co-authored-by: Nikita Mescheryakov <root@nikitam.io> Co-authored-by: Marek Moraczyński <marekm2504@gmail.com> Co-authored-by: Mario Apra <mariotapra@gmail.com> Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com> Co-authored-by: Amirul Ashraf <asdacap@gmail.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com> Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Alexey Osipov <me@flcl.me> Co-authored-by: core-repository-dispatch-app[bot] <173070810+core-repository-dispatch-app[bot]@users.noreply.github.com> Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com> Co-authored-by: Ahmad Bitar <33181301+smartprogrammer93@users.noreply.github.com> Co-authored-by: Galoretka <galoretochka@gmail.com> Co-authored-by: Marc <Marchhill@users.noreply.github.com> Co-authored-by: Marc Harvey-Hill <10379486+Marchhill@users.noreply.github.com> Co-authored-by: ak88 <anders@nethermind.io> Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk> Co-authored-by: sashaodessa <140454972+sashaodessa@users.noreply.github.com> Co-authored-by: Forostovec <ilonaforostovec22@gmail.com> Co-authored-by: Alex <alexb5dh@gmail.com> Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com> Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com> Co-authored-by: Diptanshu Kakwani <dipkakwani@gmail.com> Co-authored-by: Damian Orzechowski <114909782+damian-orzechowski@users.noreply.github.com> Co-authored-by: Marcos Antonio Maceo <35319980+stdevMac@users.noreply.github.com> Co-authored-by: viktorking7 <140458814+viktorking7@users.noreply.github.com> Co-authored-by: Alvarez <140459501+prestoalvarez@users.noreply.github.com> Co-authored-by: Ayman Bouchareb <Ayman.bouchareb@outlook.fr> Co-authored-by: ak88 <anders.holmbjerg@hotmail.com> Co-authored-by: Carmen Irene Cabrera Rodríguez <49727740+cicr99@users.noreply.github.com> Co-authored-by: cicr99 <kr1000a@gmail.com> Co-authored-by: Stavros Vlachakis <89769224+svlachakis@users.noreply.github.com>
Fixes Closes Resolves #
Changes
Types of changes
What types of changes does your code introduce?