-
Notifications
You must be signed in to change notification settings - Fork 523
Refactor build scripts #8601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Refactor build scripts #8601
Conversation
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
kamilchodola
approved these changes
May 26, 2025
hudem1
added a commit
that referenced
this pull request
Jun 10, 2025
* Pass PruningConfig to triestore (#8598) * Move some method to pruning trie store * Remove set * Use raw trie store * Snapsync to not use full trie store * Further remove some code * Create test * Whitespace * Update src/Nethermind/Nethermind.State.Test/PatriciaTreeTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Trie/Pruning/RawScopedTrieStore.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Use a single trie store for state * Move to factory function * More constructor to test function * Rename to Build * Overridable world state to not inherit trie store * Make it official then * Remove some parameters out of IPruningStrategy * TrackedPastKeyCountMemoryRatio to TrackPastKeys * Fix build * Fix benchmark build * Fix test build * Fix build * Moved test factory to core test * Added comment and test * Seal triestore * Address comment * Fix build * Fix build * Fix build again? --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix/parallel block downloader (#8587) * Reapply "Perf/parallel block downloader" (#8574) This reverts commit b9a2a93. * Fix aura not thread safe * Fix validate suggested block cannot run out of order * Fix test * Fix test * Whitespace * Some extra log * Update src/Nethermind/Nethermind.Consensus/Validators/BlockValidator.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.State/Proofs/WithdrawalTrie.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Make sure only one request at a time * Fix build * Remove comment * Remove comment * Check disposed --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Update OP Superchain chains (#8611) Co-authored-by: emlautarom1 <[email protected]> * Fix trie tests (#8614) * Fix trie tests * Fix build * Whitespace * Does this work? * How about now? * What if I copy it first * Ok, how about nwo? * Back to memory * You know, if you could just reproduce locally, this would be faster. * Screw it. * Auto-update fast sync settings (#8612) Co-authored-by: rubo <[email protected]> * Refactor/Explicit message serializer registration (#8604) * Remove `IMessageSerializationService.Register` * Check banned registration * Slight cleanup * Fix build * Whitespace * Add more check * Fix editorconfig not applied to C# file. (#8620) Fix editorconfig not applied * Update libp2p package (#8534) * HealthChecks: Track CL calls from fcu & np methods (#8603) * Track CL calls directly * Fix tests * Add test * Fix suggestions * Remove class * Update src/Nethermind/Nethermind.HealthChecks/ClHealthRequestsTracker.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update HealthChecksPlugin.cs --------- Co-authored-by: Lautaro Emanuel <[email protected]> * Cleanup/remove upgreadable peer allocation (#8572) * Remove upgradeable allocation * Remove unused method * Remove allocate best peer * Slight cleanup * Safely cast Optimism subtypes (2) (#8619) Replace cast with `as` operator * Fix long running test fuzzing OOM (#8615) * Use console over TestContext in EthereumTests as they can be run from Test.Runner and not flushed for a long time * whitespace * Feature/clef tx (#8609) * Start * support clef sign transaction in RPC * fix * also works with eth_sign * format * restore * review comments * eth_sign rpc bug fix * fixed personal_sign * fix * revert * sig fix * format * Optimism CL: Enable P2P (#8556) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Improve logging * Remove sessions * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Fix missing payloads * Head block * Do not shuffle * P2P Payload status * Update libp2p * Remove return * Update src/Nethermind/Nethermind.Optimism/CL/ExecutionEngineManager.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix formatting --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * OP CL L1 Validation on startup (#8610) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Include L1 parameters for validation * Add `eth_chainId` * Initial `L1ConfigValidator` * Validate L1 config on CL startup * Rename parameters * Fix license date * Adjust interface summary * Improve logging * Remove sessions * Add `ArgumentNullException.ThrowIfNull` * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Run `superchain.py` * Fix missing payloads * Fix `eth_chainId` deserialization * Only use `fullTxs = true` * Empty commit * Empty commit --------- Co-authored-by: Nikita Meshcheriakov <[email protected]> Co-authored-by: Ruben Buniatyan <[email protected]> * Initialize kzg when used in runner too (#8623) * Add Nethermind.Test.Runner Docker image (#8608) * Fix hive (#8590) * Report on issues with system contracts * Externalise conditional logic; intrinsic gas = 0 * Handle deposit layout issues * Fix more tests * More tests * Add system call * More tests * Tests * Fix more * Fix clique * Fix more * Add granular exceptions; separate type fo a system call * Update tests * Fix solution; remove redundant changes * Use the same code * Refactor/Move DiscoveryApp initialization to DI (#8624) * Extract node record provider * DiscV5 to DI * DiscV4 to DI * Consolidate the network storage initialization * Allow more margin * Override discovery db in test also * Whitespace * Add state availability checks before debug module tracing (#8621) * Check if state is available in debug trace calls * Add GetFailureResult methods * Fix formatting * Set block state as always available in test stub * Mock relevant methods in unit test stubs * Set year in copyright text * Simplify header searches in favor of finds * Add TryGetHeader * Expose Block-based interfaces in IGethStyleTracer * Avoid re-decoding block RLP * Fix formatting * Refactor TryGet methods to return header/block * Set block difficulty if null * Update Nethermind.Numerics.Int256 package (#8628) * Fix infinite loop in tx pool (#8632) * Fix filter timeouts, set to 15m (#8633) * Update System.CommandLine package (#8639) * Bump up the version to 1.33.0-unstable (#8533) Co-authored-by: kamilchodola <[email protected]> * Auto-update fast sync settings (#8645) Co-authored-by: rubo <[email protected]> * Remove SkipLocalsInit to avoid garbage in first bytes of hash (#8634) * Remove SkipLocalsInit to avoid garbage in first bytes of hash * Use Ben's ToHash implementation * Improve test Co-authored-by: Ben {chmark} Adams <[email protected]> --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Update OP Superchain chains (#8644) Co-authored-by: emlautarom1 <[email protected]> * add surge hoodi chainspec (#8643) Co-authored-by: Ahmad Bitar <[email protected]> * Fix for `Block.AccountChanges` not being disposed in some cases (#8647) * Fixed `Block.AccountChanges` not being disposed in some cases * Code cleanup Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix Holesky Sync (#8651) * taiko alethia pacaya fork activation (#8642) add taiko alethia pacaya fork activation to chainspec Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> * Revert wrong code on missing receipt (#8653) * Revert wrong code on missing receipt * fix test * Set default `LegacyTransactionForRpc` gas price to zero (#8630) Set default legacy transaction gas price to zero * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds (#8654) * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds * one more fix * Update RocksDB package (#8640) * Kute: order by filename (#8657) * PatriciaTree ignoreMissingDelete is not used (#8646) * Remove unused code * Submodule revert * Implement Eip7823 (#8649) * Eip7823 settings * Add implementation and test * Format * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> * Feedback * Feedback * Add invalid examples --------- Co-authored-by: Copilot <[email protected]> * Sync OP chains after Isthmus (#8638) * Change accessibility * Make `ValidateWithdrawalsRoot` instance method * Make `ValidateBodyAgainstHeader` an instance method * Make `ValidateBodyAgainstHeader` virtual - Revert rename * Make static methods protected * Override `ValidateBodyAgainstHeader` * Update interface implementation in `SlowHeaderValidator` * Update interface implementation in `TestBlockValidator` * Fix `BlockValidatorTests` * Fix `BodiesSyncFeedTests` * Adjust Isthmus EIPs * Run `superchain.py` * Fix `InvalidBlockInterceptorTest` * Run `superchain.py` * Delete extra file --------- Co-authored-by: Kamil Chodoła <[email protected]> * Use RocksDB PinnableSlice when available (#8661) * Use RocksDB PinnableSlice when available * Just use straight overloading * Optimize RlpStream.Encode(ulong) (#8660) * Optimize RlpStream.Encode(ulong) * Don't unnecessarily convert to UInt256 to encode * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpStream.cs * Slight discovery refactor. (#8664) * Reducing change * Nodes to array segment * Extract some logic out to DiscoveryPersistenceManager.cs * Fix test * Fix test * How about now * Ok, so something is running in the background. * Assert msg count also * Dont start thread if closed * Remove the metric assertion * Slice span rather than array (#8665) * Use static SHA256.HashData (#8673) * Use span when slicing arrays (#8672) * Mild performance tweaks (#8674) * Mild performance tweaks * Apply suggestions from code review Co-authored-by: Amirul Ashraf <[email protected]> --------- Co-authored-by: Amirul Ashraf <[email protected]> * Remove TD based peer allocation strategy (#8670) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Improve WebSocketMessageStream (#8676) * Improve WebSocketMessageStream * Change to struct * Feedback * Add test * Optimism CL: Split finalized/safe blocks (#8658) * split safe/finalized * Add logging * Release lock * Fix startup processing * Fix if * Fix BLockId * Fix initialization * Fix * Fix * Detect L1 reorgs * Fix * Reset on reorg * Delete some fields * Finalization first * L1 bridge step * Fix * Fix async * Fix overflow * Change to parent hash * Do not process head * Fix overflow * Delay step * Decrease delay * Implement process reorg * Fix formatting * Clear channels properly * Reset decoding pipeline * Fix ClockCache.Set (#8679) * Fix ClockCache.Set * Clearer * Implement EIP-7825: Transaction Gas Limit Cap (#8663) * initial implementation, txpool limit * fix formatting * block validity * enforce in TxValidator * restore tx processing * add txpool test * add to osaka fork and add txvalidator test * fix whitespace * revert accidental changes * remove from osaka * fix whitespace * remove redundant txpool check * construct ExpectedChainIdTxValidator only once * move spec check inside GetTxGasLimitCap --------- Co-authored-by: lukasz.rozmej <[email protected]> * Implement OP CL `optimism` RPC namespace (#8667) * Initial OptimismOptimismRpcModule - Add `optimism_` namespace - Initial `optimism_version` method * Generalize `GetCurrentBlocks` * WIP `optimism_syncStatus` * Add `GetSafe` * Add `L1BlockRef From(L1Block block)` * Initial `optimism_syncStatus` method * Document `SyncStatus` * Add `Zero` * Add `CurrentL1` - Handle nulls as Zero * Refactor CL constructor - Replace with DI - Initialize OP CL RPC module * Prefer to inject `ILogManager` * Fix whitespace * Relax accessibility modifier * WIP `optimism_rollupConfig` * Add `delta` fork * Remove interop * Add `EIP1559DenominatorCanyon` * Add `ChannelTimeout` - Constant value * Add `OptimismSystemConfig` - Store genesis system config * Run `superchain.py` * Correct JSON serialization * Initial `optimism_outputAtBlock` * Add `GetProof` * Add `StateRoot` to `L2Block` * Initial `optimism_outputAtBlock` * Run `superchain.py` * Small tweaks * Actually compute Root hash * Skip local initialization * Hide OP-CL specific options (#8684) * Hide OP-CL RPC module * Hide OP-CL configs * Reduce `Forward header starting block number did not changed.` exception to log. (#8683) * Fix unexpected same block number exception * Whitespace * Refactor projects configuration (#8659) * Update packages (#8641) * Refactor/Reduce `AuraNethermindApi` usage. (#8686) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Optimize 12 x 20byte & 32byte OpCodes (#8687) * Optimize Address returning OpCodes * Optimize PREVRANDAO opcode * Optimize ChainId opcode * Simplify Hash Pushes * Less Unsafe * Read-only method * Align stack memory * Optimize alignment calc * over comment * Use EvmStack.WordSize const * Optimize `UInt256` opcodes * Optimize loop * Balance, SelfBalance * ExtCodeHash * Short circuit delegate look up for empty * Optimize code lookup * Add Unsafe back * Pass through push * Pass through 32 * Keep as property * Move to VirtualMachine * Change back to readonly field * Auto-update fast sync settings (#8689) Co-authored-by: rubo <[email protected]> * Update OP Superchain chains (#8690) Co-authored-by: emlautarom1 <[email protected]> * Perform stack writes as single 32 vector (#8691) * Perform stack writes as single 32 vector * Use shared method * Make common method * Reintroduce Jit time branch elimination (#8692) * Reintroduce Jit time branch elimination * Formatting * Compile issues * Move to core * Benchmarks * Benchmarks * Fixes one discv5 test (#8635) * fix * review comment --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Migrate to Microsoft.Testing.Platform (#8190) * Migrate to Microsoft.Testing.Platform * Remove irrelevant setting * Fix Taiko project * Show failure per test * Fix Ethereum.Test.Base * Fix entry point * Ignore status code 8 * Restore to library project * Remove Nethermind.State.Test.Runner * Fix build errors * Fix Nethermind.Test.Runner * Ignore Log dir * Remove duplicate property * Ignore TestResults dir * Remove VSTest stuff * Revise coverage collection * Disable Nethermind.Overseer.Test and change test commands * Rename code coverage settings file * Fix file encodings * Refactor tests workflow * Fix tests workflow * Update Microsoft.Testing.Extensions.CodeCoverage package * Update Microsoft packages * Revise workflow * Apply `EnableNUnitRunner` individually * Rename code coverage config * Update packages * Update `testenvironments.json` * Revert `StartupObject` changes * Update NUnit.Analyzers package * Fix/aura hive startup (#8694) * Fix aura hive startup * Remove unnecessary change * EIP-7594: PeerDAS (#8417) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Use preallocated span not list * Segregate; statics * Update src/Nethermind/Nethermind.Merge.Plugin.Test/EngineModuleTests.V4.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix --------- Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Refactor build scripts (#8601) * Refactor/make all blockprocessor arg required (#8688) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix clique * Unused imports --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Warm up evm instructions (#8699) * Warm up evm instructions * mods * Use SpecProvider * Revert "Use SpecProvider" This reverts commit 189ef1d. * Add BPOs (#8631) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Add BPOs * Evict txs with to many blobs, don't allow gaps * Fix tests * Add osaka * Apply suggestions from code review Co-authored-by: Marc <[email protected]> * Change bpos format to array with timestamps * Update spec format; fix tests * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Fix typos, clean up * More fixes * Use preallocated span not list * Segregate; statics * Fix merge * Typos * Improve tests and spec * Return previous approach --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Update TxParser (#8698) * Update fork in TxParser * Add way to get latest named fork class * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj Co-authored-by: Ruben Buniatyan <[email protected]> * Update Directory.Packages.props Co-authored-by: Ruben Buniatyan <[email protected]> * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj * fixes * Remove transaction validator * remove unused code * remove unneded usings * Use Fork.GetLatest in EVM Warmup * Cache Fork.GetLatest result --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * eip-7883 implementation (#8489) * bump pricing * disable precompile cache * min gas at 300 * 400 is the new min * divide by 2 * min gas 500 * min gas 600 * divide by 2 * min gas 500 * increase words cost if >32 bytes * add eip activation * fix whitespace * add tests * add more tests * fix whitespaces * minor refactoring * Add GasCostOf constant * Name numbers * cosmetic * Add json -> spec -> prov loading test for timestamps * Fix test * Fix testing platform by getting rid of internals * Reuse * Add names * Disable EOF --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> * Add logo on startup (#8701) * Add logo on startup * Include text * extra * Less bright * Add website * Make links brighter * Only have one website * Init banner * Refactor/deduplicate ReadOnlyTxProcessingEnvFactory (#8697) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Auto read only tx processing env * Fix clique * Unused imports * Fix more build * Remove from taiko * Add processing module * Add all plugin * Remove more use of read only tx processing env * Remove the one in aura api * Hide it from usage * Slight cleanup * Revert unnecessary change * Update src/Nethermind/Nethermind.Runner/NethermindPlugins.cs Co-authored-by: Lautaro Emanuel <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Restore and fix tests (#8696) * Un-ignore tests * Fix test names * Rename tests on the fly * Return `null` instead of errors in RPC `get` methods (#8702) * Make `get<X>CountBy<Y>` return `null` on error * Make `get` methods return `null` on not found - Adjust nullability annotations * Cleanup/move some aura components to di (#8704) * Move to DI * Some fix * Fix test * Fix aura test * Missed equal sign * Optimize: Number, GasLimit, Coinbase, PrevRandao opcodes (#8700) * Potentially optimize: Number, GasLimit, Coinbase, PrevRandao opcodes * optimize BlockExecutionContext layout * optimize ExecutionEnvironment layout * Update src/Nethermind/Nethermind.Evm/BlockExecutionContext.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * fix * fix test * Keep PrevRandao as Big-endian * Convert BlobBaseFee once * Formatting * Create BlockExecutionContext less often * build fix * Reuse BlockExecutionContext in Prewarmer --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * EIP-7918: Blob base fee bounded by execution cost (#8656) * initial impl * fix whitespace * start adding tests * 7918 tests * fix formatting * fix comment * fix and update formula * fix tests, constant * make cleaner * move constant to own file * add missing eip enable * use ulong, fix underflow * rename to parentBlobGas to match spec * Update src/Nethermind/Nethermind.Core/Eip7918Constants.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * remove redundant checks * check that target does not exceed max when loading blob schedule --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * TxParser: Add signature validation, keep errors in 1 line (#8706) * Add signature validation, keep errors in 1 line * remove unused usings * optimize * Refactor tests configuration and work around Rider issue (#8703) * Move common tests properties to `tests.props` * Move common packages to `tests.props` * Add `tests.props` to solution * Add Microsoft.NET.Test.Sdk package * Revise workaround condition * Some fixes for clef integration in RPC (#8626) * checksum address converter * fix * ignore gasPrice in eip1559 rpc tx * fix check on tx type instead * dont change normal RPC behavior * Fix Nethermind.Test.Runner Dockerfile (#8708) * GetStorageRange fix for no storage slots found (#8538) * GetStorageRange test with no slots returned * Single case fix * Retrun proofs when no storage slot found * Test build fix --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix Assertoor workflow (#8711) * Optimize debugging container (#8710) * Update known_chain_sizes test (#8714) * Use less allocating .ToValueHash than .ToBigEndian (#8713) * TxParser add chain id validation (#8709) * Fix/disconnect without sending reason (#8712) * Disconnect after hello by default * Fix disconnecting without reason * Cleanup * Optimize JournalSet (#8716) * Optimize JournalSet * Don't repeat mistakes of the past * debug * build * Also ChainLevelHelper * SkipLocalsInit as create span * Remove special case * Fix exception on exit for incomplete nethermind startup. (#8717) * Abstracted * Service stopper code * Setup * All service with dependency injection * Integrate dispose stack * Slight comment * Slight cleanup * Remove disposable stack * Whitespace * Remove Nethermind.Tools.GasHistorian (#8720) * Remove obsolete scripts (#8721) * Feature/snapsync storage log (#8675) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Better snap progress * More accurate storage * Sync dispatcher metric * Fix large storage not showing up * Slight cleanup * Consistency * Probably fix not showing up on mainnet * Whitespace * Ok, this should works. * Minor cleanup * Minor cleanup * Configurable high storage queue threshold * Switch to standard dictionary * Nope, I was just lucky at that time * Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Revert "Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs" This reverts commit 2dc5c14. --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Refactor/Consolidate ISealEngine. (#8705) * Move some sealing components to DI * Some fix * Move to DI * Some fix * Fix aura * Some low hanging fruit * Remove unused imports * Slight cleanup * Slight cleanup * Fix build * Fix another test * Fix test * Slight cleanup * Set to global seal engine * Surface acceptTx on sync via config (#8728) * Improve JumpDest analysis (#8725) * Add Vector512 JumpDestAnalysis * Also work on Arm * Add Uniswap * Enable all benchmarks * Formatting * Rename * Cleanur/remove create heath hint service (#8727) * Remove IHealthHintService from api * Move healthcheck * Slight cleanup * Reduce unnecessary change * Fix test * Fix taiko * Whitespace * Update src/Nethermind/Nethermind.Api/NethermindApi.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Consensus/NoBlockProducerRunner.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Fix build --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix tx blob deserialization after PeerDAS (#8729) * Added test for failed deserialization * Try fix failing deserialization * Simplify code * Try another fix * Simplify fix * Move unit tests to use IWorldState instead of ITrieStore (#8724) * Moved to use IWorldState instead * Reduce unnecessary change * Reduce usae again * Reduce usae again * Whitespace * Fix benchmark build * Fix build * Support for eth/69 (#7052) * Added eth/69 protocol handler * Ignore NewBlock and NewBlockHashes messages * [WIP] Make td in Status message optional * Handle receipts messages * Receipt message serialization tests * Fixed Status message handling * Disable sending Status, NewBlock and NewBlockHashes messages * Updated naming * Fixed Status serialization/deserialization * Initial handler tests * Rebase fix * Updated handler tests * Fix formatting * Code cleanup * Code cleanup * Added more units tests * Removed ignored unit tests * PR fixes * Tests code cleanup * Implementation without adding new `RlpBehaviors` * Code cleanup * Code cleanup * Fix messages disposing in tests * Build fix * Optimize to avoid creating `StatusMessage` copy * Updated `StatusMessage` to the latest version * Do not ignore `NewBlock` and `NewBlockHashes` messages * Code cleanup * Set `HeadNumber` on `Status` message * Code cleanup * Handling for `BlockRangeUpdate` message * Potential fix for failing tests * Enabled eth/69 where needed * Fixed tests * Revert removing new block notification * Fix peers ordering, attempt #1 * Revert "Fix peers ordering, attempt #1" This reverts commit a0aa23b. * Allow nullable TD in `IBetterPeerStrategy` * [WIP] Fix peers ordering attempt #2 * Revert "[WIP] Fix peers ordering attempt #2" This reverts commit c2b61cf. * Sending `BlockRangeUpdate`, version 1 * Build fix * Send block update only for 32+ difference * Tests update * Another build fix * Add eth/69 as part of Merge module * Fixed missing serializer in test * Try use `LastBlockBetterPeerStrategy` * Adjust disconnection logic for no-TD peers * TODO * Fixed `BlockRangeUpdate` packet type * Removed testing code and todo * Select peers for syncing by last block instead of TD * Formatting fix * Fix eth/69 registration location * Move eth/69 back to default capabilities * Updated `P2PMessageKey` * Remove unneeded TODO * `ToString` override for BlockRangeUpdate * Fixed adaptive id resolving when sending `BlockRangeUpdate` * Add IPoSSwitcher.Transitioned event * fix * Improvements for BlockRangeUpdate handling * [WIP] Update receipts encoding to latest spec * Fixes and updates for receipts encoding * Test for disconnection on invalid `BlockRangeUpdate` * Try finalize nullable peer TD * Code cleanup & build fix * Code cleanup & build fix * Fixed latest protocol version when capability is added dynamically * Try to fix `Block.AccountChanges` not being disposed in case of error * Fixed most tests * Revert "Try to fix `Block.AccountChanges` not being disposed in case of error" This reverts commit 4821110. * Fixed `Block.AccountChanges` not being disposed in some cases * Finalize peer strategy transitioning * Fixed build and tests * Another tests fix * Unsubscribe `PoSSwitcher.Transitioned` after firing * Build/merge fixes * Removed new strategies * Some docs for `IPoSSwitcher` * ~ Test Hive when listening on 0.0.0.0 * ~ Test Hive when listening on 0.0.0.0 * Revert "~ Test Hive when listening on 0.0.0.0" * PR feedback & build fix * Test fix * Build fix * Log adding eth/69 * ~Log supported capabilities when no-match * Remove testing code * Refactor `BlockRangeUpdate` broadcast to avoid modifying existing code * Fixes * More fixes, including tests * Cleanup & fixes * Cleanup * Test fix * Naming * Another test fix * Cleanup * Feedback * Simplify update frequency limiter * Try fix failing test via waiting --------- Co-authored-by: lukasz.rozmej <[email protected]> * Fix runner test (#8731) * Fix runner test * Fix runner test * To interlocked * Use semaphore * Move wait to `RegisterPluginRpcModule` * Increase Ethereum mainet gaslimit default to 60M (#8671) * Refactor/use block producer env factory (#8730) * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Feature/Step dependents (#8734) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Use the same attribute * Make run verify trie optional * Fix test * ExecutionEnvironment pass Uint256 as in (#8736) * ExecutionEnvironment pass Uint256 as in * more in * Refactor/remove additional tx source param (#8735) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Remove additional tx source param * Fix shutter * Use the same attribute * Make run verify trie optional * Fix test * Slight cleanup * Remove some more code * Move shutter initialization somewhere else * Rename to RunshutterP2p * Revert unnecessary change * Fix shutter test * Update src/Nethermind/Nethermind.Init/RunVerifyTrie.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/RunShutterP2P.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/ShutterPlugin.cs Co-authored-by: Marc <[email protected]> --------- Co-authored-by: Marc <[email protected]> * Adjust block size to CL pessimistic block size (#8737) * adjust block size to CL limit * Update src/Nethermind/Nethermind.Config/BlocksConfig.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Whitespace --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix secp256r1 precompile test cases (#8738) * Fixe secp256r1 test cases * Get rid of nullability * Replace expected `null` with empty array to all tests * Improve performance of CALL opcodes (#8732) * Clean up method params passing * Benchmarks * param * Reduce changes * Previous disown * fix tests * fix tests * Increase changes * Top level contexts * Format * compile * Build * build * Local authority * Clean up ordering * Build * tests * tests * test fix * tests * tests * Disconnect when connected * Revert "Disconnect when connected" This reverts commit bb52702. * Add back other Memory Type * Add min memory rent size (#8740) * Add min memory rent size * fix * Make `StateProvider` hot code in the common path (#8744) * Hotter code for StateProvider.Restore * Hot code * Hot code Restore * Formatting * Fix * chore(evm): fix 7918 blob gas calculator (#8743) * fix(formatting): from 4 to 2 spaces indent --------- Co-authored-by: Amirul Ashraf <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: core-repository-dispatch-app[bot] <173070810+core-repository-dispatch-app[bot]@users.noreply.github.com> Co-authored-by: emlautarom1 <[email protected]> Co-authored-by: rubo <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Nikita Mescheryakov <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> Co-authored-by: ak88 <[email protected]> Co-authored-by: Alexey <[email protected]> Co-authored-by: Franco Barpp Gomes <[email protected]> Co-authored-by: kamilchodola <[email protected]> Co-authored-by: Pavlo Rytikov <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: yerke26 <[email protected]> Co-authored-by: Damian Orzechowski <[email protected]> Co-authored-by: spencer <[email protected]>
wurdum
added a commit
that referenced
this pull request
Jun 13, 2025
* Pass PruningConfig to triestore (#8598) * Move some method to pruning trie store * Remove set * Use raw trie store * Snapsync to not use full trie store * Further remove some code * Create test * Whitespace * Update src/Nethermind/Nethermind.State.Test/PatriciaTreeTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Trie/Pruning/RawScopedTrieStore.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Use a single trie store for state * Move to factory function * More constructor to test function * Rename to Build * Overridable world state to not inherit trie store * Make it official then * Remove some parameters out of IPruningStrategy * TrackedPastKeyCountMemoryRatio to TrackPastKeys * Fix build * Fix benchmark build * Fix test build * Fix build * Moved test factory to core test * Added comment and test * Seal triestore * Address comment * Fix build * Fix build * Fix build again? --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix/parallel block downloader (#8587) * Reapply "Perf/parallel block downloader" (#8574) This reverts commit b9a2a93. * Fix aura not thread safe * Fix validate suggested block cannot run out of order * Fix test * Fix test * Whitespace * Some extra log * Update src/Nethermind/Nethermind.Consensus/Validators/BlockValidator.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.State/Proofs/WithdrawalTrie.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Make sure only one request at a time * Fix build * Remove comment * Remove comment * Check disposed --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Update OP Superchain chains (#8611) Co-authored-by: emlautarom1 <[email protected]> * Fix trie tests (#8614) * Fix trie tests * Fix build * Whitespace * Does this work? * How about now? * What if I copy it first * Ok, how about nwo? * Back to memory * You know, if you could just reproduce locally, this would be faster. * Screw it. * Auto-update fast sync settings (#8612) Co-authored-by: rubo <[email protected]> * Refactor/Explicit message serializer registration (#8604) * Remove `IMessageSerializationService.Register` * Check banned registration * Slight cleanup * Fix build * Whitespace * Add more check * Fix editorconfig not applied to C# file. (#8620) Fix editorconfig not applied * Update libp2p package (#8534) * HealthChecks: Track CL calls from fcu & np methods (#8603) * Track CL calls directly * Fix tests * Add test * Fix suggestions * Remove class * Update src/Nethermind/Nethermind.HealthChecks/ClHealthRequestsTracker.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update HealthChecksPlugin.cs --------- Co-authored-by: Lautaro Emanuel <[email protected]> * Cleanup/remove upgreadable peer allocation (#8572) * Remove upgradeable allocation * Remove unused method * Remove allocate best peer * Slight cleanup * Safely cast Optimism subtypes (2) (#8619) Replace cast with `as` operator * Fix long running test fuzzing OOM (#8615) * Use console over TestContext in EthereumTests as they can be run from Test.Runner and not flushed for a long time * whitespace * Feature/clef tx (#8609) * Start * support clef sign transaction in RPC * fix * also works with eth_sign * format * restore * review comments * eth_sign rpc bug fix * fixed personal_sign * fix * revert * sig fix * format * Optimism CL: Enable P2P (#8556) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Improve logging * Remove sessions * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Fix missing payloads * Head block * Do not shuffle * P2P Payload status * Update libp2p * Remove return * Update src/Nethermind/Nethermind.Optimism/CL/ExecutionEngineManager.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix formatting --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * OP CL L1 Validation on startup (#8610) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Include L1 parameters for validation * Add `eth_chainId` * Initial `L1ConfigValidator` * Validate L1 config on CL startup * Rename parameters * Fix license date * Adjust interface summary * Improve logging * Remove sessions * Add `ArgumentNullException.ThrowIfNull` * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Run `superchain.py` * Fix missing payloads * Fix `eth_chainId` deserialization * Only use `fullTxs = true` * Empty commit * Empty commit --------- Co-authored-by: Nikita Meshcheriakov <[email protected]> Co-authored-by: Ruben Buniatyan <[email protected]> * Initialize kzg when used in runner too (#8623) * Add Nethermind.Test.Runner Docker image (#8608) * Fix hive (#8590) * Report on issues with system contracts * Externalise conditional logic; intrinsic gas = 0 * Handle deposit layout issues * Fix more tests * More tests * Add system call * More tests * Tests * Fix more * Fix clique * Fix more * Add granular exceptions; separate type fo a system call * Update tests * Fix solution; remove redundant changes * Use the same code * Refactor/Move DiscoveryApp initialization to DI (#8624) * Extract node record provider * DiscV5 to DI * DiscV4 to DI * Consolidate the network storage initialization * Allow more margin * Override discovery db in test also * Whitespace * Add state availability checks before debug module tracing (#8621) * Check if state is available in debug trace calls * Add GetFailureResult methods * Fix formatting * Set block state as always available in test stub * Mock relevant methods in unit test stubs * Set year in copyright text * Simplify header searches in favor of finds * Add TryGetHeader * Expose Block-based interfaces in IGethStyleTracer * Avoid re-decoding block RLP * Fix formatting * Refactor TryGet methods to return header/block * Set block difficulty if null * Update Nethermind.Numerics.Int256 package (#8628) * Fix infinite loop in tx pool (#8632) * Fix filter timeouts, set to 15m (#8633) * Update System.CommandLine package (#8639) * Bump up the version to 1.33.0-unstable (#8533) Co-authored-by: kamilchodola <[email protected]> * Auto-update fast sync settings (#8645) Co-authored-by: rubo <[email protected]> * Remove SkipLocalsInit to avoid garbage in first bytes of hash (#8634) * Remove SkipLocalsInit to avoid garbage in first bytes of hash * Use Ben's ToHash implementation * Improve test Co-authored-by: Ben {chmark} Adams <[email protected]> --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Update OP Superchain chains (#8644) Co-authored-by: emlautarom1 <[email protected]> * add surge hoodi chainspec (#8643) Co-authored-by: Ahmad Bitar <[email protected]> * Fix for `Block.AccountChanges` not being disposed in some cases (#8647) * Fixed `Block.AccountChanges` not being disposed in some cases * Code cleanup Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix Holesky Sync (#8651) * taiko alethia pacaya fork activation (#8642) add taiko alethia pacaya fork activation to chainspec Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> * Revert wrong code on missing receipt (#8653) * Revert wrong code on missing receipt * fix test * Set default `LegacyTransactionForRpc` gas price to zero (#8630) Set default legacy transaction gas price to zero * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds (#8654) * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds * one more fix * Update RocksDB package (#8640) * Kute: order by filename (#8657) * PatriciaTree ignoreMissingDelete is not used (#8646) * Remove unused code * Submodule revert * Implement Eip7823 (#8649) * Eip7823 settings * Add implementation and test * Format * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> * Feedback * Feedback * Add invalid examples --------- Co-authored-by: Copilot <[email protected]> * Sync OP chains after Isthmus (#8638) * Change accessibility * Make `ValidateWithdrawalsRoot` instance method * Make `ValidateBodyAgainstHeader` an instance method * Make `ValidateBodyAgainstHeader` virtual - Revert rename * Make static methods protected * Override `ValidateBodyAgainstHeader` * Update interface implementation in `SlowHeaderValidator` * Update interface implementation in `TestBlockValidator` * Fix `BlockValidatorTests` * Fix `BodiesSyncFeedTests` * Adjust Isthmus EIPs * Run `superchain.py` * Fix `InvalidBlockInterceptorTest` * Run `superchain.py` * Delete extra file --------- Co-authored-by: Kamil Chodoła <[email protected]> * Use RocksDB PinnableSlice when available (#8661) * Use RocksDB PinnableSlice when available * Just use straight overloading * Optimize RlpStream.Encode(ulong) (#8660) * Optimize RlpStream.Encode(ulong) * Don't unnecessarily convert to UInt256 to encode * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpStream.cs * Slight discovery refactor. (#8664) * Reducing change * Nodes to array segment * Extract some logic out to DiscoveryPersistenceManager.cs * Fix test * Fix test * How about now * Ok, so something is running in the background. * Assert msg count also * Dont start thread if closed * Remove the metric assertion * Slice span rather than array (#8665) * Use static SHA256.HashData (#8673) * Use span when slicing arrays (#8672) * Mild performance tweaks (#8674) * Mild performance tweaks * Apply suggestions from code review Co-authored-by: Amirul Ashraf <[email protected]> --------- Co-authored-by: Amirul Ashraf <[email protected]> * Remove TD based peer allocation strategy (#8670) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Improve WebSocketMessageStream (#8676) * Improve WebSocketMessageStream * Change to struct * Feedback * Add test * Optimism CL: Split finalized/safe blocks (#8658) * split safe/finalized * Add logging * Release lock * Fix startup processing * Fix if * Fix BLockId * Fix initialization * Fix * Fix * Detect L1 reorgs * Fix * Reset on reorg * Delete some fields * Finalization first * L1 bridge step * Fix * Fix async * Fix overflow * Change to parent hash * Do not process head * Fix overflow * Delay step * Decrease delay * Implement process reorg * Fix formatting * Clear channels properly * Reset decoding pipeline * Fix ClockCache.Set (#8679) * Fix ClockCache.Set * Clearer * Implement EIP-7825: Transaction Gas Limit Cap (#8663) * initial implementation, txpool limit * fix formatting * block validity * enforce in TxValidator * restore tx processing * add txpool test * add to osaka fork and add txvalidator test * fix whitespace * revert accidental changes * remove from osaka * fix whitespace * remove redundant txpool check * construct ExpectedChainIdTxValidator only once * move spec check inside GetTxGasLimitCap --------- Co-authored-by: lukasz.rozmej <[email protected]> * Implement OP CL `optimism` RPC namespace (#8667) * Initial OptimismOptimismRpcModule - Add `optimism_` namespace - Initial `optimism_version` method * Generalize `GetCurrentBlocks` * WIP `optimism_syncStatus` * Add `GetSafe` * Add `L1BlockRef From(L1Block block)` * Initial `optimism_syncStatus` method * Document `SyncStatus` * Add `Zero` * Add `CurrentL1` - Handle nulls as Zero * Refactor CL constructor - Replace with DI - Initialize OP CL RPC module * Prefer to inject `ILogManager` * Fix whitespace * Relax accessibility modifier * WIP `optimism_rollupConfig` * Add `delta` fork * Remove interop * Add `EIP1559DenominatorCanyon` * Add `ChannelTimeout` - Constant value * Add `OptimismSystemConfig` - Store genesis system config * Run `superchain.py` * Correct JSON serialization * Initial `optimism_outputAtBlock` * Add `GetProof` * Add `StateRoot` to `L2Block` * Initial `optimism_outputAtBlock` * Run `superchain.py` * Small tweaks * Actually compute Root hash * Skip local initialization * Hide OP-CL specific options (#8684) * Hide OP-CL RPC module * Hide OP-CL configs * Reduce `Forward header starting block number did not changed.` exception to log. (#8683) * Fix unexpected same block number exception * Whitespace * Refactor projects configuration (#8659) * Update packages (#8641) * Refactor/Reduce `AuraNethermindApi` usage. (#8686) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Optimize 12 x 20byte & 32byte OpCodes (#8687) * Optimize Address returning OpCodes * Optimize PREVRANDAO opcode * Optimize ChainId opcode * Simplify Hash Pushes * Less Unsafe * Read-only method * Align stack memory * Optimize alignment calc * over comment * Use EvmStack.WordSize const * Optimize `UInt256` opcodes * Optimize loop * Balance, SelfBalance * ExtCodeHash * Short circuit delegate look up for empty * Optimize code lookup * Add Unsafe back * Pass through push * Pass through 32 * Keep as property * Move to VirtualMachine * Change back to readonly field * Auto-update fast sync settings (#8689) Co-authored-by: rubo <[email protected]> * Update OP Superchain chains (#8690) Co-authored-by: emlautarom1 <[email protected]> * Perform stack writes as single 32 vector (#8691) * Perform stack writes as single 32 vector * Use shared method * Make common method * Reintroduce Jit time branch elimination (#8692) * Reintroduce Jit time branch elimination * Formatting * Compile issues * Move to core * Benchmarks * Benchmarks * Fixes one discv5 test (#8635) * fix * review comment --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Migrate to Microsoft.Testing.Platform (#8190) * Migrate to Microsoft.Testing.Platform * Remove irrelevant setting * Fix Taiko project * Show failure per test * Fix Ethereum.Test.Base * Fix entry point * Ignore status code 8 * Restore to library project * Remove Nethermind.State.Test.Runner * Fix build errors * Fix Nethermind.Test.Runner * Ignore Log dir * Remove duplicate property * Ignore TestResults dir * Remove VSTest stuff * Revise coverage collection * Disable Nethermind.Overseer.Test and change test commands * Rename code coverage settings file * Fix file encodings * Refactor tests workflow * Fix tests workflow * Update Microsoft.Testing.Extensions.CodeCoverage package * Update Microsoft packages * Revise workflow * Apply `EnableNUnitRunner` individually * Rename code coverage config * Update packages * Update `testenvironments.json` * Revert `StartupObject` changes * Update NUnit.Analyzers package * Fix/aura hive startup (#8694) * Fix aura hive startup * Remove unnecessary change * EIP-7594: PeerDAS (#8417) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Use preallocated span not list * Segregate; statics * Update src/Nethermind/Nethermind.Merge.Plugin.Test/EngineModuleTests.V4.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix --------- Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Refactor build scripts (#8601) * Refactor/make all blockprocessor arg required (#8688) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix clique * Unused imports --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Warm up evm instructions (#8699) * Warm up evm instructions * mods * Use SpecProvider * Revert "Use SpecProvider" This reverts commit 189ef1d. * Add BPOs (#8631) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Add BPOs * Evict txs with to many blobs, don't allow gaps * Fix tests * Add osaka * Apply suggestions from code review Co-authored-by: Marc <[email protected]> * Change bpos format to array with timestamps * Update spec format; fix tests * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Fix typos, clean up * More fixes * Use preallocated span not list * Segregate; statics * Fix merge * Typos * Improve tests and spec * Return previous approach --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Update TxParser (#8698) * Update fork in TxParser * Add way to get latest named fork class * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj Co-authored-by: Ruben Buniatyan <[email protected]> * Update Directory.Packages.props Co-authored-by: Ruben Buniatyan <[email protected]> * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj * fixes * Remove transaction validator * remove unused code * remove unneded usings * Use Fork.GetLatest in EVM Warmup * Cache Fork.GetLatest result --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * eip-7883 implementation (#8489) * bump pricing * disable precompile cache * min gas at 300 * 400 is the new min * divide by 2 * min gas 500 * min gas 600 * divide by 2 * min gas 500 * increase words cost if >32 bytes * add eip activation * fix whitespace * add tests * add more tests * fix whitespaces * minor refactoring * Add GasCostOf constant * Name numbers * cosmetic * Add json -> spec -> prov loading test for timestamps * Fix test * Fix testing platform by getting rid of internals * Reuse * Add names * Disable EOF --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> * Add logo on startup (#8701) * Add logo on startup * Include text * extra * Less bright * Add website * Make links brighter * Only have one website * Init banner * Refactor/deduplicate ReadOnlyTxProcessingEnvFactory (#8697) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Auto read only tx processing env * Fix clique * Unused imports * Fix more build * Remove from taiko * Add processing module * Add all plugin * Remove more use of read only tx processing env * Remove the one in aura api * Hide it from usage * Slight cleanup * Revert unnecessary change * Update src/Nethermind/Nethermind.Runner/NethermindPlugins.cs Co-authored-by: Lautaro Emanuel <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Restore and fix tests (#8696) * Un-ignore tests * Fix test names * Rename tests on the fly * Return `null` instead of errors in RPC `get` methods (#8702) * Make `get<X>CountBy<Y>` return `null` on error * Make `get` methods return `null` on not found - Adjust nullability annotations * Cleanup/move some aura components to di (#8704) * Move to DI * Some fix * Fix test * Fix aura test * Missed equal sign * Optimize: Number, GasLimit, Coinbase, PrevRandao opcodes (#8700) * Potentially optimize: Number, GasLimit, Coinbase, PrevRandao opcodes * optimize BlockExecutionContext layout * optimize ExecutionEnvironment layout * Update src/Nethermind/Nethermind.Evm/BlockExecutionContext.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * fix * fix test * Keep PrevRandao as Big-endian * Convert BlobBaseFee once * Formatting * Create BlockExecutionContext less often * build fix * Reuse BlockExecutionContext in Prewarmer --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * EIP-7918: Blob base fee bounded by execution cost (#8656) * initial impl * fix whitespace * start adding tests * 7918 tests * fix formatting * fix comment * fix and update formula * fix tests, constant * make cleaner * move constant to own file * add missing eip enable * use ulong, fix underflow * rename to parentBlobGas to match spec * Update src/Nethermind/Nethermind.Core/Eip7918Constants.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * remove redundant checks * check that target does not exceed max when loading blob schedule --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * TxParser: Add signature validation, keep errors in 1 line (#8706) * Add signature validation, keep errors in 1 line * remove unused usings * optimize * Refactor tests configuration and work around Rider issue (#8703) * Move common tests properties to `tests.props` * Move common packages to `tests.props` * Add `tests.props` to solution * Add Microsoft.NET.Test.Sdk package * Revise workaround condition * Some fixes for clef integration in RPC (#8626) * checksum address converter * fix * ignore gasPrice in eip1559 rpc tx * fix check on tx type instead * dont change normal RPC behavior * Fix Nethermind.Test.Runner Dockerfile (#8708) * GetStorageRange fix for no storage slots found (#8538) * GetStorageRange test with no slots returned * Single case fix * Retrun proofs when no storage slot found * Test build fix --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix Assertoor workflow (#8711) * Optimize debugging container (#8710) * Update known_chain_sizes test (#8714) * Use less allocating .ToValueHash than .ToBigEndian (#8713) * TxParser add chain id validation (#8709) * Fix/disconnect without sending reason (#8712) * Disconnect after hello by default * Fix disconnecting without reason * Cleanup * Optimize JournalSet (#8716) * Optimize JournalSet * Don't repeat mistakes of the past * debug * build * Also ChainLevelHelper * SkipLocalsInit as create span * Remove special case * Fix exception on exit for incomplete nethermind startup. (#8717) * Abstracted * Service stopper code * Setup * All service with dependency injection * Integrate dispose stack * Slight comment * Slight cleanup * Remove disposable stack * Whitespace * Remove Nethermind.Tools.GasHistorian (#8720) * Remove obsolete scripts (#8721) * Feature/snapsync storage log (#8675) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Better snap progress * More accurate storage * Sync dispatcher metric * Fix large storage not showing up * Slight cleanup * Consistency * Probably fix not showing up on mainnet * Whitespace * Ok, this should works. * Minor cleanup * Minor cleanup * Configurable high storage queue threshold * Switch to standard dictionary * Nope, I was just lucky at that time * Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Revert "Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs" This reverts commit 2dc5c14. --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Refactor/Consolidate ISealEngine. (#8705) * Move some sealing components to DI * Some fix * Move to DI * Some fix * Fix aura * Some low hanging fruit * Remove unused imports * Slight cleanup * Slight cleanup * Fix build * Fix another test * Fix test * Slight cleanup * Set to global seal engine * Surface acceptTx on sync via config (#8728) * Improve JumpDest analysis (#8725) * Add Vector512 JumpDestAnalysis * Also work on Arm * Add Uniswap * Enable all benchmarks * Formatting * Rename * Cleanur/remove create heath hint service (#8727) * Remove IHealthHintService from api * Move healthcheck * Slight cleanup * Reduce unnecessary change * Fix test * Fix taiko * Whitespace * Update src/Nethermind/Nethermind.Api/NethermindApi.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Consensus/NoBlockProducerRunner.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Fix build --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix tx blob deserialization after PeerDAS (#8729) * Added test for failed deserialization * Try fix failing deserialization * Simplify code * Try another fix * Simplify fix * Move unit tests to use IWorldState instead of ITrieStore (#8724) * Moved to use IWorldState instead * Reduce unnecessary change * Reduce usae again * Reduce usae again * Whitespace * Fix benchmark build * Fix build * Support for eth/69 (#7052) * Added eth/69 protocol handler * Ignore NewBlock and NewBlockHashes messages * [WIP] Make td in Status message optional * Handle receipts messages * Receipt message serialization tests * Fixed Status message handling * Disable sending Status, NewBlock and NewBlockHashes messages * Updated naming * Fixed Status serialization/deserialization * Initial handler tests * Rebase fix * Updated handler tests * Fix formatting * Code cleanup * Code cleanup * Added more units tests * Removed ignored unit tests * PR fixes * Tests code cleanup * Implementation without adding new `RlpBehaviors` * Code cleanup * Code cleanup * Fix messages disposing in tests * Build fix * Optimize to avoid creating `StatusMessage` copy * Updated `StatusMessage` to the latest version * Do not ignore `NewBlock` and `NewBlockHashes` messages * Code cleanup * Set `HeadNumber` on `Status` message * Code cleanup * Handling for `BlockRangeUpdate` message * Potential fix for failing tests * Enabled eth/69 where needed * Fixed tests * Revert removing new block notification * Fix peers ordering, attempt #1 * Revert "Fix peers ordering, attempt #1" This reverts commit a0aa23b. * Allow nullable TD in `IBetterPeerStrategy` * [WIP] Fix peers ordering attempt #2 * Revert "[WIP] Fix peers ordering attempt #2" This reverts commit c2b61cf. * Sending `BlockRangeUpdate`, version 1 * Build fix * Send block update only for 32+ difference * Tests update * Another build fix * Add eth/69 as part of Merge module * Fixed missing serializer in test * Try use `LastBlockBetterPeerStrategy` * Adjust disconnection logic for no-TD peers * TODO * Fixed `BlockRangeUpdate` packet type * Removed testing code and todo * Select peers for syncing by last block instead of TD * Formatting fix * Fix eth/69 registration location * Move eth/69 back to default capabilities * Updated `P2PMessageKey` * Remove unneeded TODO * `ToString` override for BlockRangeUpdate * Fixed adaptive id resolving when sending `BlockRangeUpdate` * Add IPoSSwitcher.Transitioned event * fix * Improvements for BlockRangeUpdate handling * [WIP] Update receipts encoding to latest spec * Fixes and updates for receipts encoding * Test for disconnection on invalid `BlockRangeUpdate` * Try finalize nullable peer TD * Code cleanup & build fix * Code cleanup & build fix * Fixed latest protocol version when capability is added dynamically * Try to fix `Block.AccountChanges` not being disposed in case of error * Fixed most tests * Revert "Try to fix `Block.AccountChanges` not being disposed in case of error" This reverts commit 4821110. * Fixed `Block.AccountChanges` not being disposed in some cases * Finalize peer strategy transitioning * Fixed build and tests * Another tests fix * Unsubscribe `PoSSwitcher.Transitioned` after firing * Build/merge fixes * Removed new strategies * Some docs for `IPoSSwitcher` * ~ Test Hive when listening on 0.0.0.0 * ~ Test Hive when listening on 0.0.0.0 * Revert "~ Test Hive when listening on 0.0.0.0" * PR feedback & build fix * Test fix * Build fix * Log adding eth/69 * ~Log supported capabilities when no-match * Remove testing code * Refactor `BlockRangeUpdate` broadcast to avoid modifying existing code * Fixes * More fixes, including tests * Cleanup & fixes * Cleanup * Test fix * Naming * Another test fix * Cleanup * Feedback * Simplify update frequency limiter * Try fix failing test via waiting --------- Co-authored-by: lukasz.rozmej <[email protected]> * Fix runner test (#8731) * Fix runner test * Fix runner test * To interlocked * Use semaphore * Move wait to `RegisterPluginRpcModule` * Increase Ethereum mainet gaslimit default to 60M (#8671) * Refactor/use block producer env factory (#8730) * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Feature/Step dependents (#8734) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Use the same attribute * Make run verify trie optional * Fix test * ExecutionEnvironment pass Uint256 as in (#8736) * ExecutionEnvironment pass Uint256 as in * more in * Refactor/remove additional tx source param (#8735) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Remove additional tx source param * Fix shutter * Use the same attribute * Make run verify trie optional * Fix test * Slight cleanup * Remove some more code * Move shutter initialization somewhere else * Rename to RunshutterP2p * Revert unnecessary change * Fix shutter test * Update src/Nethermind/Nethermind.Init/RunVerifyTrie.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/RunShutterP2P.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/ShutterPlugin.cs Co-authored-by: Marc <[email protected]> --------- Co-authored-by: Marc <[email protected]> * Adjust block size to CL pessimistic block size (#8737) * adjust block size to CL limit * Update src/Nethermind/Nethermind.Config/BlocksConfig.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Whitespace --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix secp256r1 precompile test cases (#8738) * Fixe secp256r1 test cases * Get rid of nullability * Replace expected `null` with empty array to all tests * Improve performance of CALL opcodes (#8732) * Clean up method params passing * Benchmarks * param * Reduce changes * Previous disown * fix tests * fix tests * Increase changes * Top level contexts * Format * compile * Build * build * Local authority * Clean up ordering * Build * tests * tests * test fix * tests * tests * Disconnect when connected * Revert "Disconnect when connected" This reverts commit bb52702. * Add back other Memory Type * Add min memory rent size (#8740) * Add min memory rent size * fix * Make `StateProvider` hot code in the common path (#8744) * Hotter code for StateProvider.Restore * Hot code * Hot code Restore * Formatting * Fix * chore(evm): fix 7918 blob gas calculator (#8743) * Auto-update fast sync settings (#8745) Co-authored-by: rubo <[email protected]> * Add boundary tests for EIP-7918 (#8748) add boundary tests for 7918 Co-authored-by: Marc Harvey-Hill <[email protected]> * Update EIP-7883: Assume minimal base/mod length of 32 (#8749) * changes to modexp gas-pricing * whitespace * tidy --------- Co-authored-by: Marc Harvey-Hill <[email protected]> * Fix/CL health checks (#8755) CL is ok if we get NP or FCU * Activate devnet-1 in Osaka (#8733) * Cleanup * Fix typo * SpanSource for TrieNode rlp (#8719) * initial * benchmarks * minor changes to sequence equal * creation * span source introduced * trie node uses SpanSource * always arrays * only SpanValue * amendents * amendments * tests amended * benchmarks, fixing * fixing sync * fixups to match byte[] and capped * TrieNode.ToString * TxTrieTests use the pool in the same way execution does * Receipt Trie tests * formatting * cleanup * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpDecoderExtensions.cs Co-authored-by: Copilot <[email protected]> * Update src/Nethermind/Nethermind.Core/Buffers/ISpanSourcePool.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Tweaks * Too far * removal of the unaccess paths * SpanSource uses is instead of UnsafeAs --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * Add max blobs per tx limit taken from blob schedule (#8754) * Add maxPerTx setting * Rename * Add tests * Clean up * Fix spaces * Fix punctuation * EIP-7939 CLZ (#8759) * EIP-7939 CLZ * whitespace * fix release spec * fix * Update src/Nethermind/Nethermind.Core/Specs/IReleaseSpec.cs Co-authored-by: Marc <[email protected]> * generate tests for every bit * eip 7939 count leading zeros optimization (#8765) * Optimize with vector * Update src/Nethermind/Nethermind.Evm/Instructions/EvmInstructions.Math1Param.cs * increase delay in flaky test Test_task_that_is_scheduled_during_block_processing_will_continue_after * add in --------- Co-authored-by: Marc <[email protected]> Co-authored-by: Marc Harvey-Hill <[email protected]> * Dispose EvmState on warmup (#8771) * Include debug symbols in distribution packages (#8773) * Include Debug Symbols * Embed debug symbols into distribution package --------- Co-authored-by: Ruben Buniatyan <[email protected]> * optimize some precompiles (#8770) * optimize some precompiles * fix * fix * fix recovery id * fix clearing first 12 bytes of ecrecover result * optimize stack * move EthereumEcdsa to static * Remove txPool contention from block validation (#8779) * Remove txPool contention from block validation * Benchmarks * Junky test * Recover signer direct from keccak without intermediary array (#8781) * Recover signer direct from keccak without intermediary array * Skip hash via byte array * Fix merge issues --------- Co-authored-by: Amirul Ashraf <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: core-repository-dispatch-app[bot] <173070810+core-repository-dispatch-app[bot]@users.noreply.github.com> Co-authored-by: emlautarom1 <[email protected]> Co-authored-by: rubo <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Nikita Mescheryakov <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> Co-authored-by: ak88 <[email protected]> Co-authored-by: Alexey <[email protected]> Co-authored-by: Franco Barpp Gomes <[email protected]> Co-authored-by: kamilchodola <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: yerke26 <[email protected]> Co-authored-by: Damian Orzechowski <[email protected]> Co-authored-by: spencer <[email protected]> Co-authored-by: Marc Harvey-Hill <[email protected]> Co-authored-by: Szymon Kulec <[email protected]>
wurdum
added a commit
that referenced
this pull request
Jun 26, 2025
* Pass PruningConfig to triestore (#8598) * Move some method to pruning trie store * Remove set * Use raw trie store * Snapsync to not use full trie store * Further remove some code * Create test * Whitespace * Update src/Nethermind/Nethermind.State.Test/PatriciaTreeTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Trie/Pruning/RawScopedTrieStore.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Use a single trie store for state * Move to factory function * More constructor to test function * Rename to Build * Overridable world state to not inherit trie store * Make it official then * Remove some parameters out of IPruningStrategy * TrackedPastKeyCountMemoryRatio to TrackPastKeys * Fix build * Fix benchmark build * Fix test build * Fix build * Moved test factory to core test * Added comment and test * Seal triestore * Address comment * Fix build * Fix build * Fix build again? --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix/parallel block downloader (#8587) * Reapply "Perf/parallel block downloader" (#8574) This reverts commit b9a2a9345d4e5bbe1583258fe6f9c1e1de5ffe72. * Fix aura not thread safe * Fix validate suggested block cannot run out of order * Fix test * Fix test * Whitespace * Some extra log * Update src/Nethermind/Nethermind.Consensus/Validators/BlockValidator.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.State/Proofs/WithdrawalTrie.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Synchronization.Test/BlockDownloaderTests.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Make sure only one request at a time * Fix build * Remove comment * Remove comment * Check disposed --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Update OP Superchain chains (#8611) Co-authored-by: emlautarom1 <[email protected]> * Fix trie tests (#8614) * Fix trie tests * Fix build * Whitespace * Does this work? * How about now? * What if I copy it first * Ok, how about nwo? * Back to memory * You know, if you could just reproduce locally, this would be faster. * Screw it. * Auto-update fast sync settings (#8612) Co-authored-by: rubo <[email protected]> * Refactor/Explicit message serializer registration (#8604) * Remove `IMessageSerializationService.Register` * Check banned registration * Slight cleanup * Fix build * Whitespace * Add more check * Fix editorconfig not applied to C# file. (#8620) Fix editorconfig not applied * Update libp2p package (#8534) * HealthChecks: Track CL calls from fcu & np methods (#8603) * Track CL calls directly * Fix tests * Add test * Fix suggestions * Remove class * Update src/Nethermind/Nethermind.HealthChecks/ClHealthRequestsTracker.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update HealthChecksPlugin.cs --------- Co-authored-by: Lautaro Emanuel <[email protected]> * Cleanup/remove upgreadable peer allocation (#8572) * Remove upgradeable allocation * Remove unused method * Remove allocate best peer * Slight cleanup * Safely cast Optimism subtypes (2) (#8619) Replace cast with `as` operator * Fix long running test fuzzing OOM (#8615) * Use console over TestContext in EthereumTests as they can be run from Test.Runner and not flushed for a long time * whitespace * Feature/clef tx (#8609) * Start * support clef sign transaction in RPC * fix * also works with eth_sign * format * restore * review comments * eth_sign rpc bug fix * fixed personal_sign * fix * revert * sig fix * format * Optimism CL: Enable P2P (#8556) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Improve logging * Remove sessions * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Fix missing payloads * Head block * Do not shuffle * P2P Payload status * Update libp2p * Remove return * Update src/Nethermind/Nethermind.Optimism/CL/ExecutionEngineManager.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix formatting --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * OP CL L1 Validation on startup (#8610) * Enable p2p * Improve startup logic * PayloadByNumber protocol * Peer manager * Reverse peers * Fix formatting * Fix build * Fix xml * Move CL parameters to op config * Use external ip * Fix npe * Lock in EL manager * Fix formatting * Simplify sync * Small fixes * Fix config description * Add constants * Update src/Nethermind/Nethermind.Optimism/IOptimismConfig.cs Co-authored-by: Ruben Buniatyan <[email protected]> * Add logging * typo * Fix return * Remove return * Update Libp2p * Remove test feed * Reuse sessions * Include L1 parameters for validation * Add `eth_chainId` * Initial `L1ConfigValidator` * Validate L1 config on CL startup * Rename parameters * Fix license date * Adjust interface summary * Improve logging * Remove sessions * Add `ArgumentNullException.ThrowIfNull` * Use LocalPeer sessions * Shuffle peers * Fix build * Update parentHash * Improve logging * Log peer * Update head while processing * Run `superchain.py` * Fix missing payloads * Fix `eth_chainId` deserialization * Only use `fullTxs = true` * Empty commit * Empty commit --------- Co-authored-by: Nikita Meshcheriakov <[email protected]> Co-authored-by: Ruben Buniatyan <[email protected]> * Initialize kzg when used in runner too (#8623) * Add Nethermind.Test.Runner Docker image (#8608) * Fix hive (#8590) * Report on issues with system contracts * Externalise conditional logic; intrinsic gas = 0 * Handle deposit layout issues * Fix more tests * More tests * Add system call * More tests * Tests * Fix more * Fix clique * Fix more * Add granular exceptions; separate type fo a system call * Update tests * Fix solution; remove redundant changes * Use the same code * Refactor/Move DiscoveryApp initialization to DI (#8624) * Extract node record provider * DiscV5 to DI * DiscV4 to DI * Consolidate the network storage initialization * Allow more margin * Override discovery db in test also * Whitespace * Add state availability checks before debug module tracing (#8621) * Check if state is available in debug trace calls * Add GetFailureResult methods * Fix formatting * Set block state as always available in test stub * Mock relevant methods in unit test stubs * Set year in copyright text * Simplify header searches in favor of finds * Add TryGetHeader * Expose Block-based interfaces in IGethStyleTracer * Avoid re-decoding block RLP * Fix formatting * Refactor TryGet methods to return header/block * Set block difficulty if null * Update Nethermind.Numerics.Int256 package (#8628) * Fix infinite loop in tx pool (#8632) * Fix filter timeouts, set to 15m (#8633) * Update System.CommandLine package (#8639) * Bump up the version to 1.33.0-unstable (#8533) Co-authored-by: kamilchodola <[email protected]> * Auto-update fast sync settings (#8645) Co-authored-by: rubo <[email protected]> * Remove SkipLocalsInit to avoid garbage in first bytes of hash (#8634) * Remove SkipLocalsInit to avoid garbage in first bytes of hash * Use Ben's ToHash implementation * Improve test Co-authored-by: Ben {chmark} Adams <[email protected]> --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Update OP Superchain chains (#8644) Co-authored-by: emlautarom1 <[email protected]> * add surge hoodi chainspec (#8643) Co-authored-by: Ahmad Bitar <[email protected]> * Fix for `Block.AccountChanges` not being disposed in some cases (#8647) * Fixed `Block.AccountChanges` not being disposed in some cases * Code cleanup Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix Holesky Sync (#8651) * taiko alethia pacaya fork activation (#8642) add taiko alethia pacaya fork activation to chainspec Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> * Revert wrong code on missing receipt (#8653) * Revert wrong code on missing receipt * fix test * Set default `LegacyTransactionForRpc` gas price to zero (#8630) Set default legacy transaction gas price to zero * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds (#8654) * Fix #8648 - eth_getTransactionByBlockNumberAndIndex out of bounds * one more fix * Update RocksDB package (#8640) * Kute: order by filename (#8657) * PatriciaTree ignoreMissingDelete is not used (#8646) * Remove unused code * Submodule revert * Implement Eip7823 (#8649) * Eip7823 settings * Add implementation and test * Format * Apply suggestions from code review Co-authored-by: Copilot <[email protected]> * Feedback * Feedback * Add invalid examples --------- Co-authored-by: Copilot <[email protected]> * Sync OP chains after Isthmus (#8638) * Change accessibility * Make `ValidateWithdrawalsRoot` instance method * Make `ValidateBodyAgainstHeader` an instance method * Make `ValidateBodyAgainstHeader` virtual - Revert rename * Make static methods protected * Override `ValidateBodyAgainstHeader` * Update interface implementation in `SlowHeaderValidator` * Update interface implementation in `TestBlockValidator` * Fix `BlockValidatorTests` * Fix `BodiesSyncFeedTests` * Adjust Isthmus EIPs * Run `superchain.py` * Fix `InvalidBlockInterceptorTest` * Run `superchain.py` * Delete extra file --------- Co-authored-by: Kamil Chodoła <[email protected]> * Use RocksDB PinnableSlice when available (#8661) * Use RocksDB PinnableSlice when available * Just use straight overloading * Optimize RlpStream.Encode(ulong) (#8660) * Optimize RlpStream.Encode(ulong) * Don't unnecessarily convert to UInt256 to encode * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpStream.cs * Slight discovery refactor. (#8664) * Reducing change * Nodes to array segment * Extract some logic out to DiscoveryPersistenceManager.cs * Fix test * Fix test * How about now * Ok, so something is running in the background. * Assert msg count also * Dont start thread if closed * Remove the metric assertion * Slice span rather than array (#8665) * Use static SHA256.HashData (#8673) * Use span when slicing arrays (#8672) * Mild performance tweaks (#8674) * Mild performance tweaks * Apply suggestions from code review Co-authored-by: Amirul Ashraf <[email protected]> --------- Co-authored-by: Amirul Ashraf <[email protected]> * Remove TD based peer allocation strategy (#8670) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Improve WebSocketMessageStream (#8676) * Improve WebSocketMessageStream * Change to struct * Feedback * Add test * Optimism CL: Split finalized/safe blocks (#8658) * split safe/finalized * Add logging * Release lock * Fix startup processing * Fix if * Fix BLockId * Fix initialization * Fix * Fix * Detect L1 reorgs * Fix * Reset on reorg * Delete some fields * Finalization first * L1 bridge step * Fix * Fix async * Fix overflow * Change to parent hash * Do not process head * Fix overflow * Delay step * Decrease delay * Implement process reorg * Fix formatting * Clear channels properly * Reset decoding pipeline * Fix ClockCache.Set (#8679) * Fix ClockCache.Set * Clearer * Implement EIP-7825: Transaction Gas Limit Cap (#8663) * initial implementation, txpool limit * fix formatting * block validity * enforce in TxValidator * restore tx processing * add txpool test * add to osaka fork and add txvalidator test * fix whitespace * revert accidental changes * remove from osaka * fix whitespace * remove redundant txpool check * construct ExpectedChainIdTxValidator only once * move spec check inside GetTxGasLimitCap --------- Co-authored-by: lukasz.rozmej <[email protected]> * Implement OP CL `optimism` RPC namespace (#8667) * Initial OptimismOptimismRpcModule - Add `optimism_` namespace - Initial `optimism_version` method * Generalize `GetCurrentBlocks` * WIP `optimism_syncStatus` * Add `GetSafe` * Add `L1BlockRef From(L1Block block)` * Initial `optimism_syncStatus` method * Document `SyncStatus` * Add `Zero` * Add `CurrentL1` - Handle nulls as Zero * Refactor CL constructor - Replace with DI - Initialize OP CL RPC module * Prefer to inject `ILogManager` * Fix whitespace * Relax accessibility modifier * WIP `optimism_rollupConfig` * Add `delta` fork * Remove interop * Add `EIP1559DenominatorCanyon` * Add `ChannelTimeout` - Constant value * Add `OptimismSystemConfig` - Store genesis system config * Run `superchain.py` * Correct JSON serialization * Initial `optimism_outputAtBlock` * Add `GetProof` * Add `StateRoot` to `L2Block` * Initial `optimism_outputAtBlock` * Run `superchain.py` * Small tweaks * Actually compute Root hash * Skip local initialization * Hide OP-CL specific options (#8684) * Hide OP-CL RPC module * Hide OP-CL configs * Reduce `Forward header starting block number did not changed.` exception to log. (#8683) * Fix unexpected same block number exception * Whitespace * Refactor projects configuration (#8659) * Update packages (#8641) * Refactor/Reduce `AuraNethermindApi` usage. (#8686) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Optimize 12 x 20byte & 32byte OpCodes (#8687) * Optimize Address returning OpCodes * Optimize PREVRANDAO opcode * Optimize ChainId opcode * Simplify Hash Pushes * Less Unsafe * Read-only method * Align stack memory * Optimize alignment calc * over comment * Use EvmStack.WordSize const * Optimize `UInt256` opcodes * Optimize loop * Balance, SelfBalance * ExtCodeHash * Short circuit delegate look up for empty * Optimize code lookup * Add Unsafe back * Pass through push * Pass through 32 * Keep as property * Move to VirtualMachine * Change back to readonly field * Auto-update fast sync settings (#8689) Co-authored-by: rubo <[email protected]> * Update OP Superchain chains (#8690) Co-authored-by: emlautarom1 <[email protected]> * Perform stack writes as single 32 vector (#8691) * Perform stack writes as single 32 vector * Use shared method * Make common method * Reintroduce Jit time branch elimination (#8692) * Reintroduce Jit time branch elimination * Formatting * Compile issues * Move to core * Benchmarks * Benchmarks * Fixes one discv5 test (#8635) * fix * review comment --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Migrate to Microsoft.Testing.Platform (#8190) * Migrate to Microsoft.Testing.Platform * Remove irrelevant setting * Fix Taiko project * Show failure per test * Fix Ethereum.Test.Base * Fix entry point * Ignore status code 8 * Restore to library project * Remove Nethermind.State.Test.Runner * Fix build errors * Fix Nethermind.Test.Runner * Ignore Log dir * Remove duplicate property * Ignore TestResults dir * Remove VSTest stuff * Revise coverage collection * Disable Nethermind.Overseer.Test and change test commands * Rename code coverage settings file * Fix file encodings * Refactor tests workflow * Fix tests workflow * Update Microsoft.Testing.Extensions.CodeCoverage package * Update Microsoft packages * Revise workflow * Apply `EnableNUnitRunner` individually * Rename code coverage config * Update packages * Update `testenvironments.json` * Revert `StartupObject` changes * Update NUnit.Analyzers package * Fix/aura hive startup (#8694) * Fix aura hive startup * Remove unnecessary change * EIP-7594: PeerDAS (#8417) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Use preallocated span not list * Segregate; statics * Update src/Nethermind/Nethermind.Merge.Plugin.Test/EngineModuleTests.V4.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix --------- Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Refactor build scripts (#8601) * Refactor/make all blockprocessor arg required (#8688) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Fix clique * Unused imports --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Warm up evm instructions (#8699) * Warm up evm instructions * mods * Use SpecProvider * Revert "Use SpecProvider" This reverts commit 189ef1d2d870a3ae775bb7d5fe5f758b0051a68f. * Add BPOs (#8631) * calculate cell kzg proofs * extent tx network wrapper * add cell proofs to test tx builder * add test for blob txs with cell proofs * add tx extension to supply both blob proofs and cell proofs * adjust tx builder to current master * fix data length * adjust tx validator * extend test * simplify network wrapper * cosmetics * hack decoder to accept optional blob proofs * cleaning * add cell proofs verification * fix * draft of translation logic * enable translation in tx validator * fix commitments * Send blobs update * Add engine_getBlobsV2, Fusaka * Fix proofs * drop BlobSender changes * Fix encoding * undo remaining blob sender changes * Fix block production * undo bs * Fix multiple blobs sending * Add more structs and APIs * Split GetBlobsHandler file * cleaning * fix blob tx decoder * fix old proof length in transaction builder * fix transaction builder * whitespaces, encoding * add getBlobsV2 to engine rpc capabilities * fix test * fix proofs validation * bring back Alexey's BlobSender changes * whitespace * fix * Add manager(just PoC) * Add osaka blobs settings change handling * add ProofVersion to ChainHeadInfoProvider and add SpecDrivenTxGossipPolicy * Fix some tests * Fix V2 proofs * fix file encoding * add error InvalidProofVersion * invalidate if proof version is not correct * add test OsakaSpecProvider * adjust and extend test for cell proofs pre and post osaka * Fix APIs * Fix a test * Move name to spec to Spec project * Fix build * fix cancun caps * Make tx pool return blob txs with applicable proof version * Change proof version * Display better error * add ProofsTranslationEnabled to config * convert old proof to cell proofs if enabled and after fusaka * add test * allow replacement: new proofs for old proof * add regression test * fix transaction selector tests * Fix blob sender #2 and #3 breaks * fix engine_getBlobsV2 warning * fix osaka caps activation * fix tests * extend test for blobs bundle v1 * add regression test for blobs bundle v2 * whitespaces * fix blobs bundle v2 * cosmetic * fix versions * add AreBlobsAvailable * add metrics * return empty array if not all blobs are available * add tests, fix disposing issues * fix build * Dial back JsonRpc log spam * fix test * default ProofsTranslationEnabled to false * fix test * Rename proof versions for less confusion * Fix naming change * One does not simply rename an enum value * Simplify proof version checkers * Clean up * Ckzg.Ckzg -> Ckzg. (#8568) Ckzg./2 * Rename peerdas getBlobsV2 metrics (#8579) * Add metrics for getBlobsV2 * Remove AreBlobsAvailable * Rename metrics * fix * fix build * fix test * readd proof version validation * Quick cleanup * Fix gpv3 fork validation * Fix building * Clean up * Evict transactions with old proofs * Improve test * Fix test * Add BPOs * Evict txs with to many blobs, don't allow gaps * Fix tests * Add osaka * Apply suggestions from code review Co-authored-by: Marc <[email protected]> * Change bpos format to array with timestamps * Update spec format; fix tests * Fix some comments * Update src/Nethermind/Nethermind.Merge.Plugin/Metrics.cs Co-authored-by: Lukasz Rozmej <[email protected]> * More fixes * More * More fixes * More fixes * Fix typos, clean up * More fixes * Use preallocated span not list * Segregate; statics * Fix merge * Typos * Improve tests and spec * Return previous approach --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Ben Adams <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> * Update TxParser (#8698) * Update fork in TxParser * Add way to get latest named fork class * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj Co-authored-by: Ruben Buniatyan <[email protected]> * Update Directory.Packages.props Co-authored-by: Ruben Buniatyan <[email protected]> * Update src/Nethermind/Nethermind.Specs.Test/Nethermind.Specs.Test.csproj * fixes * Remove transaction validator * remove unused code * remove unneded usings * Use Fork.GetLatest in EVM Warmup * Cache Fork.GetLatest result --------- Co-authored-by: Ruben Buniatyan <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * eip-7883 implementation (#8489) * bump pricing * disable precompile cache * min gas at 300 * 400 is the new min * divide by 2 * min gas 500 * min gas 600 * divide by 2 * min gas 500 * increase words cost if >32 bytes * add eip activation * fix whitespace * add tests * add more tests * fix whitespaces * minor refactoring * Add GasCostOf constant * Name numbers * cosmetic * Add json -> spec -> prov loading test for timestamps * Fix test * Fix testing platform by getting rid of internals * Reuse * Add names * Disable EOF --------- Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> * Add logo on startup (#8701) * Add logo on startup * Include text * extra * Less bright * Add website * Make links brighter * Only have one website * Init banner * Refactor/deduplicate ReadOnlyTxProcessingEnvFactory (#8697) * Dont use static factory here * Trying to isolate StartBlockProduer also * Start blockchain aura * Block produce env factory * Remove unnecessary code * Explicit constructor variable * Remove receipt root * Explicit execution requests * Remove transitioning factory constructor * Reduce code * Reduce diff * Update src/Nethermind/Nethermind.Consensus.AuRa/InitializationSteps/InitializeBlockchainAuRa.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Merge.AuRa/InitializationSteps/InitializeBlockchainAuRaMerge.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Whitespace * Fix build * Address taiko * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Update src/Nethermind/Nethermind.Clique.Test/CliqueBlockProducerTests.cs Co-authored-by: Lautaro Emanuel <[email protected]> * Auto read only tx processing env * Fix clique * Unused imports * Fix more build * Remove from taiko * Add processing module * Add all plugin * Remove more use of read only tx processing env * Remove the one in aura api * Hide it from usage * Slight cleanup * Revert unnecessary change * Update src/Nethermind/Nethermind.Runner/NethermindPlugins.cs Co-authored-by: Lautaro Emanuel <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Restore and fix tests (#8696) * Un-ignore tests * Fix test names * Rename tests on the fly * Return `null` instead of errors in RPC `get` methods (#8702) * Make `get<X>CountBy<Y>` return `null` on error * Make `get` methods return `null` on not found - Adjust nullability annotations * Cleanup/move some aura components to di (#8704) * Move to DI * Some fix * Fix test * Fix aura test * Missed equal sign * Optimize: Number, GasLimit, Coinbase, PrevRandao opcodes (#8700) * Potentially optimize: Number, GasLimit, Coinbase, PrevRandao opcodes * optimize BlockExecutionContext layout * optimize ExecutionEnvironment layout * Update src/Nethermind/Nethermind.Evm/BlockExecutionContext.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * fix * fix test * Keep PrevRandao as Big-endian * Convert BlobBaseFee once * Formatting * Create BlockExecutionContext less often * build fix * Reuse BlockExecutionContext in Prewarmer --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * EIP-7918: Blob base fee bounded by execution cost (#8656) * initial impl * fix whitespace * start adding tests * 7918 tests * fix formatting * fix comment * fix and update formula * fix tests, constant * make cleaner * move constant to own file * add missing eip enable * use ulong, fix underflow * rename to parentBlobGas to match spec * Update src/Nethermind/Nethermind.Core/Eip7918Constants.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * remove redundant checks * check that target does not exceed max when loading blob schedule --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * TxParser: Add signature validation, keep errors in 1 line (#8706) * Add signature validation, keep errors in 1 line * remove unused usings * optimize * Refactor tests configuration and work around Rider issue (#8703) * Move common tests properties to `tests.props` * Move common packages to `tests.props` * Add `tests.props` to solution * Add Microsoft.NET.Test.Sdk package * Revise workaround condition * Some fixes for clef integration in RPC (#8626) * checksum address converter * fix * ignore gasPrice in eip1559 rpc tx * fix check on tx type instead * dont change normal RPC behavior * Fix Nethermind.Test.Runner Dockerfile (#8708) * GetStorageRange fix for no storage slots found (#8538) * GetStorageRange test with no slots returned * Single case fix * Retrun proofs when no storage slot found * Test build fix --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix Assertoor workflow (#8711) * Optimize debugging container (#8710) * Update known_chain_sizes test (#8714) * Use less allocating .ToValueHash than .ToBigEndian (#8713) * TxParser add chain id validation (#8709) * Fix/disconnect without sending reason (#8712) * Disconnect after hello by default * Fix disconnecting without reason * Cleanup * Optimize JournalSet (#8716) * Optimize JournalSet * Don't repeat mistakes of the past * debug * build * Also ChainLevelHelper * SkipLocalsInit as create span * Remove special case * Fix exception on exit for incomplete nethermind startup. (#8717) * Abstracted * Service stopper code * Setup * All service with dependency injection * Integrate dispose stack * Slight comment * Slight cleanup * Remove disposable stack * Whitespace * Remove Nethermind.Tools.GasHistorian (#8720) * Remove obsolete scripts (#8721) * Feature/snapsync storage log (#8675) * Remove TD based peer allocation strategy * Remove `MergePeerAllocationStrategy` * Better snap progress * More accurate storage * Sync dispatcher metric * Fix large storage not showing up * Slight cleanup * Consistency * Probably fix not showing up on mainnet * Whitespace * Ok, this should works. * Minor cleanup * Minor cleanup * Configurable high storage queue threshold * Switch to standard dictionary * Nope, I was just lucky at that time * Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Revert "Update src/Nethermind/Nethermind.Synchronization/SnapSync/ProgressTracker.cs" This reverts commit 2dc5c143c8192f307d47a39db5ea23a9c703dde4. --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Refactor/Consolidate ISealEngine. (#8705) * Move some sealing components to DI * Some fix * Move to DI * Some fix * Fix aura * Some low hanging fruit * Remove unused imports * Slight cleanup * Slight cleanup * Fix build * Fix another test * Fix test * Slight cleanup * Set to global seal engine * Surface acceptTx on sync via config (#8728) * Improve JumpDest analysis (#8725) * Add Vector512 JumpDestAnalysis * Also work on Arm * Add Uniswap * Enable all benchmarks * Formatting * Rename * Cleanur/remove create heath hint service (#8727) * Remove IHealthHintService from api * Move healthcheck * Slight cleanup * Reduce unnecessary change * Fix test * Fix taiko * Whitespace * Update src/Nethermind/Nethermind.Api/NethermindApi.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Consensus/NoBlockProducerRunner.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Fix build --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix tx blob deserialization after PeerDAS (#8729) * Added test for failed deserialization * Try fix failing deserialization * Simplify code * Try another fix * Simplify fix * Move unit tests to use IWorldState instead of ITrieStore (#8724) * Moved to use IWorldState instead * Reduce unnecessary change * Reduce usae again * Reduce usae again * Whitespace * Fix benchmark build * Fix build * Support for eth/69 (#7052) * Added eth/69 protocol handler * Ignore NewBlock and NewBlockHashes messages * [WIP] Make td in Status message optional * Handle receipts messages * Receipt message serialization tests * Fixed Status message handling * Disable sending Status, NewBlock and NewBlockHashes messages * Updated naming * Fixed Status serialization/deserialization * Initial handler tests * Rebase fix * Updated handler tests * Fix formatting * Code cleanup * Code cleanup * Added more units tests * Removed ignored unit tests * PR fixes * Tests code cleanup * Implementation without adding new `RlpBehaviors` * Code cleanup * Code cleanup * Fix messages disposing in tests * Build fix * Optimize to avoid creating `StatusMessage` copy * Updated `StatusMessage` to the latest version * Do not ignore `NewBlock` and `NewBlockHashes` messages * Code cleanup * Set `HeadNumber` on `Status` message * Code cleanup * Handling for `BlockRangeUpdate` message * Potential fix for failing tests * Enabled eth/69 where needed * Fixed tests * Revert removing new block notification * Fix peers ordering, attempt #1 * Revert "Fix peers ordering, attempt #1" This reverts commit a0aa23bc1c319b2e689b595b293f38894c24226b. * Allow nullable TD in `IBetterPeerStrategy` * [WIP] Fix peers ordering attempt #2 * Revert "[WIP] Fix peers ordering attempt #2" This reverts commit c2b61cf90f7469e02f1e9e7feefb25ca671ee64d. * Sending `BlockRangeUpdate`, version 1 * Build fix * Send block update only for 32+ difference * Tests update * Another build fix * Add eth/69 as part of Merge module * Fixed missing serializer in test * Try use `LastBlockBetterPeerStrategy` * Adjust disconnection logic for no-TD peers * TODO * Fixed `BlockRangeUpdate` packet type * Removed testing code and todo * Select peers for syncing by last block instead of TD * Formatting fix * Fix eth/69 registration location * Move eth/69 back to default capabilities * Updated `P2PMessageKey` * Remove unneeded TODO * `ToString` override for BlockRangeUpdate * Fixed adaptive id resolving when sending `BlockRangeUpdate` * Add IPoSSwitcher.Transitioned event * fix * Improvements for BlockRangeUpdate handling * [WIP] Update receipts encoding to latest spec * Fixes and updates for receipts encoding * Test for disconnection on invalid `BlockRangeUpdate` * Try finalize nullable peer TD * Code cleanup & build fix * Code cleanup & build fix * Fixed latest protocol version when capability is added dynamically * Try to fix `Block.AccountChanges` not being disposed in case of error * Fixed most tests * Revert "Try to fix `Block.AccountChanges` not being disposed in case of error" This reverts commit 4821110cad2611263dcdb097c32bdb49fc206a4d. * Fixed `Block.AccountChanges` not being disposed in some cases * Finalize peer strategy transitioning * Fixed build and tests * Another tests fix * Unsubscribe `PoSSwitcher.Transitioned` after firing * Build/merge fixes * Removed new strategies * Some docs for `IPoSSwitcher` * ~ Test Hive when listening on 0.0.0.0 * ~ Test Hive when listening on 0.0.0.0 * Revert "~ Test Hive when listening on 0.0.0.0" * PR feedback & build fix * Test fix * Build fix * Log adding eth/69 * ~Log supported capabilities when no-match * Remove testing code * Refactor `BlockRangeUpdate` broadcast to avoid modifying existing code * Fixes * More fixes, including tests * Cleanup & fixes * Cleanup * Test fix * Naming * Another test fix * Cleanup * Feedback * Simplify update frequency limiter * Try fix failing test via waiting --------- Co-authored-by: lukasz.rozmej <[email protected]> * Fix runner test (#8731) * Fix runner test * Fix runner test * To interlocked * Use semaphore * Move wait to `RegisterPluginRpcModule` * Increase Ethereum mainet gaslimit default to 60M (#8671) * Refactor/use block producer env factory (#8730) * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Core.Test/Blockchain/TestBlockchain.cs Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Feature/Step dependents (#8734) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Use the same attribute * Make run verify trie optional * Fix test * ExecutionEnvironment pass Uint256 as in (#8736) * ExecutionEnvironment pass Uint256 as in * more in * Refactor/remove additional tx source param (#8735) * Step dependents * Rename initialize statedb to run verify trie * Cleanup * Remove filter bootnodes * Remove InitCrypto * Reduces some code * Unit tests * Block producer env factory isolated * Simplify block producer env factory * Clique and nethdev * Reduce code * Fix test * Remove a method * Use in tests also * Simplify * Reduce parameter * Better name * Separate neth dev to another file * Unnecessary comment * Whhitespace * Remove additional tx source param * Fix shutter * Use the same attribute * Make run verify trie optional * Fix test * Slight cleanup * Remove some more code * Move shutter initialization somewhere else * Rename to RunshutterP2p * Revert unnecessary change * Fix shutter test * Update src/Nethermind/Nethermind.Init/RunVerifyTrie.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/RunShutterP2P.cs Co-authored-by: Marc <[email protected]> * Update src/Nethermind/Nethermind.Shutter/ShutterPlugin.cs Co-authored-by: Marc <[email protected]> --------- Co-authored-by: Marc <[email protected]> * Adjust block size to CL pessimistic block size (#8737) * adjust block size to CL limit * Update src/Nethermind/Nethermind.Config/BlocksConfig.cs Co-authored-by: Ben {chmark} Adams <[email protected]> * Whitespace --------- Co-authored-by: Ben {chmark} Adams <[email protected]> * Fix secp256r1 precompile test cases (#8738) * Fixe secp256r1 test cases * Get rid of nullability * Replace expected `null` with empty array to all tests * Improve performance of CALL opcodes (#8732) * Clean up method params passing * Benchmarks * param * Reduce changes * Previous disown * fix tests * fix tests * Increase changes * Top level contexts * Format * compile * Build * build * Local authority * Clean up ordering * Build * tests * tests * test fix * tests * tests * Disconnect when connected * Revert "Disconnect when connected" This reverts commit bb527029026bb1e69290aff8c7a6cfebccf71276. * Add back other Memory Type * Add min memory rent size (#8740) * Add min memory rent size * fix * Make `StateProvider` hot code in the common path (#8744) * Hotter code for StateProvider.Restore * Hot code * Hot code Restore * Formatting * Fix * chore(evm): fix 7918 blob gas calculator (#8743) * Auto-update fast sync settings (#8745) Co-authored-by: rubo <[email protected]> * Add boundary tests for EIP-7918 (#8748) add boundary tests for 7918 Co-authored-by: Marc Harvey-Hill <[email protected]> * Update EIP-7883: Assume minimal base/mod length of 32 (#8749) * changes to modexp gas-pricing * whitespace * tidy --------- Co-authored-by: Marc Harvey-Hill <[email protected]> * Fix/CL health checks (#8755) CL is ok if we get NP or FCU * Activate devnet-1 in Osaka (#8733) * Cleanup * Fix typo * SpanSource for TrieNode rlp (#8719) * initial * benchmarks * minor changes to sequence equal * creation * span source introduced * trie node uses SpanSource * always arrays * only SpanValue * amendents * amendments * tests amended * benchmarks, fixing * fixing sync * fixups to match byte[] and capped * TrieNode.ToString * TxTrieTests use the pool in the same way execution does * Receipt Trie tests * formatting * cleanup * Update src/Nethermind/Nethermind.Serialization.Rlp/RlpDecoderExtensions.cs Co-authored-by: Copilot <[email protected]> * Update src/Nethermind/Nethermind.Core/Buffers/ISpanSourcePool.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Tweaks * Too far * removal of the unaccess paths * SpanSource uses is instead of UnsafeAs --------- Co-authored-by: Copilot <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * Add max blobs per tx limit taken from blob schedule (#8754) * Add maxPerTx setting * Rename * Add tests * Clean up * Fix spaces * Fix punctuation * EIP-7939 CLZ (#8759) * EIP-7939 CLZ * whitespace * fix release spec * fix * Update src/Nethermind/Nethermind.Core/Specs/IReleaseSpec.cs Co-authored-by: Marc <[email protected]> * generate tests for every bit * eip 7939 count leading zeros optimization (#8765) * Optimize with vector * Update src/Nethermind/Nethermind.Evm/Instructions/EvmInstructions.Math1Param.cs * increase delay in flaky test Test_task_that_is_scheduled_during_block_processing_will_continue_after * add in --------- Co-authored-by: Marc <[email protected]> Co-authored-by: Marc Harvey-Hill <[email protected]> * Dispose EvmState on warmup (#8771) * Include debug symbols in distribution packages (#8773) * Include Debug Symbols * Embed debug symbols into distribution package --------- Co-authored-by: Ruben Buniatyan <[email protected]> * optimize some precompiles (#8770) * optimize some precompiles * fix * fix * fix recovery id * fix clearing first 12 bytes of ecrecover result * optimize stack * move EthereumEcdsa to static * Remove txPool contention from block validation (#8779) * Remove txPool contention from block validation * Benchmarks * Junky test * Recover signer direct from keccak without intermediary array (#8781) * Recover signer direct from keccak without intermediary array * Skip hash via byte array * Fix merge issues * Refactor/taiko extended eth module (#8769) * Split taiko extended rpc to another class * Remove unneccessary change * Add unit test * Whitespace * Cleanup/make transaction executor always take adapter (#8750) * Block validation and production * Block production transactions execcutor * Remove some class * Fix test * Fix build * Auto-update fast sync settings (#8788) Co-authored-by: rubo <[email protected]> * Fix/era import (#8774) * Fix error import era * Fix not thread safe * Whitespace * Fix build * Increase setup timeout (#8790) * Change Ethereum mainet gaslimit default to 45M (#8793) * Base prewarming on logical cores (#8796) * Base prewarming on logical cores * Max at 16 * Add tx payload form bytes only (#8777) * PatriciaTree remove unused field (#8800) * PatriciaTree remove unused field * ReceiptTrie to non-generic * build * build * Perf/allow archive node to use prune cache (#8655) * Allow archive node to use prune cache * Fix did not save everything * Persistence interval only apply to archive node * Fixed some test * More attempt to fix test * Ability for strategy to check more information * Min and Max unpersisted block * Just a little bit more * Attempt to fix full pruner test * Fix test * Whitespace * Add comment * Rename and move to test * Remove unnecessary change * Remove unnecessary change * Remove unnecessary change * Revert unnecessary change * Fix full pruning * Trying to make test use world state * Missed a file * Add test for strategy * Reduce change * Fix proof rpc * Fix test * Update src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Update src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs Co-authored-by: Lukasz Rozmej <[email protected]> * Fix build * Fix test * Address comment * Fix test --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Fix validation when protocols are added concurrently (#8798) * Ignore `Celo` in Superchain Registry (#8804) Ignore `Celo` * Skip recovery queue when no blocks queued (#8801) * Skip recovery queue when no items queued * Don't pass through synchnronously * tweak * Atomic block * Fix timeout * Fix adaptive code resolver (#8797) * fix msg resolver * Fix nullability warning * Simplify resolver key * Improve error message * Test fix * Atomic add * format --------- Co-authored-by: Alex Bespalov <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> * Refactor/Deduplicate Proof, Trace, Debug, BlockchainBridge RPC (#8741) * Deduplicate proof rpc module * Just a bit more * Almost! * Cleanup * Slight cleanup, fixed some test * More cleanup * Remove unnecessary code * Clear env * Slight cleanup first * Block validation and production * Block production transactions execcutor * Remove some class * Fix test * Progressing * Fix build * Fix test * Fix aura build * Aura * Extra comment * Simulate slight cleanup * Blockchain bridge * Slight code clarity * Remove overridable tx processing env * Fix test * Missed a few override scope * Fix test * Cleanup * Whitespace * Cleanup * Cleanup * Cleanup * Try to reorder for clarity * Reduce code * Slight comment cleanup * Fix build * Remove taiko rpc modules * Fix build * Address optimism * Address comment * Add flag for persistent broadcast (#8752) * add flag for persistent broadcast * fix * Lighter Memory.Save (#8808) Ligher Memory.Save * Fix aura wrong reward components (#8805) * Fix wrong reward componets * Slight cleanup * Fix merge seal validator * Use GetOrAdd for DirtyNodeCache (#8812) * Update packages (#8811) * Cleanup/Deduplicate aura block processor. (#8814) * Remove read only chain processing env * Deduplicate block processor construction * Fix error on block production * Fix wrong sealer * Add withdrawal processor to unit test * Use proper aura tx filter * Cleanup * Rename RIP-7212 to EIP-7951 & enable in Osaka (#8753) * add to specs * remove rip7212 name * enable in Osaka * Ingore `rehearsal` chain * Run `superchain.py` --------- Co-authored-by: Marc Harvey-Hill <[email protected]> Co-authored-by: Alexey Osipov <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> * Drop pre-merge history for Ethereum Mainnet (#8764) * Drop pre-merge history * fix test --------- Co-authored-by: Kamil Chodoła <[email protected]> * Single line [DoesNotReturn, StackTraceHidden] (#8821) * Allocate 96 bytes less per tx sender recovery (#8824) * Less allocating tx sender recovery * Even less allocations * Less allocations * build * Changed return types * Param type * Update OP Superchain chains (#8827) Co-authored-by: emlautarom1 <[email protected]> * Faster generic logger lookup (#8822) * TransactionSubstate to readonly ref struct (#8825) * TransactionSubstate to readonly struct * destory list * ref struct * Apply suggestions from code review Co-authored-by: Lukasz Rozmej <[email protected]> --------- Co-authored-by: Lukasz Rozmej <[email protected]> * Only notify about main BlockchainProcessor shutdown (#8819) * Adjusted CL Block size - EIP 7934 (#8807) * Adjusted CL Block size - EIP 7934 Adjusted CL Block size - EIP 7934 https://eips.ethereum.org/EIPS/eip-7934 * Update BlocksConfig.cs * Remove AncientReceiptsBarrier and AncientBodiesBarrier from sepolia_archive.json (#8834) * Initial plan for issue * Remove AncientReceiptsBarrier and AncientBodiesBarrier from sepolia_archive.json and update test Co-authored-by: MarekM25 <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: MarekM25 <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> * Warmump evm (#8836) * warmup evm * Improve * Format * Update Sepolia AncientBarriers to 1450409 per EIP-3675 for pre-merge PoW history expiry (#8835) * Initial plan for issue * Initial plan for issue Co-authored-by: MarekM25 <[email protected]> * Update Sepolia AncientBarriers to 1450409 per EIP-3675 and update tests Co-authored-by: MarekM25 <[email protected]> * Remove unrelated dotnet-install.sh file Co-authored-by: MarekM25 <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: MarekM25 <[email protected]> * Implement Eip7907: Meter Contract Code Size And Increase Limit (#8845) * Add Eip7907 params * Add constants * Gas metering * Set params * Formatting * Fix * Format * Osaka activation * revert * Try enabling tests * Based on address * Remove EvmState from interface * Rename code sizes * Move Div32Ceiling * Remove codehash return * Reduce changes * Reduce changes * Empty jumpdst * Split SSTORE to two Opcodes (#8853) * Split SSTORE to two Opcodes * Move trace out * Fix yparity issue in RPC setcode tx (#8809) * set V minus offset * refactor auth list rpc * Test for setcode RPC * Refactor/Move the rest of built in rpc modules to DI (#8844) * Remove RegisterEthRpcModule * Remove more code * Slight cleanup * To primary constructor * Add test * Peerpool and subscription factory out of nethermind api * Filter store and filter manager * Slight cleanup * Remove unnecessary code * Make sure context aware rpc is not singleton * Whitespace * Fix test * Feature/lazy rpc module factory (#8846) * Fix test * Fix on actual run * Remove the test rpc module provider * Whitespace * Fix ParityStyleTracerTests in debug mode (#8857) * Fix parity style tracer test in debug mode * Whitespace * Fix arraypool dispose * Test for success * Dont change unnecessary code * Remove INethermindPlugin.GetSteps (#8858) * Remove INethermindPlugin.GetSteps * Whitespace * Fix parallelization config * Update VirtualMachineBase to compatible with the relevant VirtualMachine * Fix the use of VirtualMachineBase in EvmInstructions according to 8756 * Fix formatting --------- Co-authored-by: Amirul Ashraf <[email protected]> Co-authored-by: Lukasz Rozmej <[email protected]> Co-authored-by: core-repository-dispatch-app[bot] <173070810+core-repository-dispatch-app[bot]@users.noreply.github.com> Co-authored-by: emlautarom1 <[email protected]> Co-authored-by: rubo <[email protected]> Co-authored-by: Marc <[email protected]> Co-authored-by: Nikita Mescheryakov <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> Co-authored-by: ak88 <[email protected]> Co-authored-by: Alexey <[email protected]> Co-authored-by: Franco Barpp Gomes <[email protected]> Co-authored-by: kamilchodola <[email protected]> Co-authored-by: Ben {chmark} Adams <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Ahmad Bitar <[email protected]> Co-authored-by: Alex <[email protected]> Co-authored-by: Kamil Chodoła <[email protected]> Co-authored-by: Marek Moraczyński <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: Minhyuk Kim <[email protected]> Co-authored-by: Marcin Sobczak <[email protected]> Co-authored-by: yerke26 <[email protected]> Co-authored-by: Damian Orzechowski <[email protected]> Co-authored-by: spencer <[email protected]> Co-authored-by: Marc Harvey-Hill <[email protected]> Co-authored-by: Szymon Kulec <[email protected]> Co-authored-by: Lautaro Emanuel <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: MarekM25 <[email protected]>
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.
Changes
This is a small follow-up to #8575
scripts/deployment
to more meaningfulscripts/build
.github/tests/assertor.yaml
toscripts/assertoor.yml
as it's not a GitHub-specific file.For the sake of consistency, the
.github
directory should contain GitHub infra-related stuff only.Types of changes
What types of changes does your code introduce?
Testing
Requires testing
If yes, did you write tests?
Notes on testing
Tested manually