Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/Era1 import/export #6547

Open
wants to merge 293 commits into
base: master
Choose a base branch
from
Open

Feature/Era1 import/export #6547

wants to merge 293 commits into from

Conversation

ak88
Copy link
Contributor

@ak88 ak88 commented Jan 16, 2024

Includes #7665 #7680

Introduces a new archive format called Era1, which is based on the Era spec made by nimbus, and this proposal from arnetheduck.

The purpose of Era1 is to provide the same functionality for EL, that Era provides for the CL. An easily verifiable and shareable format for pre-merge historic EL data, which is considered a prerequisite for eip-4444 . Era1 only concerns pre-merge data, since post-merge EL payload is contained in the beacon chain.

In the long term the idea is to distribute historic data through the portal network.

Underneath Era1 is based on e2store which is a simple type-length-value scheme.

Specification

An Era1 archive can be expressed like so

   era1 := Version | block-tuple* | other-entries* | Accumulator | BlockIndex
   block-tuple :=  CompressedHeader | CompressedBody | CompressedReceipts | TotalDifficulty
   block-index := starting-number | index | index | index ... | count

Headers, bodies and receipts are compressed using the snappy framing format.
Additionally each file contains a block index for fast lookup, and an Epoch accumulator for verification.

The epoch accumulator can be used to verify the entire archive with accumulators from a trusted source. Additionally it allows a node to download a header with a merkle-proof, that proves it belongs to a certain epoch.

The Epoch accumulator is defined in the portal network spec here.

Behaviour

  • Two operation is added, import and export can be invoked via rpc or cli.

    • --Era.ImportDirectory "something" --Era.From 0 --Era.To 0 --Era.TrustedAccumulatorFile "somefile"
      • From, To and TrustedAccumulatorFile is optional. Will import everything when range is set to 0. Will trust the era directory if TrustedAccumulatorFile is not specified.
      • RPC is admin_importHistory.
    • --Era.ExportDirectory "something" --Era.From 0 --Era.To 0
      • From, To is optional. Will export everything when set to 0.
      • accumulators.txt and checksums.txt is always created.
      • RPC is admin_exportHistory.
  • For simpliciy, CLI will block the application from starting until it is completed. RPC does not block but only one import/export can run at the same time.

  • During import, block range before head will be inserted in parallel like old bodies, and after head will be "suggested" like forward sync. So it will process new imported block.

    • It will not complete until the blocks are processed, and will pause adding if the processing queue reaches 2000 block.
    • An exception to this is if fastsync is enabled and the head is 0, in which case, it will only insert blocks like old bodies.
    • Accumulator and content is always verified/checksumed, along with IBlockValidator.
  • During export, it export the range in parallel, each era file having its own task.

Types of changes

What types of changes does your code introduce?

  • New feature (a non-breaking change that adds functionality)

Testing

Requires testing

  • Yes

If yes, did you write tests?

  • Yes

Documentation

Requires documentation update

  • Yes

Requires explanation in Release Notes

  • Yes

ak88 added 30 commits November 9, 2023 13:46
commit e4bbfed2577d4189637c86a92e6d2848820701fa
Author: Anders Holmbjerg Kristiansen <[email protected]>
Date:   Thu Nov 9 22:57:06 2023 +0100

    load bock index

commit 9e65cd99544d97610dd96fe5fd406e40be792455
Author: Anders Holmbjerg Kristiansen <[email protected]>
Date:   Thu Nov 9 22:05:48 2023 +0100

    small change

commit 8d207c6a7fc0e55f375fd4f169d04f0fa5ac85f7
Author: Anders Holmbjerg Kristiansen <[email protected]>
Date:   Thu Nov 9 21:43:37 2023 +0100

    load whole index

commit 126cc0c4ad42dae97a9fdf3951c3e670b71ad2b3
Author: Anders Holmbjerg Kristiansen <[email protected]>
Date:   Thu Nov 9 16:37:38 2023 +0100

    small fix
commit f601ede
Author: Ben Adams <[email protected]>
Date:   Fri Dec 29 05:11:17 2023 +0000

    Make CappedArray readonly (#6434)

commit 075365a
Author: Ben Adams <[email protected]>
Date:   Thu Dec 28 23:08:43 2023 +0000

    Reduce lock contention (#6417)

    * Reduce TxPool lock contention

    * Reduce lock contention with added spice

    * Use McsLock for LruCache

    * Whitespace

    * Calculate hashes in parallel

    * Name clash with extension and invalid round trip check

    * Add tests

    * Fix

    * Use monitor signalling to wake up sleeping threads

    * Additional comments

    * throttle db read/writes

    * Less contention on the priority lock

    * Whitespace

    * Boost forkchoice

commit d8debc6
Author: Lautaro Emanuel <[email protected]>
Date:   Thu Dec 28 16:37:17 2023 -0300

    Fix node restart on `gnosis-cancun` (#6423)

    * first draft

    * add more things

    * fix metric

    * fix

    * add tests

    * add serializers and tests

    * simplification

    * adjust network and rpc tests

    * post-merge fixes

    * enable eth68

    * adjust tests

    * fix

    * Use blob gas instead of count

    * Shuffle 4844 constants, add GetMaxBlobsPerBlock

    * Replace `Keccak` with `Hash256`

    * fix PeerInfoExtensions

    * fix StateSyncDownloader

    * fix GetNodeDataTrieNodeRecovery

    * improve switching capabilities

    * `WasProcessed = true` for Genesis `BlockInfo`

    * Add tests

    ---------

    Co-authored-by: Marcin Sobczak <[email protected]>
    Co-authored-by: Ruben Buniatyan <[email protected]>
    Co-authored-by: Alexey Osipov <[email protected]>

commit 2a66d41
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 22:22:28 2023 +0800

    Fix metric not working (#6432)

commit c81d577
Author: Marek Moraczyński <[email protected]>
Date:   Thu Dec 28 14:49:34 2023 +0100

    Fix TotalDifficulty for post-merge networks in genesis (#6407)

    * Fix TotalDifficulty for post-merge devnets

    * Fix whitespaces

    * test fixes

commit dd613af
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 28 14:46:09 2023 +0100

    Update configs tests, add FastSyncCatchUpHeightDelta for holesky (#6431)

    * adjust config tests

    * add high FastSyncCatchUpHeightDelta for holesky

    * fix one more test

commit fe807bb
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 28 11:54:35 2023 +0100

    Enable blob txs support in goerli configs (#6430)

    * enable blob support for goerli

    * add config test

commit 2402d5a
Author: Lukasz Rozmej <[email protected]>
Date:   Thu Dec 28 11:40:47 2023 +0100

    fix memory guard and slice (#6396)

    * fix memory guard and slice

    * Trim or pad variable length bytes (as Geth does)

    * fix ArgumentException

    * whitespace

commit ada8cc9
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 17:39:11 2023 +0800

    Reimplement KestrelMetricServer (#6429)

commit be00812
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 17:13:06 2023 +0800

    Feature/exit on blocknumber (#6428)

    * Exit on block number

    * Some minor log

commit 2ad33cc
Author: Ahmad Bitar <[email protected]>
Date:   Thu Dec 28 11:45:40 2023 +0300

    [Cancun]{Spec} Goerli config and fix for `ChainSpecBasedSpecProvider` (#6409)

    * init

    * format

    * format

    * Empty-Commit

    * make tests granular

    * Remove timestamp consecutive block transition. Keep first timestamp transition past block.

    * change approach to test fix

    * fixes

    * fix future fork info

    * Fully separate block forks from timtestamp ones (#6419)

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>
    Co-authored-by: MarekM25 <[email protected]>
    Co-authored-by: Alexey <[email protected]>

commit 0ad72e9
Author: Ben Adams <[email protected]>
Date:   Wed Dec 27 16:39:14 2023 +0000

    Don't use exceptions for flow control during sync (#6425)

    * Don't use exceptions for flow control during sync

    * Fix header caching

    * Fix time reporting

    * Better progress time

commit 7e6c340
Author: Ben Adams <[email protected]>
Date:   Wed Dec 27 09:39:01 2023 +0000

    Update Chain size test (#6426)

commit 8fa3263
Author: Marcin Sobczak <[email protected]>
Date:   Wed Dec 27 10:26:37 2023 +0100

    Blob txs reorgs (#6254)

    * add column for processed txs

    * add feature of returning keys only

    * adjust BlobTxStorage

    * cosmetics

    * add logic for storing processed blob txs and removing finalized

    * rename

    * fix

    * add tests

    * cosmetics

    * add sender recovery for reorganized blob txs

    * requested change

    * one more place

    * postmerge fix

    * fix saving of processed blob txs

    * optimize saving processed txs

    * readd blob support config

    * fix whitespace

    * fix test

    * fix tests parallelism?

    * add more logs

    * fix blob txs metric

    * refactor BlobTxStorage

    * optimize collecting blob txs from processed block

    * Create IBlobTxStorage and separate blob specific methods from ITxStorage

    * use batch when cleaning processed txs db

    * fix

    * fix file encoding

    * fix init when blob support or reorgs disabled

    * fix signing test txs

    * add regression test

    * fix tests

    * one more regression test

    * post-merge fix

    * add test for readding reorganized blob txs

    * improve test

    * one more check in test

    * Remove unnecessary list

    Sleep -> Task in test

    * cosmetic

    * compress 3 bool flags to 1 enum

    * fix file encoding

    * fix whitespaces

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit f3ed968
Author: Lautaro Emanuel <[email protected]>
Date:   Tue Dec 26 11:09:44 2023 -0300

    Upgrade Kute (#6366)

    * Introduce filter limits

    - Filters can include optional limits

    * Report progress at the start

    - Fixes progress not updating

    * Initial response validator

    - Verifies that the response does not contain an 'error' field

    * Include more examples of filters and limits

    * Perform validation outside time measurement

    * Add 'TracerValidator'

    - Responses can be stored into a new file

    * Document 'TracerValidator'

    - Disabled by default
    - Response tracing is ignored in dry mode

    * Make config help text more consistent

    * Capitalize

    * Change name of tracing to verbose

    * Update README.md

    * Use `-r|--responses` to store responses

    * Invert condition

    - Append if file exists
    - Create one if not

    * Make 'IJsonRpcValidator' take also request into consideration

    * Validate 'NewPayload' responses using custom strategy

    - 'TracerValidator' is no longer a decorator

    * Separate 'ResponseTracer' from Validator

    - Tracer should be independent
    - Add File and Null tracers
    - Simplify services setup

    * Validate and trace batch responses

    * Add TickSucceeded

    * Add temp sampleSize

    * Tick succeeded on batches too

    * Use 'CompleteReservoir' for sampling

    - Removes need for hack/magic numbers

    * Remove whitespace

    * Remove `IAuth` from `NullJsonRpcSubmitter`

    ---------

    Co-authored-by: Kamil Chodoła <[email protected]>
    Co-authored-by: Kamil Chodoła <[email protected]>

commit 1df2cf4
Author: Ben Adams <[email protected]>
Date:   Tue Dec 26 12:01:45 2023 +0000

    Remove duplicate calls to FindHeader in eth_getLogs (#6421)

    * Remove duplicate calls to FindHeader in eth_getLogs

    * Check cancellation token

    * Fix tests due to params change

commit 3fa5ba5
Author: Ben Adams <[email protected]>
Date:   Tue Dec 26 08:50:53 2023 +0000

    Remove Duplicate call to TryGetPendingTransaction in RPC (#6420)

commit 02221a9
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Dec 25 12:58:27 2023 +0100

    Updating Fast Sync config files (#6416)

    Co-authored-by: LukaszRozmej <[email protected]>

commit 716a791
Author: Amirul Ashraf <[email protected]>
Date:   Mon Dec 25 07:40:00 2023 +0800

    Fix double write during full pruning (#6415)

    * Fix double write during full pruning

    * Missed a null condition

commit 1c0ce55
Author: Ben Adams <[email protected]>
Date:   Sun Dec 24 15:26:38 2023 +0000

    RateLimiter: Remove unneeded async statemachine (#6418)

    * RateLimiter: Remove unneeded async statemachine

    * Fix test

commit 3bd89b3
Author: Ruben Buniatyan <[email protected]>
Date:   Sat Dec 23 01:37:38 2023 +0100

    Fix POSDAO tests workflow (#6414)

commit aa6800c
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 10:53:34 2023 +0000

    Fix unbounded memory growth in DoubleArrayConverter (#6412)

    * Fix unbounded memory growth in DoubleArrayConverter

    * Whitespace

commit bb1840f
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 02:58:40 2023 +0000

    Throw less expensive exceptions from Evm (#6406)

    * Reduce Evm eceptions

    * Less exceptions

    * Less exceptions

    * Whitespace

    * Remove signed benchmark

    * Moar

commit b86383f
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 00:20:27 2023 +0000

    Increase regex cache size (#6408)

commit 90416e5
Author: Ruben Buniatyan <[email protected]>
Date:   Thu Dec 21 23:57:12 2023 +0100

    Remove Nethermind launcher build (#6404)

commit 536e2f7
Author: Ruben Buniatyan <[email protected]>
Date:   Thu Dec 21 21:08:48 2023 +0100

    Revise and improve diagnostics Dockerfile (#6398)

commit 76c73a1
Author: Ayman Bouchareb <[email protected]>
Date:   Thu Dec 21 14:09:54 2023 +0100

    Add new RPC methods debug_getRawBlock, debug_getRawReceipts, debug_getRawHeader, debug_getRawTransaction (#6368)

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix develop branch

    * Exit early on error (#4220)

    Exit early on error in steps except for step with "mustInitialize" set to false.

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix develop branch

    * Exit early on error (#4220)

    Exit early on error in steps except for step with "mustInitialize" set to false.

    * Changes to BlockForRPC class : Ignored Author field in JsonDeserialization

    * Changes to TransactionForRPC class : Ignored 'data' field in JsonDeserialization if null or empty, and Assigned ChainId from Signature.ChainId if tx.ChainId is null

    * Changes to [DebugBridge, IDebugBridge] files : Added utility functions to get Transactions and Receipts per block

    * Changes to [DebugRpcModule, IDebugRpcModule] files : Added missing debug Functions [getRawBlock, getRawBlockHeader, getRawReceipts, getRawTransaction]

    * Changes to TransactionForRPC class : Ignored 'data' field in JsonDeserialization if null or empty, and Assigned ChainId from Signature.ChainId if tx.ChainId is null

    * Changes to ProofConverter class : stripped leading zeros from value field, and stripped leading zeros while keeping lenght even in key

    * Changes to [DebugRpcModule, IDebugRpcModule] files : new Debug functions only accept Keccak inputs

    * Changes to [DebugRpcModule, IDebugRpcModule] files : fix getRawReceipts

    * Changes to [Rlp, ReceiptStorageDecoder] files : added parameterless constructor to RSD, and added a selector method to decorder in RLP

    * Changes to [ReceiptMessageDecoder] files : added IRlpObjectDecoder interface to RMD

    * Changes to [Rlp] files : changed Decoder selection strategy to depend on custom attribute

    * Changes to [DebugRpcModule] files : added custom RlpBehaviour to Rlp.Encode in debug_getRawReceipts

    * Changes to [EthRpcModule.cs] files : deactivated optimization for eth_createaAccessList

    * fix merge issues

    * fix failing tests

    * fixed ws
    removed added file

    * fix merge issue

    * revert script changes

    * remove non related changes from PR

    ---------

    Co-authored-by: smartprogrammer93 <[email protected]>
    Co-authored-by: Ruben Buniatyan <[email protected]>
    Co-authored-by: Alexey <[email protected]>
    Co-authored-by: DCeleda <[email protected]>
    Co-authored-by: Amirul Ashraf <[email protected]>

commit 5ac809f
Author: Kamil Chodoła <[email protected]>
Date:   Wed Dec 20 12:26:20 2023 +0100

    Add extra docker compose pull to ensure latest image (#6400)

    * Add extra docker compose pull to ensure latest image

    * Revert back to sedge run command

commit 0415bcf
Author: Marcin Sobczak <[email protected]>
Date:   Wed Dec 20 09:45:11 2023 +0100

    Fix signing transactions in tests (#6397)

    * fix signing test txs

    * add regression test

    * fix tests

    * one more regression test

commit 7f62918
Author: Marek Moraczyński <[email protected]>
Date:   Tue Dec 19 22:55:37 2023 +0100

    Add PivotUpdator tests (#6399)

    * Add PivotUpdater tests, cosmetic rename

    * whitespaces

    * revert class name change

commit 7ef0b6b
Author: Ruben Buniatyan <[email protected]>
Date:   Tue Dec 19 17:22:02 2023 +0100

    Revise and update workflows (#6388)

commit f15eedc
Author: Lukasz Rozmej <[email protected]>
Date:   Tue Dec 19 13:59:30 2023 +0100

    make ParityTraceActionFromReplayJsonConverter recursive (#6394)

    * make ParityTraceActionFromReplayJsonConverter recursive

    * Add test

commit 13b85a3
Author: Amirul Ashraf <[email protected]>
Date:   Tue Dec 19 12:09:20 2023 +0800

    Refactor/minor worldstate cleanup (#6385)

    * Remove address by storage

    * Make it clear what it it used for serving by hash

    * Fix test

    * TrieNodeRlpStore

commit 482bc43
Author: Ruben Buniatyan <[email protected]>
Date:   Mon Dec 18 22:45:08 2023 +0100

    Fix package path (#6389)

commit 18e37da
Author: Alexey <[email protected]>
Date:   Tue Dec 19 00:31:18 2023 +0300

    Properly activate timestamp fork (#6386)

    * Activate timestamp fork even if block matches block only fork

    * Remove duplication

commit 97fb56c
Author: ak88 <[email protected]>
Date:   Mon Dec 18 17:03:01 2023 +0100

    holesky networkId -> name (#6370)

commit 5d5dda6
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Dec 17 22:41:51 2023 +0100

    Updating Fast Sync config files (#6383)

    Co-authored-by: LukaszRozmej <[email protected]>

commit 355e3fe
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 12:00:32 2023 +0000

    Use leaveOpen: false on StreamPipeReaderOptions (#6379)

commit b8b0a8e
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 11:39:26 2023 +0000

    Make methods static and/or readonly (and others) (#6376)

    * Make methods static and/or readonly

    * Hashtable Contains+Add -> Add

    * Hashtable Contains+Remove -> Remove

    * Span Fill(0) -> Clear()

    * Fix Ethereum tests

    * Whitespace

    * Fix

    * Fix benchmarks

    * Remove unneeded methods

commit 9bed546
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 11:38:59 2023 +0000

    Use RecyclableMemoryStream for MemoryStreams (#6371)

    * Use RecyclableMemoryStream for MemoryStreams

    * Use regular MemoryStream for recorder

    * leaveOpen: true

    * Use for recorder also

commit bce3244
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 20:12:27 2023 +0000

    Apply max responseBodySize correctly (#6372)

    * Apply max responseBodySize correctly

    * Fix log

commit 36c1171
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 15:02:18 2023 +0000

    Reduce ResettableDictionary lookups (#6373)

commit f62468e
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 12:23:12 2023 +0000

    Use TryGetValue to halve Dictionary lookups (#6352)

    * Use TryGetValue to halve Dictionary lookups

    * fixes

    * Use CollectionsMarshal.GetValueRefOrAddDefault when appropriate

    * Re add comment

    * Missed one

    * Fix weird check

commit 2749c16
Author: Jorge Mederos <[email protected]>
Date:   Thu Dec 14 12:58:33 2023 +0100

    Fix / Add OP configs (#6364)

    * Fix DisableGCOnNewPayload for op-goerli

    * Add archive configs for all op chains

    * Sepolia & goerli-config

    * Add rest

    * Change BaseDBPath and LogFileName for archive config

    * Add base-sepolia

    ---------

    Co-authored-by: Nikita Mescheryakov <[email protected]>

commit 82afd0f
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 14 09:21:10 2023 +0100

    Broadcast local txs only if MaxFeePerGas is equal at least 70% of current base fee (#6350)

    * limit initial broadcast

    * add BaseFeeThreshold to ChainHeadInfoProvider

    * simplify broadcaster

    * add simple test

    * make BaseFeeThreshold configurable in TxPoolConfig

    * remove from ChainHeadInfoProvider

    * more tests

    * cosmetic

    * cosmetic

    * fix posdao tests

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

    Co-authored-by: Ruben Buniatyan <[email protected]>

    ---------

    Co-authored-by: Ruben Buniatyan <[email protected]>

commit 1bbd8b2
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 01:56:46 2023 +0000

    NewPayloadV3 required fields json deserialization (#6362)

    * Hive fixes

    * invalid params

    * Wrong place

    * Only return for engine_newPayloadV3

    * Make ExecutionPayloadV3.BlobGasUsed and ExcessBlobGas required

    * small cleanup

    * overload instead of override

    * Revert "overload instead of override"

    This reverts commit 27c3686.

    * Revert "Revert "overload instead of override""

    This reverts commit ab921f9.

    * Revert "Revert "Revert "overload instead of override"""

    This reverts commit 782200e.

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit 33528df
Author: Ruben Buniatyan <[email protected]>
Date:   Wed Dec 13 21:23:17 2023 +0100

    Revise docs generation (#6361)

commit dd88db6
Author: Ben Adams <[email protected]>
Date:   Wed Dec 13 18:08:46 2023 +0000

    Serialize Json direct to Http PipeWriter (#6369)

    * Serialize Json direct to Http PipeWriter

    * Whitespace

commit 7a768f7
Author: Pioua <[email protected]>
Date:   Wed Dec 13 14:42:33 2023 +0100

    chore(src/Nethermind): typo fix (#6363)

    * typo fix

    * typo fix

    * typo fix

    * typo fix

commit af04899
Author: yanziseeker <[email protected]>
Date:   Wed Dec 13 21:42:19 2023 +0800

    fix: typos (#6360)

commit 0a3a694
Author: Lukasz Rozmej <[email protected]>
Date:   Tue Dec 12 15:05:53 2023 +0100

    Skip signature only for TxType.DepositTx (#6349)

    Co-authored-by: Nikita Mescheryakov <[email protected]>

commit 7cc8358
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:06:00 2023 +0000

    Make fields readonly (#6356)

commit 2af3d8f
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:05:53 2023 +0000

    Use length checks rather than .Any() (#6357)

commit 9df511b
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:05:37 2023 +0000

    Simplify null checks (#6355)

commit 6744d21
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 03:04:55 2023 +0000

    Use runtime throw helpers (#6348)

commit 1040052
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 21:31:32 2023 +0000

    Fix excessive timer allocation in rate limiter (#6354)

    * Fix excessive timer allocation in rate limiter

    * Looser match

    * Rename to currentNextSlot

commit 600b7b6
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 21:08:11 2023 +0000

    Fix KeyExists leak (#6353)

commit c284fa1
Author: Lukasz Rozmej <[email protected]>
Date:   Mon Dec 11 16:55:56 2023 +0100

    Fix json rpc missing parameter check (#6351)

    * Fix json rpc missing parameter check

    * Add more check when enumerating

    * Modify tests to serialize null on net_version

commit 1242ecd
Author: Kamil Chodoła <[email protected]>
Date:   Mon Dec 11 12:40:12 2023 +0100

    Kch/rlp refactor (#6343)

    * RLP refactor/cleanup (#6243)

    Co-authored-by: Kamil Chodoła <[email protected]>

    * Remove allowLeadingZeros

    * Fix Keccak -> Hash256

    * fix for optimism

    ---------

    Co-authored-by: Kamil Chodoła <[email protected]>
    Co-authored-by: Marcin Sobczak <[email protected]>

commit 7c61e14
Author: Jorge Mederos <[email protected]>
Date:   Mon Dec 11 09:51:34 2023 +0100

    Disable networking on OpStack configs (#6334)

    * Disable networking on OpStack configs

    * Disable networking config for OP Stack testnets

commit 82b816a
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 07:59:43 2023 +0000

    Improved Json Serialization (#6152)

    * System.Text.Json.Serialization

    * System.Text.Deserialization

    * Fixes

    * lint

    * Fixes

    * Fix

    * Fixes

    * Fixes

    * Lint

    * Fix invalid Json

    * u8

    * Fixes

    * Fixes

    * Fix

    * Don't go via exception for short reverts

    * Fix

    * Fix

    * Multi-doc batch

    * Lint

    * Merge conflict

    * Fixes

    * Lint

    * Fix tests

    * Fix test

    * Tidy up

    * Turn of sync IO

    * Async

    * Don't double Advance

    * Async wrapper stream use

    * Fix build break

    * Merge issues

    * Compile issues

    * File scoped namespaces

    * Formatting

    * Merge fixes

    * Test Merge fixes

    * lang ver

    * Purge Newtonsoft

    * Fix evm tests

    * Fix parentBeaconBlockRootString serialization

    * Change type for serialization

    * Ignore syncing

    * Capitalised bools are invalid json

    * Capitalised bools are invalid json

    * Fix merge conflict

    * Fix data serialization

    * Fix trace entry

    * Merge conflicts

    * Formatting

    * Missed merge

    * whitespace

    * Fix EthereumTests Json

    * Ethereum tests

    * Fix hex prefix

    * Fix difficultly test

    * Add serializer options

    * Fix abi tests

    * Merge conflict

    * Feedback

    * revert to previous

    * Remove Netwonsoft

    * cosmetics

    * Pipeline Json responses

    * Merge fixes

    * Whitespace

    * fix test

    * Send multiple messages

    * Optional stream closing

    * Case insensitive

    * Update Nethermind.Serialization.Json.csproj

    * Whitespace

    * Update JavaScriptObjectConverter.cs

    * Feedback

    * Undo AI

    * Put orders back

    * Feedback

    * Whitespace

    * Use static constructor

    * Remove irrelevant test parameter

    * Add BigIntegerConverterTests back

    * Use FrozenDictionary

    * Deserialize collection to ArrayPoolList using GetArrayLength for initial capacity. Dispose it later.

    Move WhiteSpace to utf8

    * simplify

    * Throw more explicit exception

    * name cleanup

    * Merge conflicts

    * Merge conflict

    * Add comments

    * more comments

    * Consolidate Disposable

    * Use FrozenDictionary for RpcLookup

    * Case sensitive

    * Be consistent on parsing type

    * Use correct type in test

    * Optimizations

    * Optimizations

    * Optimize

    * Optimize

    * Vectorize FromUtf8 hex

    * Optimization

    * Optimize

    * Parallel deserialize

    * Revert "Parallel deserialize"

    This reverts commit 94b08e3.

    * Use using

    * Fix check

    * Parallel deserialize

    * Increase parallelThreshold

    * Use correct length

    * Cache Reflection Parameters

    * Fix tracing output

    * Match geth output

    * Turn AllowSynchronousIO back on

    * Revert object type arrays

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit 3f2f149
Author: Lukasz Rozmej <[email protected]>
Date:   Mon Dec 11 08:58:09 2023 +0100

    Unify js types, use typed arrays everywhere + long for slice parameters (#6319)

commit 874cd73
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Dec 10 13:01:29 2023 +0100

    Updating Fast Sync config files (#6347)

    Co-authored-by: LukaszRozmej <[email protected]>

commit baff631
Author: ak88 <[email protected]>
Date:   Fri Dec 8 19:37:16 2023 +0100

    Fix/check withdrawal bodiessyncfeed (#6345)

    * Also check withdrawals before insertion

    * refactor

    * refactor

    * unit tests

    * unnecessary using

commit 0e0e35e
Author: Amirul Ashraf <[email protected]>
Date:   Fri Dec 8 20:41:55 2023 +0800

    Refactor/state cleanup (#6260)

    * Separate statedb initialization from blockchain initialization

    * Minor cleanup

    * World state factory

    * Don't take db provider or trie store

    * Use state reader instead of trie store for full state finder

    * Unify and use property

    * Boundary watcher

    * Dont need this anymore

    * Minor comment

    * Reducing change

    * Missed a setter

    * Some tests

    * Fix build

    * Fix build

    * Addressing comment

    * Minor comment adjustment

    * Fix startup block tree fixer missed
commit 4460f7a
Author: Ben Adams <[email protected]>
Date:   Sun Jan 7 10:28:24 2024 +0000

    Pass `readonly struct` `BlockExecutionContext` via `in` (#6469)

commit 74743cd
Author: Marek Moraczyński <[email protected]>
Date:   Sat Jan 6 12:59:02 2024 +0100

    Changed post-merge condition in MultiSyncModeSelector (#6433)

commit 9b5a3f2
Author: Klaudia Jazgar <[email protected]>
Date:   Fri Jan 5 20:14:37 2024 +0100

    Feature/debug get bad blocks (#3838)

    Co-authored-by: lukasz.rozmej <[email protected]>
    Co-authored-by: Marc <[email protected]>

commit 7d2958f
Author: Marek Moraczyński <[email protected]>
Date:   Fri Jan 5 14:43:35 2024 +0100

    Handling exceptions during signatures recovery (#6461)

commit 4550bfc
Author: Ben Adams <[email protected]>
Date:   Fri Jan 5 13:10:47 2024 +0000

    Write out IByteBuffer before it is released (#6459)

commit 6c9309c
Author: Ruben Buniatyan <[email protected]>
Date:   Thu Jan 4 23:14:46 2024 +0100

    Fix solution builds and add debug build configuration (#6456)

commit 4cb9a94
Author: Kamil Chodoła <[email protected]>
Date:   Thu Jan 4 20:54:08 2024 +0100

    Bump version to 1.26.0-unstable (#6443)

    * Bump version to 1.25.0

    * Change already to 1.26.0

    ---------

    Co-authored-by: Kamil Chodoła <[email protected]>

commit 61245df
Author: Ben Adams <[email protected]>
Date:   Thu Jan 4 14:43:09 2024 +0000

    Use the empty account cache as cache (#6452)

    * Use the empty account cache as cache

    * Rename

commit a7cbe27
Author: Marcin Sobczak <[email protected]>
Date:   Thu Jan 4 10:32:12 2024 +0100

    Fix `BlobGasUsed` and `ExcessBlobGas` in Cancun genesis (#6446)

    * try hotfix

    * try with default 0

    * another approach

    * try

    * requested simplification

commit ab3711c
Author: Ahmad Bitar <[email protected]>
Date:   Thu Jan 4 11:28:31 2024 +0300

    fix debug build (#6447)

commit 95d966c
Author: Kamil Chodoła <[email protected]>
Date:   Wed Jan 3 17:46:02 2024 +0100

    Fix checkout paths (#6451)

    Co-authored-by: Kamil Chodoła <[email protected]>

commit 805f942
Author: Kamil Chodoła <[email protected]>
Date:   Wed Jan 3 17:10:18 2024 +0100

    Fix permission on build files (#6450)

    Co-authored-by: Kamil Chodoła <[email protected]>

commit 299d3c6
Author: Kamil Chodoła <[email protected]>
Date:   Wed Jan 3 16:34:52 2024 +0100

    Fix Release Action (#6449)

commit 0e6ffe7
Author: Ben Adams <[email protected]>
Date:   Wed Jan 3 08:02:40 2024 +0000

    Return to NoGCRegion now runtime bug is fixed (#6381)

    * Return to NoGCRegion now runtime bug is fixed

    * Remove other comment

commit 292acdd
Author: Ben Adams <[email protected]>
Date:   Wed Jan 3 07:01:54 2024 +0000

    Speed up trie node traversal (#6436)

commit d3c0443
Author: Ben Adams <[email protected]>
Date:   Wed Jan 3 06:59:20 2024 +0000

    Gas price estimation as float (#6445)

commit cbc3e67
Author: Amirul Ashraf <[email protected]>
Date:   Tue Jan 2 22:16:21 2024 +0800

    Fix/flush on snap finish (#6444)

    * Flush on snap finish

    * Added test

commit a3caae8
Author: Ruben Buniatyan <[email protected]>
Date:   Tue Jan 2 12:25:31 2024 +0100

    Update packages (#6437)

    * Update packages

    * Update packages

    * Update line endings

commit 7bb1a4d
Author: Ruben Buniatyan <[email protected]>
Date:   Tue Jan 2 01:06:10 2024 +0100

    Update file header (#6442)

commit 6f2698c
Author: Nikita Mescheryakov <[email protected]>
Date:   Mon Jan 1 21:13:10 2024 +0300

    Optimism canyon (#6374)

    * Receipts

    * Create2Deployer

    * Fix null value

    * Refactor 1559

    * Canyon eip 1559

    * Refactor

    * MarkAsFailed

    * Revert TxProcessor

    * Fix tests

    * Fix tests

    * decoder

    * Fix configs

    * base-goerli regolith timestamp

    * Fix elasticity multiplier

    * Check tx type

commit 344c568
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Jan 1 11:00:30 2024 +0100

    Updating Fast Sync config files (#6441)

    Co-authored-by: LukaszRozmej <[email protected]>

commit 087b06a
Author: Ben Adams <[email protected]>
Date:   Fri Dec 29 23:49:48 2023 +0000

    Remove db throttling (#6438)

commit c4767a4
Author: Ahmad Bitar <[email protected]>
Date:   Fri Dec 29 19:18:11 2023 +0300

    [Fix] Potential fix to missing tx index sometimes (related to reorgs) (#6422)

    * fixes

    * update unit tests to reflect reorg

    ---------

    Co-authored-by: Ahmad Mazen Radwan Bitar <[email protected]>

commit 6a9c76d
Author: Marek Moraczyński <[email protected]>
Date:   Fri Dec 29 16:44:14 2023 +0100

    Fixed FinalTotalDifficulty based on genesis (#6435)

    * Fixed FinalTotalDifficulty based on genesis

    * Fix whitespace

    * Fix test setup

commit f601ede
Author: Ben Adams <[email protected]>
Date:   Fri Dec 29 05:11:17 2023 +0000

    Make CappedArray readonly (#6434)

commit 075365a
Author: Ben Adams <[email protected]>
Date:   Thu Dec 28 23:08:43 2023 +0000

    Reduce lock contention (#6417)

    * Reduce TxPool lock contention

    * Reduce lock contention with added spice

    * Use McsLock for LruCache

    * Whitespace

    * Calculate hashes in parallel

    * Name clash with extension and invalid round trip check

    * Add tests

    * Fix

    * Use monitor signalling to wake up sleeping threads

    * Additional comments

    * throttle db read/writes

    * Less contention on the priority lock

    * Whitespace

    * Boost forkchoice

commit d8debc6
Author: Lautaro Emanuel <[email protected]>
Date:   Thu Dec 28 16:37:17 2023 -0300

    Fix node restart on `gnosis-cancun` (#6423)

    * first draft

    * add more things

    * fix metric

    * fix

    * add tests

    * add serializers and tests

    * simplification

    * adjust network and rpc tests

    * post-merge fixes

    * enable eth68

    * adjust tests

    * fix

    * Use blob gas instead of count

    * Shuffle 4844 constants, add GetMaxBlobsPerBlock

    * Replace `Keccak` with `Hash256`

    * fix PeerInfoExtensions

    * fix StateSyncDownloader

    * fix GetNodeDataTrieNodeRecovery

    * improve switching capabilities

    * `WasProcessed = true` for Genesis `BlockInfo`

    * Add tests

    ---------

    Co-authored-by: Marcin Sobczak <[email protected]>
    Co-authored-by: Ruben Buniatyan <[email protected]>
    Co-authored-by: Alexey Osipov <[email protected]>

commit 2a66d41
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 22:22:28 2023 +0800

    Fix metric not working (#6432)

commit c81d577
Author: Marek Moraczyński <[email protected]>
Date:   Thu Dec 28 14:49:34 2023 +0100

    Fix TotalDifficulty for post-merge networks in genesis (#6407)

    * Fix TotalDifficulty for post-merge devnets

    * Fix whitespaces

    * test fixes

commit dd613af
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 28 14:46:09 2023 +0100

    Update configs tests, add FastSyncCatchUpHeightDelta for holesky (#6431)

    * adjust config tests

    * add high FastSyncCatchUpHeightDelta for holesky

    * fix one more test

commit fe807bb
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 28 11:54:35 2023 +0100

    Enable blob txs support in goerli configs (#6430)

    * enable blob support for goerli

    * add config test

commit 2402d5a
Author: Lukasz Rozmej <[email protected]>
Date:   Thu Dec 28 11:40:47 2023 +0100

    fix memory guard and slice (#6396)

    * fix memory guard and slice

    * Trim or pad variable length bytes (as Geth does)

    * fix ArgumentException

    * whitespace

commit ada8cc9
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 17:39:11 2023 +0800

    Reimplement KestrelMetricServer (#6429)

commit be00812
Author: Amirul Ashraf <[email protected]>
Date:   Thu Dec 28 17:13:06 2023 +0800

    Feature/exit on blocknumber (#6428)

    * Exit on block number

    * Some minor log

commit 2ad33cc
Author: Ahmad Bitar <[email protected]>
Date:   Thu Dec 28 11:45:40 2023 +0300

    [Cancun]{Spec} Goerli config and fix for `ChainSpecBasedSpecProvider` (#6409)

    * init

    * format

    * format

    * Empty-Commit

    * make tests granular

    * Remove timestamp consecutive block transition. Keep first timestamp transition past block.

    * change approach to test fix

    * fixes

    * fix future fork info

    * Fully separate block forks from timtestamp ones (#6419)

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>
    Co-authored-by: MarekM25 <[email protected]>
    Co-authored-by: Alexey <[email protected]>

commit 0ad72e9
Author: Ben Adams <[email protected]>
Date:   Wed Dec 27 16:39:14 2023 +0000

    Don't use exceptions for flow control during sync (#6425)

    * Don't use exceptions for flow control during sync

    * Fix header caching

    * Fix time reporting

    * Better progress time

commit 7e6c340
Author: Ben Adams <[email protected]>
Date:   Wed Dec 27 09:39:01 2023 +0000

    Update Chain size test (#6426)

commit 8fa3263
Author: Marcin Sobczak <[email protected]>
Date:   Wed Dec 27 10:26:37 2023 +0100

    Blob txs reorgs (#6254)

    * add column for processed txs

    * add feature of returning keys only

    * adjust BlobTxStorage

    * cosmetics

    * add logic for storing processed blob txs and removing finalized

    * rename

    * fix

    * add tests

    * cosmetics

    * add sender recovery for reorganized blob txs

    * requested change

    * one more place

    * postmerge fix

    * fix saving of processed blob txs

    * optimize saving processed txs

    * readd blob support config

    * fix whitespace

    * fix test

    * fix tests parallelism?

    * add more logs

    * fix blob txs metric

    * refactor BlobTxStorage

    * optimize collecting blob txs from processed block

    * Create IBlobTxStorage and separate blob specific methods from ITxStorage

    * use batch when cleaning processed txs db

    * fix

    * fix file encoding

    * fix init when blob support or reorgs disabled

    * fix signing test txs

    * add regression test

    * fix tests

    * one more regression test

    * post-merge fix

    * add test for readding reorganized blob txs

    * improve test

    * one more check in test

    * Remove unnecessary list

    Sleep -> Task in test

    * cosmetic

    * compress 3 bool flags to 1 enum

    * fix file encoding

    * fix whitespaces

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit f3ed968
Author: Lautaro Emanuel <[email protected]>
Date:   Tue Dec 26 11:09:44 2023 -0300

    Upgrade Kute (#6366)

    * Introduce filter limits

    - Filters can include optional limits

    * Report progress at the start

    - Fixes progress not updating

    * Initial response validator

    - Verifies that the response does not contain an 'error' field

    * Include more examples of filters and limits

    * Perform validation outside time measurement

    * Add 'TracerValidator'

    - Responses can be stored into a new file

    * Document 'TracerValidator'

    - Disabled by default
    - Response tracing is ignored in dry mode

    * Make config help text more consistent

    * Capitalize

    * Change name of tracing to verbose

    * Update README.md

    * Use `-r|--responses` to store responses

    * Invert condition

    - Append if file exists
    - Create one if not

    * Make 'IJsonRpcValidator' take also request into consideration

    * Validate 'NewPayload' responses using custom strategy

    - 'TracerValidator' is no longer a decorator

    * Separate 'ResponseTracer' from Validator

    - Tracer should be independent
    - Add File and Null tracers
    - Simplify services setup

    * Validate and trace batch responses

    * Add TickSucceeded

    * Add temp sampleSize

    * Tick succeeded on batches too

    * Use 'CompleteReservoir' for sampling

    - Removes need for hack/magic numbers

    * Remove whitespace

    * Remove `IAuth` from `NullJsonRpcSubmitter`

    ---------

    Co-authored-by: Kamil Chodoła <[email protected]>
    Co-authored-by: Kamil Chodoła <[email protected]>

commit 1df2cf4
Author: Ben Adams <[email protected]>
Date:   Tue Dec 26 12:01:45 2023 +0000

    Remove duplicate calls to FindHeader in eth_getLogs (#6421)

    * Remove duplicate calls to FindHeader in eth_getLogs

    * Check cancellation token

    * Fix tests due to params change

commit 3fa5ba5
Author: Ben Adams <[email protected]>
Date:   Tue Dec 26 08:50:53 2023 +0000

    Remove Duplicate call to TryGetPendingTransaction in RPC (#6420)

commit 02221a9
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Mon Dec 25 12:58:27 2023 +0100

    Updating Fast Sync config files (#6416)

    Co-authored-by: LukaszRozmej <[email protected]>

commit 716a791
Author: Amirul Ashraf <[email protected]>
Date:   Mon Dec 25 07:40:00 2023 +0800

    Fix double write during full pruning (#6415)

    * Fix double write during full pruning

    * Missed a null condition

commit 1c0ce55
Author: Ben Adams <[email protected]>
Date:   Sun Dec 24 15:26:38 2023 +0000

    RateLimiter: Remove unneeded async statemachine (#6418)

    * RateLimiter: Remove unneeded async statemachine

    * Fix test

commit 3bd89b3
Author: Ruben Buniatyan <[email protected]>
Date:   Sat Dec 23 01:37:38 2023 +0100

    Fix POSDAO tests workflow (#6414)

commit aa6800c
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 10:53:34 2023 +0000

    Fix unbounded memory growth in DoubleArrayConverter (#6412)

    * Fix unbounded memory growth in DoubleArrayConverter

    * Whitespace

commit bb1840f
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 02:58:40 2023 +0000

    Throw less expensive exceptions from Evm (#6406)

    * Reduce Evm eceptions

    * Less exceptions

    * Less exceptions

    * Whitespace

    * Remove signed benchmark

    * Moar

commit b86383f
Author: Ben Adams <[email protected]>
Date:   Fri Dec 22 00:20:27 2023 +0000

    Increase regex cache size (#6408)

commit 90416e5
Author: Ruben Buniatyan <[email protected]>
Date:   Thu Dec 21 23:57:12 2023 +0100

    Remove Nethermind launcher build (#6404)

commit 536e2f7
Author: Ruben Buniatyan <[email protected]>
Date:   Thu Dec 21 21:08:48 2023 +0100

    Revise and improve diagnostics Dockerfile (#6398)

commit 76c73a1
Author: Ayman Bouchareb <[email protected]>
Date:   Thu Dec 21 14:09:54 2023 +0100

    Add new RPC methods debug_getRawBlock, debug_getRawReceipts, debug_getRawHeader, debug_getRawTransaction (#6368)

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix develop branch

    * Exit early on error (#4220)

    Exit early on error in steps except for step with "mustInitialize" set to false.

    * Fix peer header when no peers to show (#4411)

    * Fix peer header when no peers to show

    * Only order once

    * Better fix maybe

    * Applying lukasz suggestion

    * Revise product version (#4322)

    * Replace submodules with packages (#4374)

    * Add optional argument Address in parity_pendingTransactions (#4413)

    * Add enough projects to build benchmark runner (#4431)

    * Fix develop branch

    * Exit early on error (#4220)

    Exit early on error in steps except for step with "mustInitialize" set to false.

    * Changes to BlockForRPC class : Ignored Author field in JsonDeserialization

    * Changes to TransactionForRPC class : Ignored 'data' field in JsonDeserialization if null or empty, and Assigned ChainId from Signature.ChainId if tx.ChainId is null

    * Changes to [DebugBridge, IDebugBridge] files : Added utility functions to get Transactions and Receipts per block

    * Changes to [DebugRpcModule, IDebugRpcModule] files : Added missing debug Functions [getRawBlock, getRawBlockHeader, getRawReceipts, getRawTransaction]

    * Changes to TransactionForRPC class : Ignored 'data' field in JsonDeserialization if null or empty, and Assigned ChainId from Signature.ChainId if tx.ChainId is null

    * Changes to ProofConverter class : stripped leading zeros from value field, and stripped leading zeros while keeping lenght even in key

    * Changes to [DebugRpcModule, IDebugRpcModule] files : new Debug functions only accept Keccak inputs

    * Changes to [DebugRpcModule, IDebugRpcModule] files : fix getRawReceipts

    * Changes to [Rlp, ReceiptStorageDecoder] files : added parameterless constructor to RSD, and added a selector method to decorder in RLP

    * Changes to [ReceiptMessageDecoder] files : added IRlpObjectDecoder interface to RMD

    * Changes to [Rlp] files : changed Decoder selection strategy to depend on custom attribute

    * Changes to [DebugRpcModule] files : added custom RlpBehaviour to Rlp.Encode in debug_getRawReceipts

    * Changes to [EthRpcModule.cs] files : deactivated optimization for eth_createaAccessList

    * fix merge issues

    * fix failing tests

    * fixed ws
    removed added file

    * fix merge issue

    * revert script changes

    * remove non related changes from PR

    ---------

    Co-authored-by: smartprogrammer93 <[email protected]>
    Co-authored-by: Ruben Buniatyan <[email protected]>
    Co-authored-by: Alexey <[email protected]>
    Co-authored-by: DCeleda <[email protected]>
    Co-authored-by: Amirul Ashraf <[email protected]>

commit 5ac809f
Author: Kamil Chodoła <[email protected]>
Date:   Wed Dec 20 12:26:20 2023 +0100

    Add extra docker compose pull to ensure latest image (#6400)

    * Add extra docker compose pull to ensure latest image

    * Revert back to sedge run command

commit 0415bcf
Author: Marcin Sobczak <[email protected]>
Date:   Wed Dec 20 09:45:11 2023 +0100

    Fix signing transactions in tests (#6397)

    * fix signing test txs

    * add regression test

    * fix tests

    * one more regression test

commit 7f62918
Author: Marek Moraczyński <[email protected]>
Date:   Tue Dec 19 22:55:37 2023 +0100

    Add PivotUpdator tests (#6399)

    * Add PivotUpdater tests, cosmetic rename

    * whitespaces

    * revert class name change

commit 7ef0b6b
Author: Ruben Buniatyan <[email protected]>
Date:   Tue Dec 19 17:22:02 2023 +0100

    Revise and update workflows (#6388)

commit f15eedc
Author: Lukasz Rozmej <[email protected]>
Date:   Tue Dec 19 13:59:30 2023 +0100

    make ParityTraceActionFromReplayJsonConverter recursive (#6394)

    * make ParityTraceActionFromReplayJsonConverter recursive

    * Add test

commit 13b85a3
Author: Amirul Ashraf <[email protected]>
Date:   Tue Dec 19 12:09:20 2023 +0800

    Refactor/minor worldstate cleanup (#6385)

    * Remove address by storage

    * Make it clear what it it used for serving by hash

    * Fix test

    * TrieNodeRlpStore

commit 482bc43
Author: Ruben Buniatyan <[email protected]>
Date:   Mon Dec 18 22:45:08 2023 +0100

    Fix package path (#6389)

commit 18e37da
Author: Alexey <[email protected]>
Date:   Tue Dec 19 00:31:18 2023 +0300

    Properly activate timestamp fork (#6386)

    * Activate timestamp fork even if block matches block only fork

    * Remove duplication

commit 97fb56c
Author: ak88 <[email protected]>
Date:   Mon Dec 18 17:03:01 2023 +0100

    holesky networkId -> name (#6370)

commit 5d5dda6
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Dec 17 22:41:51 2023 +0100

    Updating Fast Sync config files (#6383)

    Co-authored-by: LukaszRozmej <[email protected]>

commit 355e3fe
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 12:00:32 2023 +0000

    Use leaveOpen: false on StreamPipeReaderOptions (#6379)

commit b8b0a8e
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 11:39:26 2023 +0000

    Make methods static and/or readonly (and others) (#6376)

    * Make methods static and/or readonly

    * Hashtable Contains+Add -> Add

    * Hashtable Contains+Remove -> Remove

    * Span Fill(0) -> Clear()

    * Fix Ethereum tests

    * Whitespace

    * Fix

    * Fix benchmarks

    * Remove unneeded methods

commit 9bed546
Author: Ben Adams <[email protected]>
Date:   Fri Dec 15 11:38:59 2023 +0000

    Use RecyclableMemoryStream for MemoryStreams (#6371)

    * Use RecyclableMemoryStream for MemoryStreams

    * Use regular MemoryStream for recorder

    * leaveOpen: true

    * Use for recorder also

commit bce3244
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 20:12:27 2023 +0000

    Apply max responseBodySize correctly (#6372)

    * Apply max responseBodySize correctly

    * Fix log

commit 36c1171
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 15:02:18 2023 +0000

    Reduce ResettableDictionary lookups (#6373)

commit f62468e
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 12:23:12 2023 +0000

    Use TryGetValue to halve Dictionary lookups (#6352)

    * Use TryGetValue to halve Dictionary lookups

    * fixes

    * Use CollectionsMarshal.GetValueRefOrAddDefault when appropriate

    * Re add comment

    * Missed one

    * Fix weird check

commit 2749c16
Author: Jorge Mederos <[email protected]>
Date:   Thu Dec 14 12:58:33 2023 +0100

    Fix / Add OP configs (#6364)

    * Fix DisableGCOnNewPayload for op-goerli

    * Add archive configs for all op chains

    * Sepolia & goerli-config

    * Add rest

    * Change BaseDBPath and LogFileName for archive config

    * Add base-sepolia

    ---------

    Co-authored-by: Nikita Mescheryakov <[email protected]>

commit 82afd0f
Author: Marcin Sobczak <[email protected]>
Date:   Thu Dec 14 09:21:10 2023 +0100

    Broadcast local txs only if MaxFeePerGas is equal at least 70% of current base fee (#6350)

    * limit initial broadcast

    * add BaseFeeThreshold to ChainHeadInfoProvider

    * simplify broadcaster

    * add simple test

    * make BaseFeeThreshold configurable in TxPoolConfig

    * remove from ChainHeadInfoProvider

    * more tests

    * cosmetic

    * cosmetic

    * fix posdao tests

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

    Co-authored-by: Ruben Buniatyan <[email protected]>

    ---------

    Co-authored-by: Ruben Buniatyan <[email protected]>

commit 1bbd8b2
Author: Ben Adams <[email protected]>
Date:   Thu Dec 14 01:56:46 2023 +0000

    NewPayloadV3 required fields json deserialization (#6362)

    * Hive fixes

    * invalid params

    * Wrong place

    * Only return for engine_newPayloadV3

    * Make ExecutionPayloadV3.BlobGasUsed and ExcessBlobGas required

    * small cleanup

    * overload instead of override

    * Revert "overload instead of override"

    This reverts commit 27c3686.

    * Revert "Revert "overload instead of override""

    This reverts commit ab921f9.

    * Revert "Revert "Revert "overload instead of override"""

    This reverts commit 782200e.

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit 33528df
Author: Ruben Buniatyan <[email protected]>
Date:   Wed Dec 13 21:23:17 2023 +0100

    Revise docs generation (#6361)

commit dd88db6
Author: Ben Adams <[email protected]>
Date:   Wed Dec 13 18:08:46 2023 +0000

    Serialize Json direct to Http PipeWriter (#6369)

    * Serialize Json direct to Http PipeWriter

    * Whitespace

commit 7a768f7
Author: Pioua <[email protected]>
Date:   Wed Dec 13 14:42:33 2023 +0100

    chore(src/Nethermind): typo fix (#6363)

    * typo fix

    * typo fix

    * typo fix

    * typo fix

commit af04899
Author: yanziseeker <[email protected]>
Date:   Wed Dec 13 21:42:19 2023 +0800

    fix: typos (#6360)

commit 0a3a694
Author: Lukasz Rozmej <[email protected]>
Date:   Tue Dec 12 15:05:53 2023 +0100

    Skip signature only for TxType.DepositTx (#6349)

    Co-authored-by: Nikita Mescheryakov <[email protected]>

commit 7cc8358
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:06:00 2023 +0000

    Make fields readonly (#6356)

commit 2af3d8f
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:05:53 2023 +0000

    Use length checks rather than .Any() (#6357)

commit 9df511b
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 11:05:37 2023 +0000

    Simplify null checks (#6355)

commit 6744d21
Author: Ben Adams <[email protected]>
Date:   Tue Dec 12 03:04:55 2023 +0000

    Use runtime throw helpers (#6348)

commit 1040052
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 21:31:32 2023 +0000

    Fix excessive timer allocation in rate limiter (#6354)

    * Fix excessive timer allocation in rate limiter

    * Looser match

    * Rename to currentNextSlot

commit 600b7b6
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 21:08:11 2023 +0000

    Fix KeyExists leak (#6353)

commit c284fa1
Author: Lukasz Rozmej <[email protected]>
Date:   Mon Dec 11 16:55:56 2023 +0100

    Fix json rpc missing parameter check (#6351)

    * Fix json rpc missing parameter check

    * Add more check when enumerating

    * Modify tests to serialize null on net_version

commit 1242ecd
Author: Kamil Chodoła <[email protected]>
Date:   Mon Dec 11 12:40:12 2023 +0100

    Kch/rlp refactor (#6343)

    * RLP refactor/cleanup (#6243)

    Co-authored-by: Kamil Chodoła <[email protected]>

    * Remove allowLeadingZeros

    * Fix Keccak -> Hash256

    * fix for optimism

    ---------

    Co-authored-by: Kamil Chodoła <[email protected]>
    Co-authored-by: Marcin Sobczak <[email protected]>

commit 7c61e14
Author: Jorge Mederos <[email protected]>
Date:   Mon Dec 11 09:51:34 2023 +0100

    Disable networking on OpStack configs (#6334)

    * Disable networking on OpStack configs

    * Disable networking config for OP Stack testnets

commit 82b816a
Author: Ben Adams <[email protected]>
Date:   Mon Dec 11 07:59:43 2023 +0000

    Improved Json Serialization (#6152)

    * System.Text.Json.Serialization

    * System.Text.Deserialization

    * Fixes

    * lint

    * Fixes

    * Fix

    * Fixes

    * Fixes

    * Lint

    * Fix invalid Json

    * u8

    * Fixes

    * Fixes

    * Fix

    * Don't go via exception for short reverts

    * Fix

    * Fix

    * Multi-doc batch

    * Lint

    * Merge conflict

    * Fixes

    * Lint

    * Fix tests

    * Fix test

    * Tidy up

    * Turn of sync IO

    * Async

    * Don't double Advance

    * Async wrapper stream use

    * Fix build break

    * Merge issues

    * Compile issues

    * File scoped namespaces

    * Formatting

    * Merge fixes

    * Test Merge fixes

    * lang ver

    * Purge Newtonsoft

    * Fix evm tests

    * Fix parentBeaconBlockRootString serialization

    * Change type for serialization

    * Ignore syncing

    * Capitalised bools are invalid json

    * Capitalised bools are invalid json

    * Fix merge conflict

    * Fix data serialization

    * Fix trace entry

    * Merge conflicts

    * Formatting

    * Missed merge

    * whitespace

    * Fix EthereumTests Json

    * Ethereum tests

    * Fix hex prefix

    * Fix difficultly test

    * Add serializer options

    * Fix abi tests

    * Merge conflict

    * Feedback

    * revert to previous

    * Remove Netwonsoft

    * cosmetics

    * Pipeline Json responses

    * Merge fixes

    * Whitespace

    * fix test

    * Send multiple messages

    * Optional stream closing

    * Case insensitive

    * Update Nethermind.Serialization.Json.csproj

    * Whitespace

    * Update JavaScriptObjectConverter.cs

    * Feedback

    * Undo AI

    * Put orders back

    * Feedback

    * Whitespace

    * Use static constructor

    * Remove irrelevant test parameter

    * Add BigIntegerConverterTests back

    * Use FrozenDictionary

    * Deserialize collection to ArrayPoolList using GetArrayLength for initial capacity. Dispose it later.

    Move WhiteSpace to utf8

    * simplify

    * Throw more explicit exception

    * name cleanup

    * Merge conflicts

    * Merge conflict

    * Add comments

    * more comments

    * Consolidate Disposable

    * Use FrozenDictionary for RpcLookup

    * Case sensitive

    * Be consistent on parsing type

    * Use correct type in test

    * Optimizations

    * Optimizations

    * Optimize

    * Optimize

    * Vectorize FromUtf8 hex

    * Optimization

    * Optimize

    * Parallel deserialize

    * Revert "Parallel deserialize"

    This reverts commit 94b08e3.

    * Use using

    * Fix check

    * Parallel deserialize

    * Increase parallelThreshold

    * Use correct length

    * Cache Reflection Parameters

    * Fix tracing output

    * Match geth output

    * Turn AllowSynchronousIO back on

    * Revert object type arrays

    ---------

    Co-authored-by: lukasz.rozmej <[email protected]>

commit 3f2f149
Author: Lukasz Rozmej <[email protected]>
Date:   Mon Dec 11 08:58:09 2023 +0100

    Unify js types, use typed arrays everywhere + long for slice parameters (#6319)

commit 874cd73
Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Date:   Sun Dec 10 13:01:29 2023 +0100

    Updating Fast Sync config files (#6347)

    Co-authored-by: LukaszRozmej <[email protected]>

commit baff631
Author: ak88 <[email protected]>
Date:   Fri Dec 8 19:37:16 2023 +0100

    Fix/check withdrawal bodiessyncfeed (#6345)

    * Also check withdrawals before insertion

    * refactor

    * refactor

    * unit tests

    * unnecessary using

commit 0e0e35e
Author: Amirul Ashraf <[email protected]>
Date:   Fri Dec 8 20:41:55 2023 +0800

    Refactor/state cleanup (#6260)

    * Separate statedb initialization from blockchain initialization

    * Minor cleanup

    * World state factory

    * Don't take db provider or trie store

    * Use state reader instead of trie store for full state finder

    * Unify and use property

    * Boundary watcher

    * Dont need this anymore

    * Minor comment

    * Reducing change

    * Missed a setter

    * Some tests

    * Fix build

    * Fix build

    * Addressing comment

    * Minor comment adjustment

    * Fix startup block tree fixer missed
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