Skip to content

Conversation

@flcl42
Copy link
Contributor

@flcl42 flcl42 commented Dec 15, 2025

Changes

Types of changes

What types of changes does your code introduce?

  • Bugfix (a non-breaking change that fixes an issue)
  • New feature (a non-breaking change that adds functionality)
  • Breaking change (a change that causes existing functionality not to work as expected)
  • Optimization
  • Refactoring
  • Documentation update
  • Build-related changes
  • Other: Description

Testing

Requires testing

  • Yes
  • No

If yes, did you write tests?

  • Yes
  • No

Notes on testing

Optional. Remove if not applicable.

Documentation

Requires documentation update

  • Yes
  • No

If yes, link the PR to the docs update or the issue with the details labeled docs. Remove if not applicable.

Requires explanation in Release Notes

  • Yes
  • No

Adds engine_getBlobsV3 method, so CL clients may apply optimizations based on partial blobs provision

Remarks

Optional. Remove if not applicable.

…rV2.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
@flcl42 flcl42 merged commit fd62e3d into master Dec 16, 2025
140 of 142 checks passed
@flcl42 flcl42 deleted the add-engine-getblobsv3 branch December 16, 2025 13:40
stdevMac pushed a commit that referenced this pull request Dec 23, 2025
* Add engine_getBlobsV3

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
stdevMac pushed a commit that referenced this pull request Dec 23, 2025
* Add engine_getBlobsV3

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
kamilchodola added a commit that referenced this pull request Jan 7, 2026
* Xdc: Vote Module tests (#9690)

* start

* more dependencies

* build

* rename

* voting

* vote task

* bit of refactor

* invoke block produced

dont seal

* refactor context

* format

* timeout missing

* block producer

* format

* basic incomplete setup

* test

* block production test

* format

* merge cleanup

* merged

* use the constant

* use timestamp from attributes

* Merged

* Merged fix

* cleanup

* fixes

* cleanup

* commit cert before vote

propose in background

* merge and refactor

* rename

* format

* comment

* refactor to continuous loop

* remove TCM

* Format

* fix

* draft implmentation

* cleanup

* handle regenesis block in XdcTestBlockchain

* refactor to inherit from TestBlockchain

* register FromXdcContainer

* handle _fromContainer from base

* attempt rotating signers

* test fix

* test fix

* test and container setup fix

* decoder fix

* bug fixes

* init QC

* test xdc sealer rotation

* bug fixes and working now

* Format

* Update packages.lock.json

* remove

* total difficulty fix

* format

* override in blocktree

* fix

* unittest

* format

* fix build issues

* fix

* Fix

* remove test

* fixes

* format

* cleanup

* refactor vote tests to use test blockchain class

* undo merge and cleanup usings

* add custom genesis builder for xdc

* format whitespaces

* Do not insert block if invalid fork

* format

* reorg test

* revert block processor

* revert cloning of header in PrepareBlockForProcessing

* reorgs tests working

* fix bad db

* fix seal validator

* fix

* format

* implement add block without commiting qc and generate extra keys for testing

* move vote tests that check vote round to unit tests

* fix and refactor

* optional params

* fix

* one fix and a bit of refactor

* reorg test

* rename

* return block instead

* reorg test

* fixes

* dont set author

* 10 seconds per add block

* test blockchain changes

* format

* fixes for hotstuff module

* fixes for filter votes and add tests

* fix test block producer

* fixes for epoch master calculation

* format

* rename

* rollback QC test blockchain order

* build fix

* format

* cleanup

* fix filter vote test to use get snapshot by gap number

* remove redundant

---------

Co-authored-by: ak88 <anders.holmbjerg@hotmail.com>
Co-authored-by: Demuirgos <ayman.bouchareb@outlook.fr>
Co-authored-by: Ayman Bouchareb <Ayman.Bouchareb@outlook.com>

* XDC README.md (#9710)

* Create README.md

* readme

* change description

* correction

* fix: Align BasicJsonRpcClient nullability with IJsonRpcClient (#9692)

* fix: Align BasicJsonRpcClient nullability with IJsonRpcClient

* fix ci

* Apply suggestions from code review

* Update src/Nethermind/Nethermind.Merge.Plugin.Test/ExternalRpcIntegrationTests.cs

* fix ci

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Auto-update fast sync settings (#9720)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Update OP Superchain chains (#9721)

Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>

* Harden Abi parsing, always throw AbiException from AbiDecoder (#9716)

* Harden Abi parsing, always throw AbiException from AbiDecoder

* Add test

* add inner exception when Abi fails

* simplify InvalidBlockException

* fix: unsubscribe from IHistoryPruner.NewOldestBlock in SyncServer.Dispose (#9719)

* Perf/StateSync/Cache node between state root change (#9607)

* Cached node

* Unit test

* Remove TODO

* Do not limit batch size at start if snap sync

* perf: avoid redundant Hash256 allocation (#9724)

* Revert "Optimise CREATE(2) by removing redundant check" (#9726)

Fix invalid block

* Xdc: Mine Module Tests (#9704)

* start

* more dependencies

* build

* rename

* voting

* vote task

* bit of refactor

* invoke block produced

dont seal

* refactor context

* format

* timeout missing

* block producer

* format

* basic incomplete setup

* test

* block production test

* format

* merge cleanup

* merged

* use the constant

* use timestamp from attributes

* Merged

* Merged fix

* cleanup

* fixes

* cleanup

* commit cert before vote

propose in background

* merge and refactor

* rename

* format

* comment

* refactor to continuous loop

* remove TCM

* Format

* fix

* draft implmentation

* cleanup

* handle regenesis block in XdcTestBlockchain

* refactor to inherit from TestBlockchain

* register FromXdcContainer

* handle _fromContainer from base

* attempt rotating signers

* test fix

* test fix

* test and container setup fix

* decoder fix

* bug fixes

* init QC

* test xdc sealer rotation

* bug fixes and working now

* Format

* Update packages.lock.json

* remove

* total difficulty fix

* format

* override in blocktree

* fix

* unittest

* format

* fix build issues

* fix

* Fix

* remove test

* fixes

* format

* cleanup

* undo merge and cleanup usings

* add custom genesis builder for xdc

* format whitespaces

* Do not insert block if invalid fork

* format

* reorg test

* revert block processor

* revert cloning of header in PrepareBlockForProcessing

* reorgs tests working

* fix bad db

* fix seal validator

* fix

* format

* implement add block without commiting qc and generate extra keys for testing

* fix and refactor

* optional params

* fix

* one fix and a bit of refactor

* reorg test

* rename

* return block instead

* reorg test

* fixes

* dont set author

* 10 seconds per add block

* test blockchain changes

* format

* some setup and ports

* fixes for hotstuff module

* fix failing test

* fix test block producer

* fixes for epoch master calculation

* format

* rename

* rollback QC test blockchain order

* added extra tests

* snapshotmanager tests fixed

* format

* cleanup

* remove TestBlockchainTester

* cleanup

* added more tests

* fix failing tests

* fix the failing tests (again)

* fix merge issues

* format

* rename tests

* remove unncessary variable

* removed unused field

* mine module test and a bit of refactor

* format

---------

Co-authored-by: ak88 <anders.holmbjerg@hotmail.com>
Co-authored-by: cicr99 <kr1000a@gmail.com>

* Run Xdc tests in parallel and general cleanup (#9712)

* run tests in parallel and cleanup a lot

* cleanup

* cleanup

* dont use shared variable

* fix missing dispose in HandleMessage(PooledTransactionRequestMessage) (#9729)

* fix missing dispose in HandleMessage(PooledTransactionRequestMessage message)

* simplify

* fix: remove redundant ExtraData assignment (#9733)

* XDC: enforce end-of-sequence checks (#9722)

* XDC readme update (#9730)

update

* fix: use IN tag for incoming trace logs (#9727)

* Make blob tx min priority fee configurable (#9736)

* Make blob tx min priority fee configurable

* Set 0 by default

* Revise hive test scripts (#9671)

* Migrate to .NET 10 (#9391)

* Migrate to .NET 10

* Update MTP settings

* Update README

* Remove System.IO.Pipelines package

* Replace obsolete `Rfc2898DeriveBytes` API

* Replace obsolete ASP.NET API

* Replace `IWebHost` with `IHost`

* Fix formatting

* Remove System.Linq.Async package

* Add .NET SDK version

* Update lock file

* Fix formatting

* Update packages

* Update Dockerfiles

* Remove dotnet.config

* Remove Microsoft.Testing.Extensions.VSTestBridge package

* Minor revision

* Revise script permissions assignment

* Update logo

* Fix formatting

* Update warning settings

* Update .gitignore

* Fix formatting

* Fix interface access modifier

* Fix formatting

* Set to C# 14

* Revise tests workflow

* Update .NET versions to GA

* Fix formatting

* Fix formatting

* Update .NET packages

* Update other packages

* Remove redundant packages

* Downgrade Microsoft.Testing.Extensions.CodeCoverage package

* Remove IDE-specific stuff

* Update BenchmarkDotNet packages

* Update packages

* Enable retries for a trie test

* Call Result - Should Revert (#9737)

* call result change

* make constructor private

* Fix `RequestPooledTransactions` generic parameter name (#9743)

* Fix generic parameter name

* Remove `virtual` modifier

* Remove `eth_sendRawTransaction/send-blob-tx` as passing (#9745)

* Arbitrum - Separate Gas Prices (#9742)

* Separate gas prices

* add baseEffectiveGasPrice

* minor change

* renaming

* cosmetic rename

* Make it better (+additional refactors)

* fix comment

* better parenthesis for clearance

---------

Co-authored-by: lukasz.rozmej <lukasz.rozmej@gmail.com>

* Fix simulate gas defaults (#9723)

* Remove defaults

* fix npe

* Remove gas cap

* known tests

* Cap gas

* Comment

* Fix rpc tests

* Fix formatting

* Fix blockchain tests

* remove ok check

* Fixes

* Return error inside AccessList (#9748)

* Fix al

* Formatting & known tests

* Update src/Nethermind/Nethermind.JsonRpc/Modules/Eth/EthRpcModule.TransactionExecutor.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Embed Nethermind UI into its assembly (#9751)

* Update RocksDB package (#9691)

* Auto-update fast sync settings (#9756)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* fix: END 3 assertion index in GethLikeTxMemoryTracerTests (#9755)

* Update `actions/checkout` to v6 (#9754)

* Fix block number format in `WaitForBlobInclusion` (#9752)

* Update BlobSender.cs

* Update BlobSender.cs

* State related suggestions (#9651)

* Atomic op; wider try catch; rename

* Fix a test

* Wait for pruning

* Feature/blockhash cache (#9725)

* Add BlockhashCache

* Make ArrayPoolListCore generic

* fix things in BlockhashCache

* More fixes

* More changes

* Simplify cache

* More changes and tests

* simplify

* cleanup

* Add stats

Remove finalization manager and use depth for pruning
Add InterlockedEx
Fix BlockTreeBuilder to build proper chain splits

* fixes

* more fixes, old splitfrom didn't work

* Revert "more fixes, old splitfrom didn't work"

This reverts commit 7ce4d5349e37e067efe3657f4c25fc05856f9662.

* try fixing weird previous split

* Revert OfChainLength changes

* fixes

* Potential additional flat cache optimization (#9731)

Additional flat cache optimization

* Don't prefetch if not needed

* Cache hashes for current block in BlockhashProvider (#9734)

* Cache hashes for current block in BlockhashProvider

* fix TestBlockhashProvider

* Don't pass spec provider to BlockhashStore and BlockhashProvider

* Simplify stateless

* Introduce StatelessBlockhashCache

* fix

* fixes

* fix T8n

* fix Benchmarks

* Fix caching in flat cache when cancelled

* fix review issues

* fix edge case below MaxDepth caching

* fix tests

* whitespace

* Unify StatelessBlockTree with StatelessBlockhashCache

* fix whitespace

* Update src/Nethermind/Nethermind.Consensus/Stateless/StatelessBlockTree.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Ethereum.Test.Base/TestBlockhashProvider.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Blockchain.Test/BlockhashCacheTests.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix edge case when Task complete in wrong order

* remove volatile read

* fix null type

* Add dedicated lock

* Query ParentHash flat cache data, before walking the linked list

* Add more test cases

* whitespace

* whitespace

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Feature/triestore respect finalized block marker (#9588)

* Just update the block number

* Keep root

* Bring the more accurate boundary

* Bring back some test

* Log

* Fix test

* Just use shardcount

* WIP

* Basic structure

* Blocknumber change

* Trying

* More attempt

* It runs

* Some test fixed

* fix more test

* fix more test

* Slight adjustment

* Some test

* More test

* Commit file

* Merge reorg depth finalized state provider

* some unit test

* More test

* Extra assertion

* Reducing change

* Fix some test

* Change test

* Extra log

* Adjust

* Use block cache service also

* Update test

* Fix fcu

* whitespace and simulate long finality

* Update src/Nethermind/Nethermind.Trie/Pruning/CommitSetQueue.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* [WIP] Add TrieStore support for finalized block marker (#9589)

* Initial plan

* Apply code review fixes: remove unused imports, fix typos, and improve documentation

Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>

* Change back persisted block number change

* Remove unnecessary flag

* Fix test

* Reduce change

* Update src/Nethermind/Nethermind.Merge.Plugin/MergeFinalizedStateProvider.cs

Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>
Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

* Fix disk space errors on GitHub runners (#9753)

Free up disk space on GtiHub runner

* fix master build (#9769)

* Add OP Jovian fork (#9560)

* `minBaseFee` initial implementation

* Spec update

* Operator fee fix

* DA Footprint Block Limit

* Move block DA footprint calculation to `CostHelper` & add Jovian check

* Formatting

* Spec update

* Fixes & try to pass spec to parsing code

* Fixes & more tests

* More validations & tests

* DA formula fix

* Code cleanup

* Fixes and tests for DA footprint calculation

* Tests & fixes for updated base fee calculation

* Formatting

* Build fix

* Remove TODO

* Enable EIP-4844 in Optimism header-validation tests

* Simplify fee calculator tests

* Validation for DA footprint <= Gas Limit

* Tests for gas-limit validation

* Use 400 as default value for DA footprint

* Small block processing optimization

* Disable old `BlobGasUsed` validation

* Enable `BlobGasUsed` validation pre-Ecotone

* Do not calculate `ExcessBlobGas` for validation

* Additional method of getting DA Footprint Scalar, directly from block

* Take DA Footprint from block deposit tx

* PR feedback

* PR feedback

* PR feedback

* PR feedback

* Refactored header validation tests to cover all fork timestamps

* Formatting

* PR feedback

* `Valid` extensions improvements

* Update `superchain.py`

- Include Jovian timestamp

* Run `superchain.py`

* Tests update

* PR feedback

* PR feedback

* Merge fix

* PR feedback

* Delete `snax-mainnet`

* Code cleanup

---------

Co-authored-by: Lautaro Emanuel <emlautarom1@gmail.com>

* fix: remove redundant LINQ sorting and enforce ordinal key ordering (#9762)

* Remove unused SendNewCapability from protocols manager (#9764)

* Update IProtocolsManager.cs

* Update ProtocolsManager.cs

* Fix progress tracker nan (#9768)

* Fix

* Fix another

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* fix: remove unused variable in BlobSender.SendData (#9770)

* Remove unneded casts in precompiles (#9771)

* refactor: Remove duplicate genesis preallocation code (#9758)

* Update XdcGenesisBuilder.cs

* Update GenesisBuilder.cs

* Update GenesisBuilder.cs

* Update GenesisBuilder.cs

* Update XdcGenesisBuilder.cs

* Update src/Nethermind/Nethermind.Blockchain/GenesisBuilder.cs

* Apply suggestion from @LukaszRozmej

* Update XdcGenesisBuilder.cs

* Update XdcGenesisBuilder.cs

* Update XdcModule.cs

* Update XdcGenesisBuilder.cs

* Update IGenesisBuilder.cs

* Update XdcGenesisBuilder.cs

* Update IGenesisBuilder.cs

* Update XdcGenesisBuilder.cs

* Create XdcIChainSpecLoader

* Update XdcModule.cs

* Update and rename XdcIChainSpecLoader to XdcChainSpecLoader.cs

* Update XdcChainSpecLoader.cs

* Update ApiBuilder.cs

* Update XdcModule.cs

* Update ApiBuilder.cs

* Update XdcModule.cs

* Update GenesisBuilder.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Enforce span-batch non-empty and element-count limits per OP spec (#9670)

Co-authored-by: Lautaro Emanuel <31224949+emlautarom1@users.noreply.github.com>
Co-authored-by: Nikita Mescheryakov <root@nikitam.io>

* Use ReadOnlySpan for receipts rather than IReadOnlyList (#9776)

* Use ReadOnlySpan for receipts rather than IReadOnlyList

* Fix tools compile error

* Remove redundant ToArray() call in EngineModuleTests.V4 (#9777)

Update EngineModuleTests.V4.cs

* Retry flaky shutter test (#9778)

* Retry flaky shutter test

* Make shutter test parallelizable

* Propagate cancellation through DNS lookups in ENR discovery (#9747)

* Propagate cancellation through DNS lookups in ENR discovery

* Pass CancellationToken to SearchTree in EnrDiscovery

* fix

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Guard SendBlobs fund distribution against zero key count (#9763)

Update FundsDistributor.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Add Microsoft.NET.Test.Sdk for Rider (#9780)

* fix(blockchain): avoid per-node allocation (#9773)

* fix(t8n): use EIP flags instead of type checks in validator (#9775)

* EVM tool fix build (#9782)

fix build

* fix: await KZG initialization in T8nExecutor (#9772)

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* chore: remove dead zero-length key check in RocksDbExtensions.GetSpan (#9781)

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Add minimal fee per blob gas requirement (#9740)

* add min blob base fee requirement

* fix naming

* fix metric name

* fix build

* simplify and require full current fee

* add test

* adjust old test

* Update src/Nethermind/Nethermind.TxPool/ITxPoolConfig.cs

Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

* shorten flag name

* one more renaming

* fix error message

* drop FluentAssertions

---------

Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

* Feature/xdc state reader (#9732)

* state reader

* masternode voting contract

* fix

* abi json

* working load test

* test

* test

* test getCandidates

* cleanup

* format

* remove var

* format

* review comments

* remove contract address

* Fix history prune scheduling (#9677)

* Rename BackgroundTaskScheduler.ScheduleTask -> TryScheduleTask and avoid exceptions

In HistoryPruner add checks before going into lock and doing pruning.
In historyPruner make pruning task exclusive - don't schedule another before previous isn't finished.

* Remove lock from BackgroundTaskScheduler

Move CancelledToken out of generic type
Specify channel options explicitly

* change _currentlyPruning in finally

* change _currentlyPruning if failed to schedule pruning

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* More review fixes

* fix error handling in SchedulePruneHistory

* Update src/Nethermind/Nethermind.History/HistoryPruner.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.History/HistoryPruner.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Consensus/Scheduler/BackgroundTaskScheduler.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix

* comment

* small optimization

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Add test for modexp empty and zero values (#9785)

* add modexp test

* assert error

* better zero mod case

* one more case

* nitpick

* Skip creating precompile error string if no error (#9795)

* chore(sync): remove redundant await in peer refresh loop (#9792)

Update SyncPeerPool.cs

* fix: Correct NullSigner.CanSign to return false (#9788)

* Optimize CacheBenchmark empty byte allocations (#9791)

Update CacheBenchmark.cs

* fix: NodeKey.GetHashCode() violates Equals/GetHashCode contract (#9744)

* chore: remove dead IsSyncing field and its assignment (#9790)

* chore: remove dead IsSyncing field and its assignment

* Apply suggestion from @LukaszRozmej

* Simplify result creation in SyncingSubscription

Refactor SyncingSubscription logic for clarity and efficiency.

* Fix resource leak by using 'using' statement

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Move engaging NoGC out of hot path (#9799)

* Move engaging NoGC out of hot path

* AI was right

* Better naming

* chore: remove duplicate AddDatabase registrations in DbModule (#9802)

* chore: streamline nullability suppression in LruCache (#9796)

Update LruCache.cs

* Remove unused transaction hash collections in SendBlobs CLI (#9798)

Update SetupCli.cs

* Reduce storage tracking allocations (#9664)

* Reduce storage tracking allocations

* formatting

* Formatting

* Switch to new

* Less changes

* Remove thread static

* Use extension

* Fast empty path

* Use faster checks for StackPool

* Also reset skip flag

* Feedback

* Fix

* AI feedback

* formatting

* Devirtualize filter{store | manager} (#9779)

* Devirtualize filter{store | manager}

* Feedback

* Lets not get fancy

* More specific

* Feedback

* Cache masternode quorum math in VotesManager (#9794)

Update VotesManager.cs

* fix: RlpxHost.Init guard to reference RlpxHost instead of PeerManager (#9805)

* chore: remove unused block parameter (#9814)

* Remove defensive copies from SecP256k1 (#9817)

* Remove defensive copies from SecP256k1

* Remove type entirely

* Remove unneeded .ToArray()

* Max optimize

* Allow Inner Reverts for eth_gasEstimate (#9822)

* address inner revert for eth_gasEstimate

* add new error type

* fix: mismatches in error messages (#9823)

fix mismatches in error messages

* fix: avoid allocation in PutSpan by throwing immediately (#9819)

* fix: avoid allocation in PutSpan by throwing immediately

* Update RpcDb.cs

* Fix merge issue (#9824)

* Fix ColumnsDb constructor recursion and reuse resolved keys (#9818)

* Update ColumnsDb.cs

* Update ColumnsDb.cs

* Resolve Transitive dependency warnings (#9827)

* Resolve Transitive dependency warnings

* Update Directory.Packages.props

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix buyGas in simulate (#9761)

* test

* Try fix

* Try fix

* Remove flag from non rpc calls

* Fix json rpc tests

* Fix more tests

* Fix system tx processor

* Fix blockchain tests

* More fixes

* Update src/Nethermind/Nethermind.Taiko/TaikoTransactionProcessor.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix restore

* Fix small issues

* Update src/Nethermind/Nethermind.Evm/TransactionProcessing/TransactionProcessor.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* known failing tests

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Remove redundant Math.Min call in SnapServer storage guard (#9828)

Update SnapServer.cs

* Remove unnecessary pragma suppression from SortedPool events (#9830)

Update SortedPool.Events.cs

* Shrink ReadToEndAsync async machine (#9831)

* Shrink ReadToEndAsync async machine

* Update src/Nethermind/Nethermind.JsonRpc/PipeReaderExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Optimize BlockParameter parsing (#9835)

* fix: correct EOFCREATE error message (#9836)

* chore: remove unused ShouldSerialize hooks and fix nullable properties (#9820)

* chore: remove unused ShouldSerialize hooks and fix nullable properties

* remove private readonly bool _isAuRaBlock

* fix build

---------

Co-authored-by: Marcos Antonio Maceo <35319980+stdevMac@users.noreply.github.com>
Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Auto-update fast sync settings (#9840)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Update OP Superchain chains (#9841)

Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>

* fix: keep PeerPool commit loop running when no pending changes (#9839)

* chore(init): remove unused StateReader assignment in InitializeBlockchain (#9843)

Update InitializeBlockchain.cs

* Increase precision of gas price logging (#9845)

* Fast path JwtAuthentication (#9837)

* Fast path JwtAuthentication

* AI complaining

* fix: add missing string interpolation (#9851)

* fix: dispose automatic pruning triggers to stop background timers (#9847)

* fix: dispose automatic pruning triggers to stop background timers

* Update PruningTrieStateFactory.cs

* Update CompositePruningTrigger.cs

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: remove unused IHttpContextFactory resolution in StartAsync (#9857)

* fix: use ArgumentNullException for ecdsa parameter (#9858)

* Fix some spelling, add dictionary (#9850)

* Fix some spelling, add dictionary

* Fix bundle

* Apply review feedback: fix typo and simplify test string (#9863)

* Initial plan

* Apply both suggestions: fix "Since" → "Sync" typo and simplify test string

Co-authored-by: flcl42 <630501+flcl42@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: flcl42 <630501+flcl42@users.noreply.github.com>

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: flcl42 <630501+flcl42@users.noreply.github.com>

* Fail fast for missing precompile (#9862)

* Fail fast for missing precompile

* fomatting

* fix(txpool): race condition in NonceManager.TxWithNonceReceived (#9861)

* Dispose plugins when supported (#9848)

* Dispose plugins if needed

* Fix redundant allocation in IXdcHeaderStore.BulkInsert (#9829)

Update IXdcHeaderStore.cs

* perf: avoid extra allocation by iterating snapshot (#9842)

* Adjust JOC Bootnodes according to recent changes (#9869)

fix: adjust joc bootnodes

* fix leak in NettyDiscoveryBaseHandler (#9873)

* Don't cache current block cache (#9852)

* Don't cache current block cache, this makes cache usable for block production where current block hash is unknown

* refactors

* slight refactor

* more simplification

* fix

* fixes for Hash being null - block production

* fix for prefetch

* fix test

* remove redundant check

* Reduce Evm Exceptions (#9808)

* Reduce Evm Memory Exceptions

* Reduce exceptions further

* Compile issue

* AI feedback

* AI feedback

* Add test coverage for out-of-gas conditions in memory operations (#9811)

* Initial plan

* Add out-of-gas test coverage for memory operations

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Reduce casts

* Change to tryX pattern

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Bump up the version to 1.37.0-unstable (#9871)

Co-authored-by: stdevMac <stdevMac@users.noreply.github.com>

* Taiko Shasta Changes (#9709)

* initial changes

* make l1BlockHeight optional in L1Origin

* fix field name inconsistency in NMC and Geth

* undo field name change (catalyst fixed)

* shasta devnet fixes

* address review comments and fix issues

---------

Co-authored-by: Ahmad Bitar <33181301+smartprogrammer93@users.noreply.github.com>

* fix: invert post-merge difficulty validation logic in T8n tool (#9880)

* Changed default PublicKey serialization to use hash format (#9696)

* Changed default PublicKey serialization to use hash format

* Added tests for PublicKey serialization format changes

* removed comments, parsed JSON properly, fixed naming convention

* Added regression tests for PublicKey serialization changes

* removed previous combined test file

* updated regression tests to verify byte content produced by each converter

* removed linq skip and take

* removed tests that validate unsupported inputs

* ran dotnet format

---------

Co-authored-by: Stavros Vlachakis <89769224+svlachakis@users.noreply.github.com>

* Fix Jovian fork id (#9877)

* Fix Jovian fork id

* Add test

* Fix Base Mainnet test

* Formatting

---------

Co-authored-by: Lautaro Emanuel <emlautarom1@gmail.com>

* fix: tie readonly DB provider to env lifetime and clear per-scope buffers (#9883)

* Added OpcodeTracing plugin draft

* fix: remove duplicate EIP-7702 transaction counting in TxPool (#9885)

* fix: prevent EVM memory size overflow crash for extreme memory requests (#9887)

fix: prevent EVM memory size overflow crash for large memory requests

The memory validation in CheckMemoryAccessViolation was checking against
long.MaxValue, but .NET arrays are limited to int.MaxValue. When memory
requests exceeded int.MaxValue but were less than long.MaxValue, the
word-aligned size calculation would overflow when cast to int, causing
ArrayPool.Rent() to allocate an incorrectly sized array and subsequent
Array.Copy operations to crash.

This fix changes the limit from long.MaxValue to (int.MaxValue - WordSize + 1)
to ensure that after word alignment, the resulting size still fits in int.

Root cause:
- Memory size validation checked: totalSize > long.MaxValue
- But .NET arrays require: (int)Size to be valid
- Word alignment adds up to 31 bytes: Size = totalSize + (32 - totalSize % 32)
- When totalSize > int.MaxValue - 31, (int)Size overflows

Example crash scenario:
1. Contract requests 4GB (0xffffffff) memory via DELEGATECALL
2. Validation passes (4GB < long.MaxValue)
3. Word-aligned Size = 0x100000000 (exceeds int.MaxValue)
4. (int)Size = 0 (overflow)
5. ArrayPool.Rent(0) returns tiny array
6. Array.Copy crashes with "Destination array was not long enough"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>

* Auto-update fast sync settings (#9893)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* fix: map InvalidBlockRangeUpdate to BreachOfProtocol (#9891)

* Update OP Superchain chains (#9892)

Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>

* Run taiko nodes on latest version (#9899)

feat: run taiko nodes on latest version

* Fixed plugin dependencies

* Update Dockerfiles (#9909)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Disable publishing to Downloads (#9910)

* chore: remove from release the upload to the downloads page

* Delete publish-downloads.sh

---------

Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

* Fix hive getLogs (#9889)

* try fix

* Fix tests

* Try fix

* Fix

* Fix from & to

* Fix block in the future

* Fix build

* Fix range in the future

* Fix block range

* to

* Fix tests

* Fix json rpc tests

* Fix formatting

* Fix blockchain tests

* Fix suggestions

* Fix tags

* Remove address from AddressFilter

* Fix tests

* Fix address filter

* Fix suggestions

* fix: remove duplicate gRPC host validation in GrpcClient (#9922)

* Move ExecutionEnvironment to Rentable sealed class (#9916)

* Move ExecutionEnvironment to Rentable sealed class

* fixes

* convert to properties

* fix

* better

* fix Benchmarks

* comment

* Update src/Nethermind/Nethermind.Evm.Benchmark/MultipleUnsignedOperations.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Evm/EvmState.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Apply suggestion from @alexb5dh

Co-authored-by: Alex <alexb5dh@gmail.com>

* Refactor Disposing

* fixes

* Add Dispose guard

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Alex <alexb5dh@gmail.com>

* fix: align BlockHashes dictionary to use nullable Hash256 (#9900)

fix: make T8nBlockHashProvider accept non-nullable Hash256

* Only pool pure Transaction objects, not subclasses (#9884)

check:

* Auto-update fast sync settings (#9933)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Update OP Superchain chains (#9932)

Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>

* Adjust JOC testnet Bootnodes according to recent changes (#9940)

fix: adjust joc testnet bootnodes

* fix: Remove redundant BlockHeader field reassignments in StatelessExecution (#9928)

Update SetupCli.cs

* test: add Eip2565Transition check for posdao chain spec (#9920)

Add missing Eip2565Transition assertion in Can_load_posdao_with_rewriteBytecode test.

The test now verifies that Eip2565Transition is null for posdao.json since it uses 
the old modexp pricing format (divisor: 20) without modexp2565 transition.

Resolves TODO comment about modexp 2565.

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Fixes #9606: DebugTracerTests thread synchronization issue  (#9875)

Fix DebugTracerTests thread synchronization issue (#9606)

- Add vmThread.Join() calls after while loops to ensure VM threads complete
  before TearDown disposes the WorldState scope
- Add ExecuteSafe helper method to catch ThreadInterruptedException from
  aborted threads
- Add ThreadJoinTimeout constant to prevent tests from hanging

This fixes the 'IWorldState must only be used within scope' exception that
occurred when VM threads were still running during test cleanup.

* Faster protocol parsing, add Ethrex (#9935)

* Improve protocol parsing, add Ethrex

* Add comprehensive unit tests for ProtocolParser (#9936)

* Initial plan

* Add comprehensive unit tests for ProtocolParser

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Refactor hex validation tests to reduce code duplication

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Optimize RecognizeClientType with zero-allocation likelihood-ordered regex (#9943)

* Initial plan

* Optimize RecognizeClientType using compiled regex

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Address code review feedback: optimize regex ordering and group iteration

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Generate regex from enum and use FastEnum for better performance

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Add explanatory comments for regex pattern generation

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Use Regex.EnumerateMatches and ReadOnlySpan to eliminate allocations

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Simplify regex pattern by removing unnecessary named groups

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Rename to _clientTypeRegex and optimize regex order by likelihood

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Refactor to use Except for cleaner exclusion logic

Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>

* Precompiles names fix (#9944)

correct names as per https://eips.ethereum.org/EIPS/eip-2537

* Update packages (#9907)

* Fix hanging scenario if persisted node not able to be pruned (#9931)

* Fix haning scenation if persisted node not able to be pruned

* Minor comment adjustment

* Reduce warning if in commit buffer mode

* Separate wrong nonce errors (#9941)

* Separate wrong nonce errors

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Add engine_getBlobsV3 (#9942)

* Add engine_getBlobsV3

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* fix: only touch coinbase after successful transaction in state tests (#9865)

* fix: only touch coinbase after successful transaction in state tests

When a transaction fails validation (e.g., insufficient balance), the
state test runner should not modify state at all. Previously, the
coinbase account was created in InitializeTestState before transaction
execution, causing state root divergence from geth when transactions
failed validation.

This fix moves coinbase creation to after successful transaction
execution, matching geth's behavior:
- Only touch coinbase when txResult == Ok
- When validation fails, state remains unchanged from pre-state

This was a consensus bug in the test framework (not production code)
introduced in PR #9225.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update src/Nethermind/Ethereum.Test.Base/GeneralTestBase.cs

* fix: update T8nExecutor to use new InitializeTestState signature

The InitializeTestState method signature was changed to remove the
coinbase parameter. T8nExecutor already creates the coinbase account
separately (line 54), so we just need to update the call to match
the new 3-argument signature.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: only touch coinbase after successful transaction in state tests

When a transaction fails validation (e.g., insufficient balance), the
state test runner should not modify state at all. Previously, the
coinbase account was created in InitializeTestState before transaction
execution, causing state root divergence from geth when transactions
failed validation.

This fix moves coinbase creation to after successful transaction
execution, matching geth's behavior:
- Only touch coinbase when txResult == Ok
- When validation fails, state remains unchanged from pre-state

This was a consensus bug in the test framework (not production code)
introduced in PR #9225.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix: add IsLegacy flag for backward-compatible coinbase handling in state tests

Legacy tests expected coinbase to be created before transaction execution,
which was a buggy behavior baked into their expected state roots. This adds
an IsLegacy flag to preserve backward compatibility while new tests use the
correct behavior of creating coinbase only after successful tx.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* Update src/Nethermind/Ethereum.Test.Base/GeneralTestBase.cs

Co-authored-by: Alexey Osipov <me@flcl.me>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Alexey Osipov <me@flcl.me>

* Gnosis Balancer permanent changes (#9946)

* initial commit

* fork info test, tidy

* small tidy

* load fork transition

* fix test

* use real gnosis json for test

* simplify test

* start aura check rewrite by timestamp count

* reuse prague specs

* osakagnosis

* private praguegnosis

* use array for overrides internally

* formatting

---------

Co-authored-by: Marc Harvey-Hill <10379486+Marchhill@users.noreply.github.com>

* Sign release builds (#9937)

* Added realtime mode draft

* Increase default rlp collection limit to 4MB (#9957)

* Fixed realtime opcode tracing and logging

* Auto-update fast sync settings (#9964)

Co-authored-by: kamilchodola <kamilchodola@users.noreply.github.com>

* Fix/limit get proof (#9967)

* limit and deduplicate getProof

* const

* fix merge

* Fixed MaxDegreeOfParallelism for opcode tracing plugin

* feat(merkle): remove unused RootOfNull to avoid dead code and startup allocation (#9898)

* Fix/rlp decode array checks (#9968)

* Add report test cases

* Add checks to `DecodeArray` and `DecodeByteArrays`

* Remove TODOs

* Always check for `DecodeArray` and similar

* More missing checks

* fix build

* compact storage encoding fix

* more fix

* Different way of handling compact encoding of receipts

* Increase discovery tests timeout

* fix

* refactor

---------

Co-authored-by: Lautaro Emanuel <emlautarom1@gmail.com>

* fix: dispose IEraStore when EraImporter.Import fails early (#9978)

* Remove rpc from hive worflow (#9971)

fix workflow

* Code cleanup

* Elevate access for ABI decode override more easily (#9977)

Increase access for decode

* Run all tests on master (#9979)

* fix

* fix

* Remove parsing Uint256 from statics (#9980)

* perf: Remove redundant ToArray() allocation in TrieStore warning log (#9969)

* Update TrieStore.cs

* Update src/Nethermind/Nethermind.Trie/Pruning/TrieStore.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Optimise MemDb for ZK (#9952)

* feat(evm): generify VirtualMachine with policy-based gas tracking (#9846)

* refactor: Remove redundant try-catch in SszProperty.StaticLength (#9976)

* Update SszProperty.cs

* Update src/Nethermind/Nethermind.Serialization.SszGenerator/SszProperty.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* fix: correct NSubstitute argument types in AuraWithdrawalProcessorTests (#9966)

Update AuraWithdrawalProcessorTests.cs

* Auto-update fast sync settings (#9989)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Update OP Superchain chains (#9988)

Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>

* perf: avoid LINQ allocations in GetStorageRangesMessageSerializer (#9951)

* refactor: cache blob and proof counts in BlobProofsManagerV1 (#9983)

* Update BlobProofsManagerV1.cs

* Update src/Nethermind/Nethermind.Crypto/BlobProofsManagerV1.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix: replace unused mock logger with LimboTraceLogger in EnrDiscoveryTests (#9993)

Replace EnrTreeCrawler logger with LimboTraceLogger

* fix: replace empty exception with informative BlockchainException in ExtractSigners (#9986)

perf: avoid unnecessary block clone in block_to_payload_v3

Replace generic Exception with empty message in ExtractSigners method with 
BlockchainException containing descriptive error message. This aligns with 
project's exception handling patterns and improves debuggability.

* perf(tests): Remove redundant ToList() calls in PatriciaTreeBulkSetterTests (#9981)

Update PatriciaTreeBulkSetterTests.cs

* Use correct HardwareAcceleration checks for Vector (#10007)

* Use correct HardwareAcceleration checks for Vector

* Update src/Nethermind/Nethermind.Evm/CodeAnalysis/JumpDestinationAnalyzer.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Vector512

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Optimize ColumnDb MultiGet allocations (#9908)

* Update ColumnDb.cs

* Update ColumnDb.cs

* fix: correct type name in TimeoutDecoder error message (#9948)

Co-authored-by: ak88 <anders@nethermind.io>

* perf: reduce allocations in TypeExtensions (#9994)

* Update TypeExtensions.cs

* Update TypeExtensions.cs

* Update TypeExtensions.cs

* refactor(trie): remove redundant condition check in IsValidWithOneNodeLess (#9982)

* Update TrieNode.cs

* Update src/Nethermind/Nethermind.Trie/TrieNode.cs

* Update src/Nethermind/Nethermind.Trie/TrieNode.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk>

* fix: return correct count when no peer was dropped in DropWorstPeer (#10001)

* Consider type boundaries (#10000)

* Taiko Shasta Changes - II (#9998)

* taiko-geth changes

* potential fix for 'main chain predecessor cannot be found' error

* address comments & add goldentouch account filter

* Set release target commit explicitly (#10009)

* Fix/json converters exception type (#9984)

* fix: use JsonException in boolean and BigInteger converters

* fix: use JsonException in boolean and BigInteger converters

* Update src/Nethermind/Nethermind.Serialization.Json/BigIntegerConverter.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.Serialization.Json/BooleanConverter.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* fix ci

* Update BooleanConverter.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* refactor(tests): Remove unused variables in Enode exception tests (#9991)

* Update PeerManagerTests.cs

* Update PeerManagerTests.cs

* Update src/Nethermind/Nethermind.Network.Test/PeerManagerTests.cs

* Update PeerManagerTests.cs

* Update PeerManagerTests.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* test: replace Task.Delay with After() in ContractDataStoreTests (#9985)

* Update ContractDataStoreTests.cs

* Update ContractDataStoreTests.cs

* Update ContractDataStoreWithLocalDataTests.cs

* fix: delegate raw converters read to base converters (#10006)

* fix: delegate raw converters read to base converters

* fix: delegate raw converters read to base converters

* fix

* fix: remove duplicate HasSignedRecently checks in sealer clique (#10011)

* Make Nethermind UI SSE endpoint relative (#10008)

* fix: use IHttpClient from DI in MergePlugin instead of creating HttpClient directly (#9995)

* Update MergePlugin.cs

* Update DefaultHttpClient.cs

* Update src/Nethermind/Nethermind.Merge.Plugin/MergePlugin.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update MergePlugin.cs

* Update DefaultHttpClient.cs

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Validate blobs lengths (#9999)

* refactor(AuRa): remove redundant Create override (#10014)

* Feature/Worldstate backend (#9089)

* WorldState backend

Fix check failure

Add small test

Whitespace

Different setter

Slight cleanup

Whitespace

Rename to scope provider

Add code to `IWorldStateScopeProvider`. (#9291)

* Add codedb

* Add test

* Whitespace

* use span on set

Fix TestworldStateFactory build

Rename to update state root

Refactor/Nicer IWorldStateScopeProvider interface (#9375)

* Reduce interfacae surface area

* Fix build

* Fix random

* Fix randomly failing pyspec test

* Whitespace

Refactor/Slight cleanup to world state write batch API. (#9400)

Remove on account updated callback

Fix build

Feature/add back `OnAccountUpdated` (#9436)

* Add back on account updated

* Hint get

* Update src/Nethermind/Nethermind.Evm/State/IWorldStateScopeProvider.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Fix build

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

Feature/worldstate scope provider manager (#9306)

* World state manager to return scope provider

* Fix build

* Fix build

Fix selfdestruct

Fix selfdestruct not called in some case

Fix build

Whitespace

Fix build

Slight per on small contract

* Fix build

* Whitespace

* Update src/Nethermind/Nethermind.State/TrieStoreScopeProvider.cs

Co-authored-by: Marc <Marchhill@users.noreply.github.com>

* Address comment

* Make test more consistent

* Extra comment

* Fix precompile cache config

* Remove missed comment

* Address comment

---------

Co-authored-by: Marc <Marchhill@users.noreply.github.com>

* fix: use ArgumentNullException for null logManager in EthStatsClient (#10018)

Update EthStatsClient.cs

* fix: correct BlobTxMissingBlobs error message (#10015)

* fix: correct BlobTxMissingBlobs error message

* fix

* OpcodeTracing Plugin: code cleanup

* Change KzgPolynomialCommitments.BlsModulus to new instead of parse (#10032)

* Updated readme

* Fix/isStorageEmpty check does not get reflected until after commit. (#10039)

* ADd logger

* Slightly more log

* Actually fix it

* Uses a different dedicated is empty check

* Fix code formatting in WorldStateScopeOperationLogger (#10040)

* Initial plan

* Fix formatting: Add space before colon in class declaration

Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Core/Account.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/PersistentStorageProvider.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Update src/Nethermind/Nethermind.State/WorldStateScopeOperationLogger.cs

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>
Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* fix: use GaugeMetric for PeerCandidateCount (#10004)

* Fix IsTracing calculation by making it lazy (#10053)

* Auto-update fast sync settings (#10055)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* Merge package release workflows (#10049)

* Fix/get logs optimization (#9923)

* try fix

* Fix tests

* Try fix

* Fix

* Fix from & to

* Fix block in the future

* Fix build

* Fix range in the future

* Fix block range

* to

* Fix tests

* Fix json rpc tests

* Fix formatting

* Fix blockchain tests

* Fix suggestions

* Fix tags

* Remove address from AddressFilter

* Fix tests

* Fix address filter

* Optimize Filter changes

* fix

* refactor

* Apply suggestions from code review

Co-authored-by: Nikita Mescheryakov <root@nikitam.io>

---------

Co-authored-by: Nikita Meshcheriakov <root@nikitam.io>

* fix: resource cleanup in BeaconHeadersSyncFeed (#10037)

* fix: resource cleanup in BeaconHeadersSyncFeed

* remove override

* perf: avoid rlp encode-decode in simulate receipt recovery (#10021)

* perf: avoid rlp encode-decode in simulate receipt recovery

* fix

* Fix CodeQL workflow (#10056)

* Check for 0 in MOD opcode (#10061)

Check for 0 in Mod

* Keep EXP opcode in UInt256 domain (#10060)

* Keep EXP opcode in UInt256 domain

* Is bytes

* fix: DataFeed constructor null checks (#10062)

* Update schema (#10035)

* Remove MetricsController._metricTypes (#10057)

* Fixes #9577: resolve race condition in StateSyncFeedTests.Big_test (#9972)

* fix(sync): resolve race condition in StateSyncFeedTests.Big_test (#9577)

* fix(sync): Isolate block tree cache in StateSyncFeedTestsBase to fix parallel test failures

* changes

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>

* Perf/TryGetDirtyNode (#10067)

* Try get dirty child

* Appendmut set last

* Should be inside instead

* Fix tracelog

* Fix trace again

* Call prune persisted recursively on commit and on copy too (#10065)

* feat(abi): add support for fixed-size array element types (#10025)

* XDC Reward handler (#9881)

* calculator

* state reader

* masternode voting contract

* fix

* abi json

* working load test

* test

* test

* test getCandidates

* cleanup

* format

* remove var

* format

* review comments

* implement calculate rewards base flow and get signing txs

* implement rewards per signer and distribution calculations

* implement getCadidateOwner

* refactors and add comments to the code

* add block signer contract address to the configuration spec

* implement reward module tests

* implement hook for reward calculation in hotstuff pipeline

* refactor and format

* format

* fix xdc test

* wire IRewardClaculator in ConfigureContainer in XdcTestBlockchain

* address review comments and add unit test with precalculated xdc reward values

* add missing dependencies in Xdc module

* fix resolving contract addresses from spec

* fix error with WorldState after merge

* add comments for reward tests with link to original source

---------

Co-authored-by: ak88 <anders.holmbjerg@hotmail.com>
Co-authored-by: ak88 <anders@nethermind.io>

* Use baseblock for tree visitor (#10066)

* Surge: Fix Profitabilty Check Bypass (#10020)

* add potential fix

* nit: improve config description

* Skip SST file size checks when MaxOpenFiles is specified (#10002)

* Skip SST file size checks when MaxOpenFiles is specified

* Add config option, skip SST checks on MacOS if not configured otherwise

* Remove obvious comment

* Fix: Correct memory access validation in TrySaveByte for MSTORE8 operation (#9970)

* Update EvmPooledMemory.cs

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

* Update src/Nethermind/Nethermind.Evm/EvmPooledMemory.cs

---------

Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update file header templates (#10077)

* Fixed PR remarks

* Should update child if parent has empty keccak as well (#10073)

* Should update child if parent has empty keccak as well

* Combine conditions

* Improve FastHash quality (#10082)

* Improve hash quality

* formatting

* Update src/Nethermind/Nethermind.Core/Extensions/SpanExtensions.cs

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor: replace HexConvert.ToUInt256 with UInt256.Parse (#10085)

Keep HexConvert.ToUInt64 as it handles both base 10 and 16 automatically.

* fix: ensure eth_getBlockByNumber enforces canonical block retrieval (#10024)

* fix: ensure eth_getBlockByNumber enforces canonical block retrieval

* fix tests

* address comment

* apply suggestion

* Auto-update fast sync settings (#10089)

Co-authored-by: rubo <rubo@users.noreply.github.com>

* fix: correct assertion variables in Cleans_invalid_blocks_before_starting test (#10086)

Update BlockTreeTests.cs

* Drop eth66 and eth67 support, add eth69 as a default (#9938)

* Drop eth66 and eth67 support

* Fix tests

* test

* bump versions

* Fix E2ESyncTests failures when isPostMerge=false - remove eth/69 from default capabilities (#10103)

* Initial plan

* Remove eth/69 from default capabilities - added dynamically by MergePlugin

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* Fix test expecting eth/69 as highest default protocol version

Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* fix

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>

* fix(network): shutdown rlpx executor group (#10087)

* feat (gas policy): add `ConsumeCodeCopyGas` method (#10068)

* Add Address recovery from PublicKey to KeccakCache (#10003)

* Add Address recovery from PublicKey to KeccakCache

* Improve comments

* Feedback

* refactor: remove unused Destroy change type from storage provider (#10106)

* Update to UInt256 version 1.4.0 (#10107)

* Update to UInt256 version 1.4.0

* Fix some div zero

* chore: remove debug-only keccak keys from proof call storage test (#10104)

* fix: use parameter name in BloomStorage null check (#10096)

* fix: correct ExampleResponse for admin_importHistory method (#10097)

Update IEraAdminRpcModule.cs

* fix: remove redundant blockInfosDb assertions (#10099)

Update BlockTreeTests.cs

* perf: reuse SimpleConsoleLogger instance in SimpleConsoleLogManager (#10070)

Update SimpleConsoleLogManager.cs

* optimize eth_gasPrice using kth algorithm (#10100)

* optimize eth_gasPrice using kth algorithm

* fix: review nethermind

---------

Co-authored-by: weixie.cui <weixie.cui@okg.com>

* Don't queue prunes (#10112)

* Don't queue prunes

* Add delay

* Add Delay reasoning comment

* refactor: simplify Avx2 branches for UInt256 shuffles (#10111)

* refactor: simplify Avx2 branches for UInt256 shuffles

* Update EvmStack.cs

* fix(kute): prevent null label crash in Prometheus metrics reporter (#10109)

* Fix #10068 regression (#10116)

* Git/ignore claude config (#10118)

* Ignore claude config in git

* Ignore claude config in git

* perf: use cached BlockInfo variable instead of redundant array access in BlockTree (#10125)

Update BlockTree.cs

* Save space locally on builds (#10113)

* Add Directory.Build.targets with:

- Skip copying dependencies and native runtimes for library projects
- Filter native runtimes to current OS only during local builds
- Share native runtimes across projects during local builds with a shared location and junctions/symlinks

* NethermindCopyAllRuntimes -> CI

* Remove filtering native lib by os

* Move Directory.Build.targets to src/Nethermind

* Make mechanism opt-in with SlimBuild parameter

Add Directory.Build.targets to Solution Items

* SlimBuild can have any value to be enabled

* Refactor Directory.Build.targets (#10122)

---------

Co-authored-by: Ruben Buniatyan <rubo@users.noreply.github.com>

---------

Co-authored-by: Carmen Irene Cabrera Rodríguez <49727740+cicr99@users.noreply.github.com>
Co-authored-by: ak88 <anders.holmbjerg@hotmail.com>
Co-authored-by: Demuirgos <ayman.bouchareb@outlook.fr>
Co-authored-by: Ayman Bouchareb <Ayman.Bouchareb@outlook.com>
Co-authored-by: ak88 <anders@nethermind.io>
Co-authored-by: sashass1315 <sashass1315@gmail.com>
Co-authored-by: Lukasz Rozmej <lukasz.rozmej@gmail.com>
Co-authored-by: core-repository-dispatch-app[bot] <173070810+core-repository-dispatch-app[bot]@users.noreply.github.com>
Co-authored-by: rubo <rubo@users.noreply.github.com>
Co-authored-by: emlautarom1 <emlautarom1@users.noreply.github.com>
Co-authored-by: radik878 <radikpadik76@gmail.com>
Co-authored-by: Amirul Ashraf <asdacap@gmail.com>
Co-authored-by: VolodymyrBg <aqdrgg19@gmail.com>
Co-authored-by: cicr99 <kr1000a@gmail.com>
Co-authored-by: Forostovec <ilonaforostovec22@gmail.com>
Co-authored-by: phrwlk <phrwlk7@gmail.com>
Co-authored-by: Alexey Osipov <me@flcl.me>
Co-authored-by: Stavros Vlachakis <89769224+svlachakis@users.noreply.github.com>
Co-authored-by: Alex <alexb5dh@gmail.com>
Co-authored-by: Nikita Mescheryakov <root@nikitam.io>
Co-authored-by: maradini77 <140460067+maradini77@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: asdacap <1841324+asdacap@users.noreply.github.com>
Co-authored-by: Lautaro Emanuel <emlautarom1@gmail.com>
Co-authored-by: Galoretka <galoretochka@gmail.com>
Co-authored-by: 0xLogicalx <danilokuniman@gmail.com>
Co-authored-by: Merkel Tranjes <140164174+rnkrtt@users.noreply.github.com>
Co-authored-by: bobtajson <152420524+bobtajson@users.noreply.github.com>
Co-authored-by: Fibonacci747 <albertofibonacci12@gmail.com>
Co-authored-by: Lautaro Emanuel <31224949+emlautarom1@users.noreply.github.com>
Co-authored-by: Ben {chmark} Adams <thundercat@illyriad.co.uk>
Co-authored-by: anim001k <140460766+anim001k@users.noreply.github.com>
Co-authored-by: Alex Pikme <30472093+reject-i@users.noreply.github.com>
Co-authored-by: ANtutov <tutovanton26@gmail.com>
Co-authored-by: Marcin Sobczak <77129288+marcindsobczak@users.noreply.github.com>
Co-authored-by: Justin <czekotilodanilo@gmail.com>
Co-authored-by: strmfos <155266597+strmfos@users.noreply.github.com>
Co-authored-by: bigbear <155267841+aso20455@users.noreply.github.com>
Co-authored-by: oxBoni <godzilabozo@gmail.com>
Co-authored-by: Snezhkko <snezhkodaria38@gmail.com>
Co-authored-by: MozirDmitriy <dmitriymozir@gmail.com>
Co-authored-by: Diptanshu Kakwani <dipkakwani@gmail.com>
Co-authored-by: Bashmunta <georgebashmunta@gmail.com>
Co-authored-by: Marcos Antonio Maceo <35319980+stdevMac@users.noreply.github.com>
Co-authored-by: Bilog WEB3 <155262265+Bilogweb3@users.noreply.github.com>
Co-authored-by: flcl42 <630501+flcl42@users.noreply.github.com>
Co-authored-by: anhnhx131 <106639913+anhnhx131@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
Co-authored-by: stdevMac <stdevMac@users.noreply.github.com>
Co-authored-by: Ahmad Bitar <33181301+smartprogrammer93@users.noreply.github.com>
Co-authored-by: Roheemah <60899500+AbolareRoheemah@users.noreply.github.com>
Co-authored-by: Dmytro Biloshytskyi <dmitriy.biloshytskiy@gmail.com>
Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Tanishq Jasoria <jasoriatanishq@gmail.com>
Co-authored-by: Desant pivo <pivasdesant@gmail.com>
Co-authored-by: igladun <igladun@users.noreply.github.com>
Co-authored-by: LukaszRozmej <12445221+LukaszRozmej@users.noreply.github.com>
Co-authored-by: Bhargava Shastry <bshastry@ethereum.org>
Co-authored-by: Marc <Marchhill@users.noreply.github.com>
Co-authored-by: Marc Harvey-Hill <10379486+Marchhill@users.noreply.github.com>
Co-authored-by: kamilchodola <kamilchodola@users.noreply.github.com>
Co-authored-by: Damian Orzechowski <114909782+damian-orzechowski@users.noreply.github.com>
Co-authored-by: 0xFloki <signal-rooms-7n@icloud.com>
Co-authored-by: Daniil Ankushin <ankushin.daniil42@gmail.com>
Co-authored-by: alex017 <dishes-18pole@icloud.com>
Co-authored-by: Adrian <hawkadrian10@gmail.com>
Co-authored-by: marukai67 <miserly.pendant0p@icloud.com>
Co-authored-by: Gengar <creeptogengar@gmail.com>
Co-authored-by: Matthew Vauxhall <matthewvauxhall@gmail.com>
Co-authored-by: Micke <155267459+reallesee@users.noreply.github.com>
Co-authored-by: lupin17 <59-quanta.middle@icloud.com>
Co-authored-by: Fallengirl <155266340+Fallengirl@users.noreply.github.com>
Co-authored-by: forkfury <forkfury@gmail.com>
Co-authored-by: kurahin <kurahinvladikdos@gmail.com>
Co-authored-by: emmmm <155267286+eeemmmmmm@users.noreply.github.com>
Co-authored-by: yyhrnk <yaroslavnerest@gmail.com>
Co-authored-by: Pavlo Rytikov <pavlo@nethermind.io>
Co-authored-by: James Niken <155266991+dizer-ti@users.noreply.github.com>
Co-authored-by: iPLAY888 <133153661+letmehateu@users.noreply.github.com>
Co-authored-by: SashaMalysehko <sashamalysehko@gmail.com>
Co-authored-by: Ragnar <rodiondenmark@gmail.com>
Co-authored-by: cui <cuiweixie@gmail.com>
Co-authored-by: weixie.cui <weixie.cui@okg.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants