Commit dc32ed0
Sync with master (#8896)
* 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
* Don't broadcast txs while processing a block (#8820)
* Add Surge Custom Pricing RPC (#8662)
* intial code for surge pricing
* fix minor formatting issue
* add L1 RPC calls
* refactor and optimise number of RPC calls
* address review comments
* compute L2 gas usage with moving averages
* [WIP] use Taiko L1 contract to fetch batch info
* [wip] add new test for moving average computation
* fix test failures & improve logging
* fix build issues with latest master
* address comments
* TaikoInboxAddress is set to null by default
* fix
* address comments
* minor format fix
* filter poolContent by basefee
* make live test as explicit
* remove redundant taiko inbox address
* add sharing percentage adjustment to base fee
---------
Co-authored-by: Ahmad Bitar <[email protected]>
Co-authored-by: Ahmad Bitar <[email protected]>
* Fix the use of VirtualMachineBase in EvmInstructions according to 8756
* Fix formatting
* Only create Spec once per block (#8855)
* Only create Spec once per block
* Update spec
* better spec setting
* spec
* Use spec
* mocks
* mocks
* mocks
* Less spec
* Less spec
* Tidy up
* Less conversions
* Go through cache
* Less conversions
* readonly struct
* Less spec in receipts
* Spec routing
* Allow spec override for Aura
* Less calls
* Don't create different system spec if nothing changes
* Remove lookup in prewarmer
* Skip spec lookup for BlockHash
* Pass spec to receipts
* Prewarming
* Set default pruning boundary to 128 (#8863)
* Set default pruning boundary to 128
* Update values
* Optimize opcodes (#8864)
* Optimize InstructionDup
* Optimize stack opcodes
* Test fix
* Code size
* Rename to code
* Refactor/Slight reduction in duplicated block producer code (#8865)
* Unified header generation
* Use flags
* Remove prepare empty block
* Fix test
* Slight cleanup
* Slight cleanup
* Try to reduce change
* None flags
* Whitespace
* Remove comment
* Validate parenthash is same as given parent (#8840)
Take into account disconnected beacon chain
* Configure Volta Zurich hard fork (#8851)
* Replace Nethermind.Gmp with Nethermind.GmpBindings (#8799)
* Add BuilderNet to highlighted log brands (#8870)
* Json serializing doubles - decimal part optional for round numbers (#8873)
* When json serializing doubles make decimal part optional for round numbers
* adjust tests
* Optimise OpOrigin (#8867)
* Optimize JwtAuthentication.Authenticate (#8875)
* Optimize JwtAuthentication.Authenticate
* Feedback
* Reduce log noise: Move high volume logs from Debug to Trace (#8789)
* Move high volume logs from Debug to Trace
* Apply suggestions from code review
Co-authored-by: Lukasz Rozmej <[email protected]>
* Switch some back to debug
---------
Co-authored-by: Lukasz Rozmej <[email protected]>
* Add taikoAuth_setHeadL1Origin, taikoAuth_updateL1Origin, BuildPayloadArgsId (#8874)
* Add taikoAuth_setHeadL1Origin, taikoAuth_updateL1Origin, BuildPayloadArgsId
* Fix formatting
* Fix tests compilation
* Fix encoding
* Update Nethermind.GmpBindings package (#8876)
* Refactor/deduplicate block producer env (#8871)
* To IBlockProducerEnv
* Fix aura
* Optimism
* Fix test
* Rename back to block producer env
* Fix build
* Slight cleanup
* Remove unused class
* Whitespace
* Update src/Nethermind/Nethermind.Merge.Plugin.Test/BaseEngineModuleTests.cs
Co-authored-by: Lukasz Rozmej <[email protected]>
---------
Co-authored-by: Lukasz Rozmej <[email protected]>
* Reduce use of InitializeNetworkProtocol and review step dependencies (#8859)
* Add step
* Nicer log
* Minor tweak
* Slight tweak
* Analytics plugin
* Hive
* Slight cleanup
* UPnP
* Whitespace
* Move analytics steps ahead
* Move some more steps ahead
* Move review blocktree ahead
* Move start monitoring ahead
* Era step and eth stats step
* Fix build
* Fix test
* Remove unnecessary field
* Update src/Nethermind/Nethermind.Init/Steps/EthereumStepsManager.cs
Co-authored-by: Lukasz Rozmej <[email protected]>
* Update src/Nethermind/Nethermind.UPnP.Plugin/UPnPStep.cs
Co-authored-by: Lukasz Rozmej <[email protected]>
* Remove init
* Fix build
---------
Co-authored-by: Lukasz Rozmej <[email protected]>
* Trim JsonRpc Webhost for lower latency (#8879)
Trim JsonRpc Webhost
Co-authored-by: Copilot <[email protected]>
* Fix CPU compatibility issues (#8882)
* Auto-update fast sync settings (#8881)
Co-authored-by: rubo <[email protected]>
* Log chainId disconnect as trace (#8877)
* Test/Call block producer directly in test (#8885)
* Call block producer directly
* Reduce change
* Further isolate overridable env (#8806)
* Slightly more reliable test
* Isolate overridable env even further
* Unit test
* Minor style change
* Slightly reduce code
* Whitespace
* Slight cleanup
* Fix build
* Remove unnecessary code
* Combine scope and component
* Fix build
* Optimize BlockForRpc for eth_getBlockByNumber (#8883)
* Add Surge Hoodi Config in Runner (#8890)
* add surge-hoodi config in Runner
* Apply suggestions from code review
The local git doesn't track the config files, need to change from GUI.
Co-authored-by: Ahmad Bitar <[email protected]>
---------
Co-authored-by: Ahmad Bitar <[email protected]>
* Update Volta bootnode (#8888)
* Fix Surge Hoodi Genesis Hash in Config (#8892)
fix surge-hoodi genesis hash
* Fix after merge
---------
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]>
Co-authored-by: Diptanshu Kakwani <[email protected]>1 parent dc00b97 commit dc32ed0
File tree
281 files changed
+4170
-2574
lines changed- src/Nethermind
- Chains
- Ethereum.Test.Base
- Nethermind.Analytics
- Nethermind.Api
- Nethermind.AuRa.Test
- Contract
- Reward
- Transactions
- Validators
- Nethermind.Blockchain.Test
- Validators
- Nethermind.Blockchain
- Blocks
- Contracts
- Receipts
- Spec
- Nethermind.Consensus.AuRa
- InitializationSteps
- Transactions
- Nethermind.Consensus.Clique
- Nethermind.Consensus.Ethash
- Nethermind.Consensus.Test/Scheduler
- Nethermind.Consensus
- Messages
- Processing
- Producers
- Tracing
- Validators
- Nethermind.Core.Test
- Blockchain
- Modules
- Nethermind.Core
- Authentication
- Extensions
- Specs
- Nethermind.Db
- Nethermind.EthStats
- Integrations
- Nethermind.Evm.Benchmark
- Nethermind.Evm.Test
- OverridableEnv
- Nethermind.Evm
- CodeAnalysis
- EvmObjectFormat
- Instructions
- OverridableEnv
- Precompiles
- TransactionProcessing
- Nethermind.ExternalSigner.Plugin
- Nethermind.Facade
- Eth
- Filters
- Find
- Simulate
- Nethermind.Flashbots/Handlers
- Nethermind.Hive.Test
- Nethermind.Hive
- Nethermind.Init.Snapshot
- Nethermind.Init
- Modules
- Steps
- Nethermind.JsonRpc.Test/Modules
- Eth
- Nethermind.JsonRpc
- Modules
- DebugModule
- Eth
- GasPrice
- Trace
- Nethermind.Merge.AuRa.Test
- Nethermind.Merge.AuRa
- Nethermind.Merge.Plugin.Test
- Synchronization
- Nethermind.Merge.Plugin
- BlockProduction
- Boost
- Synchronization
- Nethermind.Monitoring
- Nethermind.Network
- P2P
- Subprotocols/Eth
- V62/Messages
- V63/Messages
- Nethermind.Optimism.Test
- Nethermind.Optimism
- Rpc
- Nethermind.Runner.Test
- Ethereum
- Steps
- Migrations
- Nethermind.Runner
- Ethereum
- Modules
- Steps
- JsonRpc
- configs
- Nethermind.Serialization.Json
- Nethermind.Serialization.Rlp
- Nethermind.Shutter
- Nethermind.Specs.Test
- Nethermind.Specs
- ChainSpecStyle
- Nethermind.State
- Proofs
- Nethermind.Synchronization/Blocks
- Nethermind.Taiko.Test
- Nethermind.Taiko
- BlockTransactionExecutors
- Config
- Rpc
- TaikoSpec
- Nethermind.TxPool
- Collections
- Nethermind.UPnP.Plugin
- tools/Evm/T8n
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
281 files changed
+4170
-2574
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
57 | | - | |
| 57 | + | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| |||
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| 6 | + | |
6 | 7 | | |
7 | 8 | | |
8 | 9 | | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
12 | | - | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
13 | 17 | | |
14 | 18 | | |
15 | 19 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | 5 | | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
7 | 9 | | |
8 | 10 | | |
| 11 | + | |
| 12 | + | |
9 | 13 | | |
10 | 14 | | |
11 | | - | |
| 15 | + | |
12 | 16 | | |
13 | 17 | | |
14 | 18 | | |
15 | 19 | | |
16 | 20 | | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
26 | 25 | | |
27 | 26 | | |
28 | 27 | | |
| |||
32 | 31 | | |
33 | 32 | | |
34 | 33 | | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
74 | 37 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
81 | 41 | | |
82 | | - | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
83 | 46 | | |
84 | | - | |
85 | | - | |
| 47 | + | |
| 48 | + | |
86 | 49 | | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
96 | 53 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
79 | 79 | | |
80 | 80 | | |
81 | 81 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | 82 | | |
87 | 83 | | |
88 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
5 | 4 | | |
6 | 5 | | |
7 | | - | |
8 | | - | |
9 | 6 | | |
10 | 7 | | |
11 | | - | |
12 | 8 | | |
13 | 9 | | |
14 | 10 | | |
15 | 11 | | |
16 | | - | |
17 | 12 | | |
18 | 13 | | |
19 | 14 | | |
| |||
22 | 17 | | |
23 | 18 | | |
24 | 19 | | |
25 | | - | |
26 | 20 | | |
27 | 21 | | |
28 | 22 | | |
29 | 23 | | |
30 | 24 | | |
31 | 25 | | |
32 | | - | |
33 | 26 | | |
34 | 27 | | |
35 | 28 | | |
| |||
41 | 34 | | |
42 | 35 | | |
43 | 36 | | |
44 | | - | |
45 | 37 | | |
46 | 38 | | |
47 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
23 | 21 | | |
24 | 22 | | |
25 | 23 | | |
26 | 24 | | |
27 | 25 | | |
28 | 26 | | |
29 | | - | |
30 | | - | |
31 | 27 | | |
32 | 28 | | |
33 | 29 | | |
| |||
44 | 40 | | |
45 | 41 | | |
46 | 42 | | |
47 | | - | |
48 | 43 | | |
49 | 44 | | |
50 | 45 | | |
| |||
96 | 91 | | |
97 | 92 | | |
98 | 93 | | |
99 | | - | |
100 | 94 | | |
101 | 95 | | |
102 | 96 | | |
| |||
148 | 142 | | |
149 | 143 | | |
150 | 144 | | |
151 | | - | |
152 | | - | |
153 | 145 | | |
154 | 146 | | |
155 | 147 | | |
156 | 148 | | |
157 | 149 | | |
158 | 150 | | |
159 | | - | |
160 | 151 | | |
161 | 152 | | |
162 | 153 | | |
| |||
168 | 159 | | |
169 | 160 | | |
170 | 161 | | |
171 | | - | |
172 | 162 | | |
173 | 163 | | |
174 | 164 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
0 commit comments