Reth v1.0.8
Summary
This release contains performance improvements and bug fixes:
- fix: enable js-tracer (#11087)
- fix: never ban trusted peers (#11254)
- fix: apply 4788 system call in tracing (#11417)
- fix: sequencer client must be arced (#11337)
The new Engine API --engine.experimental mode now has ExEx support and has had various stability improvements and bug fixes.
Users should try the --engine.experimental
mode.
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | medium |
Non-Payload Builders | medium |
Op-Reth | high |
See Update Priorities for more information about this table.
All Changes
- fix: windows build (#11465)
- Map
TransferKind::EofCreate
=>OperationType::OpEofCreate
(#11090) - chore(provider): clone after filtering on
sealed_headers_while
(#11459) - fix: use correct rpc errors (#11463)
- feat(grafana): ExEx WAL (#11461)
- fix: ensure the request's gas limit does not exceed the target gas limit (#11462)
- feat(rpc): Add codes in execution witness return (#11443)
- chore(provider): use
block_ref
instead onBlockState
(#11458) - chore: release 1.0.8 (#11457)
- feat: add metrics for failed deliveries (#11456)
- chore(provider): find
last_database_block_number
withBlockState
anchor instead (#11455) - chore(provider): use
get_in_memory_or_storage_by_block
onfn block_body_indices
(#11452) - chore(exex): adjust WAL gauge metric names (#11454)
- chore(provider): use
get_in_memory_or_storage
ontransactions_by_block_range
(#11453) - feat: impl payload attributes builder (#11336)
- fix(exex): limit the duration of a backfill job to 30 seconds (#11450)
- chore: replace
Compact
withbincode
onETL
usage ofSealedHeader
(#11442) - fix(exex): WAL size metric (#11448)
- primitives: remove optimism re-export in
reth-primitives
(#11438) - fix: env tempdir failure on WAL creation (#11446)
- docs: fix wrong method name (#11441)
- chore: make clippy happy (#11439)
- feat: add
get_in_memory_or_storage_by_tx_range
(#11414) - fix: reset pruned sender numbers on stage drop (#11150)
- feat(exex): commit notifications to WAL before sending to ExExes (#11354)
- Fix: Reorder all serde_bincode_compat module definitions (#11435)
- feat(exex): WAL metrics (#11431)
- chore(provider): dont recover sender from
BlockState
transaction ontransaction_sender
(#11424) - chore: remove temporary allow attribute (#11428)
- chore(sdk): define traits for primitives
Block
andBlockBody
(#11411) - chore(provider): rename to
get_in_memory_or_storage_by_block_range_while
(#11421) - fix(exex): do not finalize WAL with a block higher than finalized header (#11420)
- feat(chain-state): notify about new safe/finalized only if modified (#11383)
- fix: apply 4788 system call in tracing (#11417)
- feat(stages): fail Execution if post execute commit input isn't consumed (#11418)
- feat(trie): bincode compatibility for trie updates (#11409)
- chore: rm todos (#11400)
- fix(exex): check exex head against node head to determine canonical (#11410)
- fix(stages): call post execute/unwind commit hooks (#11413)
- dev: swap_remove (#11405)
- feat: add
get_in_memory_or_storage_by_block
toBlockchainProvider2
(#11384) - chore: rm crate reth-rpc-types (#11341)
- feat(net): Perform graceful network shutdown before dropping network in NetworkManager (#11404)
- chore: make clippy happy (#11408)
- chore: add metric and trace for already executed blocks (#11406)
- fix: fetch header by hash (#11407)
-
ci: pin clippy to working version (#11401)
- chore: rename default chainspec parser (#11398)
- chore(Makefile): separate features by spaces only (#11393)
- fix(engine):
is_fork
header traversal (#11368) - feat(primitives): bincode compatibility for EIP-7702 transaction (#11394)
- fix: add tracing features to op binary (#11395)
- fix(tree): use in-memory data first to query total difficulty (#11382)
- fix: use pending state if available (#11391)
- chore(db): simplify Compact for Vec (#11361)
- fix(provider): handle race on
fn transaction_id
(#11380) - chore: Remove redundant impl NetworkManager (#11390)
- chore(deps): bump some breaking deps (#11388)
- chore: limit tracing logs to debug by default (#11377)
- fix(exex): set next file ID when creating WAL storage (#11372)
- feat(trie): deserialize trie updates with serde as hex (#11369)
- perf(engine): avoid unnecessary arc clones on new head (#11381)
- feat: add ReputationChangeWeights::zero (#11375)
- test(engine): improve deep reorg test (#11378)
- chore: propagate std feature to alloy-trie (#11371)
- dev: block_with_senders on BlockState (#11363)
- fix(evm): propagate optimism and test features correctly (#11373)
- fix(provider): use
canonical_chain
on range lookups (#11332) - docs: misc in memory docs (#11365)
- chore: log num hash (#11364)
- ci(hive): update expected rpc-compat failures (#11367)
- feat(exex): use rmp-serde for WAL storage (#11353)
- fix: never ban trusted peers (#11254)
- chore(cli): Add warning for misconfigured HTTP API flags (#11360)
- fix(hooks): sort reverts in
BundleState
before comparison (#11358) - perf(db): use Into to encode StoredNibbles (#11350)
- feat(exex, primitives): serde bincode compatibility (#11331)
- fix(provider): replace
block_state_by_tx_id
withget_in_memory_or_storage_by_tx_id
(#11340) - feat: wire SystemCaller (#11321)
- fix(providers): collect BlockState before constructing DB provider (#11338)
- impl
Encodable2718
,Decodable2718
forTransactionSigned
(#11218) - fix: sequencer client must be arced (#11337)
- fix(libmdbx): Some options can only be set after
mdbx_env_open
(#11328) - chore: alloy 0.4 (#11334)
- deps: remove
reth-metrics-derive
formetrics-derive
(#11335) - feat(exex): finalize WAL below the given block (#11324)
- chore(builder): reorder revm
State
import (#11316) - feat: add SystemCaller helper type (#11068)
- fix(trie): witness empty root node (#10972)
- feat(exex): finalize WAL with the lowest finished height (#11323)
- primitives: rm more
alloy_primitives
reexports (#11325) - primitives: rm more
alloy_primitives
reexports (#11255) - use
core::error::Error
(#11317) - chore: update default payload builder logs (#11315)
- feat(exex): finalize WAL only when all ExExes are on the canonical chain (#11289)
- chore(deps): weekly
cargo update
(#11319) - Remove unused dependencies (#11320)
- chore: rm ToRpcError usage from engine crate (#11311)
- chore: use core::error (#11313)
- chore: relax trait bounds on transact fns (#11310)
- feat: mev_simBundle (#11252)
- feat: use
OpChainSpec
inOptimismNode
and its components (#11304) - fix: improve ecies error fatal variants (#11303)
- chore(op): unify crate name reth-optimism-* (#11223)
- chore(blockchain-tree): replace reth-primitives with alloy-eips (#11276)
- chore: remove generics from Decode and Decompress (#11295)
- perf(db): cache
ProcessUID::own
in memory (#11302) - chore(deps): bump tracy (#11305)
- test(rpc): filter test is taking too long (#11288)
- perf(trie): use unstable sort when sorting for computing roots (#11301)
- chore: rename param (#11287)
- chore(exex):move maximum ExExManager capacity to a constant (#11293)
- fix(reth-ipc): pass through extensions from request (#11300)
- chore(
rpc
): use alloy'sKeccak256
hasher instead of manually concatenating hash bytes (#11298) - perf(db): use encode_to in Scale implementations (#11297)
- perf: improve IntegerList API to avoid allocations (#11292)
- feat(trie): extract
StorageProof
(#11269) - feat(exex): send canonical notifications when head is provided (#11280)
- perf(db): use smallvec for mdbx table names (#11291)
- optimism: fix 'expecte' (#11290)
- chore(exex-eips): replace reth-primitives with alloy-eips (#11275)
- feat:
ExExEvent::FinishedHeight
takesBlockNumHash
instead (#11278) - perf: remove sidecar clone if no listeners (#11285)
- chore: add traces for blob sidecar ops (#11284)
- fix: make canonical_chain atomic and canonical (#11283)
- chore: use Arc over Box (#11281)
- docs: clarify block order (#11279)
- feat: canonical state for local engine (#11245)
- chore(trie): early return on empty state (#11271)
- feat(exex): WAL handle (#11266)
- feat(exex): add parent hash to WAL block cache, index by hashes (#11263)
- feat(exex): write notification files atomically (#11264)
- chore(exex): remove unneeded code (#11267)
- deps:
[email protected]
(#11260) - feat(tree): introduce reorg count metrics in new engine (#11226)
- primitives: rm more
alloy_primitives
reexports (#11250) - move op storage tests into new crate reth-optimism-storage (#11233)
- feat: tx and receipt compression utils for no-std config (#11112)
- fix(cli): fix
ImportReceiptsOp
(#11216) - chore: update revm and alloy primitives (#11235)
- chore:include payload id in trace (#11249)
- feat: make
NetworkConfigBuilder
independent of concreteChainSpec
(#11176) - primitives: rm more
alloy_primitives
reexports (#11222) - primitives: rm
H*
deprecated types (#11246) - chore(trie): replace ParallelStateRoot with AsyncStateRoot (#11213)
- refactor: extract optimism receipts hashing logic to
reth-optimism-consensus
(#11230) - ci: pin clippy to working version (#11237)
- chore(evm): replace reth-primitives with alloy (#11232)
- reth-codec: remove unused derives from alloy compat types (#11231)
- chore(tree): make tree trace targets all engine::tree (#11227)
- chore(tree): add legacy tree metrics to new engine (#11175)
- remove IntoRecoveredTransaction (#11221)
- chore: update helper fn (#11209)
- fix(storage): only delete static file if
last_block
is on a previous static file (#11029) - doc: update some exexhead docs (#11214)
- refactor(exex): move notifications to a separate module (#11212)
- feat(storage): add
HeaderExt
to compactHeader
(#11166) - rpc-types: rm
alloy-rpc-types-engine
reexport (#11206) - feat(exex):
ExExNotification::into_inverted
(#11205) - perf(engine): migrate to AsyncStateRoot (#10927)
- primitives: rm
alloy_consensus::transaction
reexports (#11191) - feat(exex): finalize ExEx WAL on new finalized block header (#11174)
- feat(rpc): Replace TypedTransactionType (#11089)
- feat: verify unused bits on types derived with
Compact
(#11131) - chore(cli): print an hex encoded string instead on
reth db get ... --raw
(#11195) - primitives: rm
TxKind
reexport (#11197) - primitives: rm
UintTryTo
reexport (#11196) - primitives: rm
revm-primitives
reexport (#11193) - primitives: rm
alloy_eips::eip2930
reexports (#11188) - feat: add slack notification for hive tests (#11189)
- chore: Remove ChainSpec from PayloadConfig (#11103)
- primitives: rm
alloy_eips::eip7702
reexport (#11179) - chore(tree): move persistence_state out of mod.rs (#11180)
- primitives: rm
alloy_genesis
reexport (#11181) - primitives: rm
alloy_eips::eip4844::kzg_to_versioned_hash
reexport (#11182) - chore(tree): log and diff header root difference in witness hook (#11184)
- feat(grafana): create initial Reth Performance grafana (#11183)
- fix(chain-state): fork choice stream should return only when changed (#11178)
- primitives: rm
alloy_eips::eip1559::calc_next_block_base_fee
reexport (#11177) - feat: relax chainspec bounds on
NodeBuilder
and rpc types (#11160) - feat(witness): use block executor to execute block inside debug_execution_witness (#11149)
- fix(storage): dont skip consistency checks for
op-mainnet
if using minimal bootstrap (#11099) - chore(rpc): remove redundant trait bound (#11162)
- feat(exex): write ahead log (#10995)
- feat(trie): use packed encoding
HashSet<Nibbles>
serialization (#11147) - feat: add transact function to 7251 (#11158)
- feat: add transact function to 4788 (#11157)
- chore(ethereum): replace reth-primitives with alloy (#11155)
- feat:
EngineValidator
(#11144) - feat: add transact function to 7002 (#11156)
- Refactor
Block
(#10913) - fix: use nibbles map serialization for TrieUpdates (#11146)
- feat: add
FlatCallTracer
(#11114) - chore(codecs-derive): update should_use_alt_impl (#11148)
- feat(trie): add way to serialize maps with Nibbles keys (#11141)
- chore(trie-common): make tests run without arbitrary (#11142)
- fix: increment post block balances in invalid block hook (#11139)
- feat(grafana): make execution duration percentage stack plot (#11137)
- fix(docs): fix error message for missing jwtsecret flag (#11138)
- feat(trie): use global thread pool in async state root calculation (#11057)
- chore: remove redundant phantom (#11134)
- fix(tree): adjust both number and hash when removing persisted blocks from memory (#11133)
- feat: add execute_with_witness (#11074)
- feat(engine): save original files for witness invalid block hook (#11132)
- chore: unify last persisted block hash and number in PersistenceState (#11126)
- chore: rm redundant builder types (#11129)
- feat: add
ChainSpec
AT toEngineTypes
(#11054) - chore: remove reth-rpc-types import (#11125)
- docs(ci): add docs to
bench.yml
(#11128) - feat: use alloy Signature type (#10758)
- chore(deps): weekly
cargo update
(#11101) - primitives: use alloy
Header
struct (#10691) - feat: add set code tx helper to e2e utils (#11118)
- chore: Log an error when failing to resolve external ip address (#11085)
- storage-api: update BlockReaderIdExt (#11110)
- chore(hive): update expected failures (#11121)
- feat: add deploy tx helper to e2e utils (#11117)
- docs: correct
requested_empty_payload
metric docs (#11119) - chore: clear reth rpc types from reth binary (#11120)
- chore(exex): replace reth-primitives with alloy (#11104)
- Add payload builder metrics to Grafana dashboard (#11102)
- rpc: rm useless reexports in
reth-rpc-types
(#11113) - fix(cli): handle case when first transaction range is
None
onreth db stats
(#11107) - use HashMap::with_capacity (#11106)
- rpc: rm useless
alloy_rpc_types
reexport (#11098) - rpc: rm useless
alloy_rpc_types_debug
reexport (#11095) - rpc: rm useless
alloy_rpc_types_trace
reexport (#11096) - Split MevApi trait into two #11036 (#11081)
- rpc: rm useless
alloy-rpc-types-anvil
reexport (#11094) - rpc: rm useless
alloy-rpc-types-mev
reexport (#11093) - chore: reth payload without reth rpc types (#11097)
- rpc: rm useless
alloy_rpc_types_txpool
reexport (#11092) - rpc-types: replace reth
TransactionRequest
by alloy (#11091) - chore(storage): add test cases for
Transactions
andReceipts
truncation (#11070) - chore: stop using static mut (#11088)
- fix: enable js-tracer (#11087)
- chore: replace reth-rpc-types by alloy-rpc-types (#11071)
- chore: allow static mut ref (#11083)
- Add new NetIf variant to NatResolver for IP resolution via network interface (#10922)
- chore: remove dead_code on InMemoryAccountTrieCursor (#11080)
- perf: increase threads in global pool (#11075)
- feat(tree): add more insert block debug logs (#11078)
- Move
OptimismHardfork
to new cratereth_optimism_forks
(#10963) - Replace
reth-provider
dep inreth-rpc-eth-types
(#11077) - docs: fix rpc-types-compat in docs (#11076)
- chore(rpc): remove use of extensible transaction + receipt types (#9774)
- chore(storage): add test cases for
Header
truncation (#11048) - feat(payload): abstract payload builder in trait (#10965)
- net: replace reth-primitive imports with alloy-eips (#11027)
- docs: correct optimism snapshot download url (#11065)
- test: improve test coverage for 4844 rlp transactions (#11058)
- chore(engine): replace reth_primitives with alloy_primitives (#11064)
- chore(deps): bump revm to 14.0.2 (#11063)
- chore(ci): unpin nightly version in lint job (#11062)
- chore(rpc): use
FullNodeComponents::Network
inEthApiBuilderCtx
(#10996) - fix(discv5): change default discv5 port (#11051)
- fix(tree): prevent noisy canonical block debug logs (#11061)
- refactor: use pre-genned wallet from e2e utils in test (#11059)
- feat: add Display for BeaconConsensusEngineEvent (#11055)
- feat: impl Display for ChainEvent (#11056)
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | reth-v1.0.8-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.8-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.8-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.8-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.8-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |
What's Changed
- feat: impl Display for ChainEvent by @Rjected in #11056
- feat: add Display for BeaconConsensusEngineEvent by @Rjected in #11055
- refactor: use pre-genned wallet from e2e utils in test by @onbjerg in #11059
- fix(tree): prevent noisy canonical block debug logs by @Rjected in #11061
- fix(discv5): change default discv5 port by @Rjected in #11051
- chore(rpc): use
FullNodeComponents::Network
inEthApiBuilderCtx
by @emhane in #10996 - chore(ci): unpin nightly version in lint job by @emhane in #11062
- chore(deps): bump revm to 14.0.2 by @emhane in #11063
- chore(engine): replace reth_primitives with alloy_primitives by @Abhishekkochar in #11064
- test: improve test coverage for 4844 rlp transactions by @tcoratger in #11058
- docs: correct optimism snapshot download url by @crazykissshout in #11065
- net: replace reth-primitive imports with alloy-eips by @estensen in #11027
- feat(payload): abstract payload builder in trait by @greged93 in #10965
- chore(storage): add test cases for
Header
truncation by @joshieDo in #11048 - chore(rpc): remove use of extensible transaction + receipt types by @emhane in #9774
- docs: fix rpc-types-compat in docs by @crazykissshout in #11076
- Replace
reth-provider
dep inreth-rpc-eth-types
by @emhane in #11077 - Move
OptimismHardfork
to new cratereth_optimism_forks
by @emhane in #10963 - feat(tree): add more insert block debug logs by @Rjected in #11078
- perf: increase threads in global pool by @fgimenez in #11075
- chore: remove dead_code on InMemoryAccountTrieCursor by @Rjected in #11080
- Add new NetIf variant to NatResolver for IP resolution via network interface by @garwahl in #10922
- chore: allow static mut ref by @mattsse in #11083
- chore: replace reth-rpc-types by alloy-rpc-types by @greged93 in #11071
- fix: enable js-tracer by @mattsse in #11087
- chore: stop using static mut by @DaniPopes in #11088
- chore(storage): add test cases for
Transactions
andReceipts
truncation by @joshieDo in #11070 - rpc-types: replace reth
TransactionRequest
by alloy by @tcoratger in #11091 - rpc: rm useless
alloy_rpc_types_txpool
reexport by @tcoratger in #11092 - chore: reth payload without reth rpc types by @greged93 in #11097
- rpc: rm useless
alloy-rpc-types-mev
reexport by @tcoratger in #11093 - rpc: rm useless
alloy-rpc-types-anvil
reexport by @tcoratger in #11094 - Split MevApi trait into two #11036 by @0xriazaka in #11081
- rpc: rm useless
alloy_rpc_types_trace
reexport by @tcoratger in #11096 - rpc: rm useless
alloy_rpc_types_debug
reexport by @tcoratger in #11095 - rpc: rm useless
alloy_rpc_types
reexport by @tcoratger in #11098 - use HashMap::with_capacity by @nkysg in #11106
- fix(cli): handle case when first transaction range is
None
onreth db stats
by @joshieDo in #11107 - rpc: rm useless reexports in
reth-rpc-types
by @tcoratger in #11113 - Add payload builder metrics to Grafana dashboard by @stevencartavia in #11102
- chore(exex): replace reth-primitives with alloy by @Abhishekkochar in #11104
- chore: clear reth rpc types from reth binary by @greged93 in #11120
- docs: correct
requested_empty_payload
metric docs by @onbjerg in #11119 - feat: add deploy tx helper to e2e utils by @onbjerg in #11117
- chore(hive): update expected failures by @fgimenez in #11121
- storage-api: update BlockReaderIdExt by @nkysg in #11110
- chore: Log an error when failing to resolve external ip address by @garwahl in #11085
- feat: add set code tx helper to e2e utils by @onbjerg in #11118
- primitives: use alloy
Header
struct by @tcoratger in #10691 - chore(deps): weekly
cargo update
by @github-actions in #11101 - feat: use alloy Signature type by @leruaa in #10758
- docs(ci): add docs to
bench.yml
by @joshieDo in #11128 - chore: remove reth-rpc-types import by @greged93 in #11125
- feat: add
ChainSpec
AT toEngineTypes
by @klkvr in #11054 - chore: rm redundant builder types by @mattsse in #11129
- chore: unify last persisted block hash and number in PersistenceState by @fgimenez in #11126
- feat(engine): save original files for witness invalid block hook by @shekhirin in #11132
- feat: add execute_with_witness by @mattsse in #11074
- fix(tree): adjust both number and hash when removing persisted blocks from memory by @fgimenez in #11133
- chore: remove redundant phantom by @mattsse in #11134
- feat(trie): use global thread pool in async state root calculation by @fgimenez in #11057
- fix(docs): fix error message for missing jwtsecret flag by @Rjected in #11138
- feat(grafana): make execution duration percentage stack plot by @Rjected in #11137
- fix: increment post block balances in invalid block hook by @Rjected in #11139
- chore(trie-common): make tests run without arbitrary by @Rjected in #11142
- feat(trie): add way to serialize maps with Nibbles keys by @Rjected in #11141
- chore(codecs-derive): update should_use_alt_impl by @nkysg in #11148
- feat: add
FlatCallTracer
by @0xkrane in #11114 - fix: use nibbles map serialization for TrieUpdates by @Rjected in #11146
- Refactor
Block
by @roynalnaruto in #10913 - feat: add transact function to 7002 by @mattsse in #11156
- feat:
EngineValidator
by @klkvr in #11144 - chore(ethereum): replace reth-primitives with alloy by @Abhishekkochar in #11155
- feat: add transact function to 4788 by @mattsse in #11157
- feat: add transact function to 7251 by @mattsse in #11158
- feat(trie): use packed encoding
HashSet<Nibbles>
serialization by @Rjected in #11147 - feat(exex): write ahead log by @shekhirin in #10995
- chore(rpc): remove redundant trait bound by @emhane in #11162
- fix(storage): dont skip consistency checks for
op-mainnet
if using minimal bootstrap by @joshieDo in #11099 - feat(witness): use block executor to execute block inside debug_execution_witness by @0x00101010 in #11149
- feat: relax chainspec bounds on
NodeBuilder
and rpc types by @klkvr in #11160 - primitives: rm
alloy_eips::eip1559::calc_next_block_base_fee
reexport by @tcoratger in #11177 - fix(chain-state): fork choice stream should return only when changed by @shekhirin in #11178
- primitives: rm
alloy_eips::eip4844::kzg_to_versioned_hash
reexport by @tcoratger in #11182 - feat(grafana): create initial Reth Performance grafana by @Rjected in #11183
- chore(tree): log and diff header root difference in witness hook by @Rjected in #11184
- primitives: rm
alloy_genesis
reexport by @tcoratger in #11181 - chore(tree): move persistence_state out of mod.rs by @Rjected in #11180
- primitives: rm
alloy_eips::eip7702
reexport by @tcoratger in #11179 - chore: Remove ChainSpec from PayloadConfig by @garwahl in #11103
- feat: add slack notification for hive tests by @fgimenez in #11189
- primitives: rm
alloy_eips::eip2930
reexports by @tcoratger in #11188 - primitives: rm
revm-primitives
reexport by @tcoratger in #11193 - primitives: rm
UintTryTo
reexport by @tcoratger in #11196 - primitives: rm
TxKind
reexport by @tcoratger in #11197 - chore(cli): print an hex encoded string instead on
reth db get ... --raw
by @joshieDo in #11195 - feat: verify unused bits on types derived with
Compact
by @joshieDo in #11131 - feat(rpc): Replace TypedTransactionType by @jenpaff in #11089
- feat(exex): finalize ExEx WAL on new finalized block header by @shekhirin in #11174
- primitives: rm
alloy_consensus::transaction
reexports by @tcoratger in #11191 - perf(engine): migrate to AsyncStateRoot by @fgimenez in #10927
- feat(exex):
ExExNotification::into_inverted
by @shekhirin in #11205 - rpc-types: rm
alloy-rpc-types-engine
reexport by @tcoratger in #11206 - feat(storage): add
HeaderExt
to compactHeader
by @joshieDo in #11166 - refactor(exex): move notifications to a separate module by @shekhirin in #11212
- doc: update some exexhead docs by @prestwich in #11214
- fix(storage): only delete static file if
last_block
is on a previous static file by @joshieDo in #11029 - chore: update helper fn by @mattsse in #11209
- remove IntoRecoveredTransaction by @nkysg in #11221
- chore(tree): add legacy tree metrics to new engine by @Rjected in #11175
- chore(tree): make tree trace targets all engine::tree by @Rjected in #11227
- reth-codec: remove unused derives from alloy compat types by @nkysg in #11231
- chore(evm): replace reth-primitives with alloy by @Abhishekkochar in #11232
- ci: pin clippy to working version by @fgimenez in #11237
- refactor: extract optimism receipts hashing logic to
reth-optimism-consensus
by @klkvr in #11230 - chore(trie): replace ParallelStateRoot with AsyncStateRoot by @fgimenez in #11213
- primitives: rm
H*
deprecated types by @tcoratger in #11246 - primitives: rm more
alloy_primitives
reexports by @tcoratger in #11222 - feat: make
NetworkConfigBuilder
independent of concreteChainSpec
by @klkvr in #11176 - chore:include payload id in trace by @mattsse in #11249
- chore: update revm and alloy primitives by @mattsse in #11235
- fix(cli): fix
ImportReceiptsOp
by @joshieDo in #11216 - feat: tx and receipt compression utils for no-std config by @nadtech-hub in #11112
- move op storage tests into new crate reth-optimism-storage by @nkysg in #11233
- primitives: rm more
alloy_primitives
reexports by @tcoratger in #11250 - feat(tree): introduce reorg count metrics in new engine by @Rjected in #11226
- deps:
[email protected]
by @rkrasiuk in #11260 - chore(exex): remove unneeded code by @shekhirin in #11267
- feat(exex): write notification files atomically by @joshieDo in #11264
- feat(exex): add parent hash to WAL block cache, index by hashes by @shekhirin in #11263
- feat(exex): WAL handle by @shekhirin in #11266
- chore(trie): early return on empty state by @rkrasiuk in #11271
- feat: canonical state for local engine by @greged93 in #11245
- docs: clarify block order by @mattsse in #11279
- chore: use Arc over Box by @mattsse in #11281
- fix: make canonical_chain atomic and canonical by @mattsse in #11283
- chore: add traces for blob sidecar ops by @mattsse in #11284
- perf: remove sidecar clone if no listeners by @mattsse in #11285
- feat:
ExExEvent::FinishedHeight
takesBlockNumHash
instead by @joshieDo in #11278 - chore(exex-eips): replace reth-primitives with alloy-eips by @Abhishekkochar in #11275
- optimism: fix 'expecte' by @LandLord529 in #11290
- perf(db): use smallvec for mdbx table names by @DaniPopes in #11291
- feat(exex): send canonical notifications when head is provided by @shekhirin in #11280
- feat(trie): extract
StorageProof
by @rkrasiuk in #11269 - perf: improve IntegerList API to avoid allocations by @DaniPopes in #11292
- perf(db): use encode_to in Scale implementations by @DaniPopes in #11297
- chore(
rpc
): use alloy'sKeccak256
hasher instead of manually concatenating hash bytes by @Evalir in #11298 - fix(reth-ipc): pass through extensions from request by @benluelo in #11300
- chore(exex):move maximum ExExManager capacity to a constant by @nkysg in #11293
- chore: rename param by @mattsse in #11287
- test(rpc): filter test is taking too long by @shekhirin in #11288
- perf(trie): use unstable sort when sorting for computing roots by @DaniPopes in #11301
- chore(deps): bump tracy by @DaniPopes in #11305
- chore: remove generics from Decode and Decompress by @DaniPopes in #11295
- perf(db): cache
ProcessUID::own
in memory by @DaniPopes in #11302 - chore(blockchain-tree): replace reth-primitives with alloy-eips by @Abhishekkochar in #11276
- chore(op): unify crate name reth-optimism-* by @nkysg in #11223
- fix: improve ecies error fatal variants by @caglaryucekaya in #11303
- feat: use
OpChainSpec
inOptimismNode
and its components by @klkvr in #11304 - feat: mev_simBundle by @SkandaBhat in #11252
- chore: relax trait bounds on transact fns by @mattsse in #11310
- chore: use core::error by @mattsse in #11313
- chore: rm ToRpcError usage from engine crate by @mattsse in #11311
- Remove unused dependencies by @c410-f3r in #11320
- chore(deps): weekly
cargo update
by @github-actions in #11319 - feat(exex): finalize WAL only when all ExExes are on the canonical chain by @shekhirin in #11289
- chore: update default payload builder logs by @Rjected in #11315
- use
core::error::Error
by @tcoratger in #11317 - primitives: rm more
alloy_primitives
reexports by @tcoratger in #11255 - primitives: rm more
alloy_primitives
reexports by @tcoratger in #11325 - feat(exex): finalize WAL with the lowest finished height by @shekhirin in #11323
- fix(trie): witness empty root node by @rkrasiuk in #10972
- feat: add SystemCaller helper type by @mattsse in #11068
- chore(builder): reorder revm
State
import by @Rjected in #11316 - feat(exex): finalize WAL below the given block by @shekhirin in #11324
- deps: remove
reth-metrics-derive
formetrics-derive
by @rkrasiuk in #11335 - chore: alloy 0.4 by @mattsse in #11334
- fix(libmdbx): Some options can only be set after
mdbx_env_open
by @wtdcode in #11328 - fix: sequencer client must be arced by @mattsse in #11337
- impl
Encodable2718
,Decodable2718
forTransactionSigned
by @klkvr in #11218 - fix(providers): collect BlockState before constructing DB provider by @Rjected in #11338
- feat: wire SystemCaller by @fgimenez in #11321
- fix(provider): replace
block_state_by_tx_id
withget_in_memory_or_storage_by_tx_id
by @joshieDo in #11340 - feat(exex, primitives): serde bincode compatibility by @shekhirin in #11331
- perf(db): use Into to encode StoredNibbles by @DaniPopes in #11350
- fix(hooks): sort reverts in
BundleState
before comparison by @Rjected in #11358 - chore(cli): Add warning for misconfigured HTTP API flags by @TheDhejavu in #11360
- fix: never ban trusted peers by @mattsse in #11254
- feat(exex): use rmp-serde for WAL storage by @shekhirin in #11353
- ci(hive): update expected rpc-compat failures by @fgimenez in #11367
- chore: log num hash by @mattsse in #11364
- docs: misc in memory docs by @mattsse in #11365
- fix(provider): use
canonical_chain
on range lookups by @joshieDo in #11332 - fix(evm): propagate optimism and test features correctly by @shekhirin in #11373
- dev: block_with_senders on BlockState by @greged93 in #11363
- chore: propagate std feature to alloy-trie by @DaniPopes in #11371
- test(engine): improve deep reorg test by @rkrasiuk in #11378
- feat: add ReputationChangeWeights::zero by @mattsse in #11375
- perf(engine): avoid unnecessary arc clones on new head by @rkrasiuk in #11381
- feat(trie): deserialize trie updates with serde as hex by @shekhirin in #11369
- fix(exex): set next file ID when creating WAL storage by @shekhirin in #11372
- chore: limit tracing logs to debug by default by @DaniPopes in #11377
- chore(deps): bump some breaking deps by @DaniPopes in #11388
- chore: Remove redundant impl NetworkManager by @nkysg in #11390
- fix(provider): handle race on
fn transaction_id
by @joshieDo in #11380 - chore(db): simplify Compact for Vec by @DaniPopes in #11361
- fix: use pending state if available by @mattsse in #11391
- fix(tree): use in-memory data first to query total difficulty by @fgimenez in #11382
- fix: add tracing features to op binary by @mattsse in #11395
- feat(primitives): bincode compatibility for EIP-7702 transaction by @shekhirin in #11394
- fix(engine):
is_fork
header traversal by @rkrasiuk in #11368 - chore(Makefile): separate features by spaces only by @Rjected in #11393
- chore: rename default chainspec parser by @mattsse in #11398
- ci: pin clippy to working version by @nkysg in #11401
- fix: fetch header by hash by @mattsse in #11407
- chore: add metric and trace for already executed blocks by @mattsse in #11406
- chore: make clippy happy by @mattsse in #11408
- feat(net): Perform graceful network shutdown before dropping network in NetworkManager by @garwahl in #11404
- chore: rm crate reth-rpc-types by @nkysg in #11341
- feat: add
get_in_memory_or_storage_by_block
toBlockchainProvider2
by @joshieDo in #11384 - dev: swap_remove by @greged93 in #11405
- fix(stages): call post execute/unwind commit hooks by @shekhirin in #11413
- fix(exex): check exex head against node head to determine canonical by @shekhirin in #11410
- chore: rm todos by @nkysg in #11400
- feat(trie): bincode compatibility for trie updates by @shekhirin in #11409
- fix: apply 4788 system call in tracing by @mattsse in #11417
- feat(stages): fail Execution if post execute commit input isn't consumed by @shekhirin in #11418
- feat(chain-state): notify about new safe/finalized only if modified by @shekhirin in #11383
- fix(exex): do not finalize WAL with a block higher than finalized header by @shekhirin in #11420
- chore(provider): rename to
get_in_memory_or_storage_by_block_range_while
by @joshieDo in #11421 - chore(sdk): define traits for primitives
Block
andBlockBody
by @emhane in #11411 - chore: remove temporary allow attribute by @fgimenez in #11428
- chore(provider): dont recover sender from
BlockState
transaction ontransaction_sender
by @joshieDo in #11424 - feat(exex): WAL metrics by @shekhirin in #11431
- Fix: Reorder all serde_bincode_compat module definitions by @varun-doshi in #11435
- feat(exex): commit notifications to WAL before sending to ExExes by @shekhirin in #11354
- fix: reset pruned sender numbers on stage drop by @hai-rise in #11150
- feat: add
get_in_memory_or_storage_by_tx_range
by @joshieDo in #11414 - chore: make clippy happy by @mattsse in #11439
- docs: fix wrong method name by @kariy in #11441
- fix: env tempdir failure on WAL creation by @shekhirin in #11446
- primitives: remove optimism re-export in
reth-primitives
by @tcoratger in #11438 - fix(exex): WAL size metric by @shekhirin in #11448
- chore: replace
Compact
withbincode
onETL
usage ofSealedHeader
by @joshieDo in #11442 - fix(exex): limit the duration of a backfill job to 30 seconds by @shekhirin in #11450
- feat: impl payload attributes builder by @greged93 in #11336
- chore(provider): use
get_in_memory_or_storage
ontransactions_by_block_range
by @joshieDo in #11453 - chore(exex): adjust WAL gauge metric names by @shekhirin in #11454
- chore(provider): use
get_in_memory_or_storage_by_block
onfn block_body_indices
by @joshieDo in #11452 - chore(provider): find
last_database_block_number
withBlockState
anchor instead by @joshieDo in #11455 - feat: add metrics for failed deliveries by @mattsse in #11456
- chore: release 1.0.8 by @mattsse in #11457
- chore(provider): use
block_ref
instead onBlockState
by @joshieDo in #11458 - feat(rpc): Add codes in execution witness return by @0x00101010 in #11443
- fix: ensure the request's gas limit does not exceed the target gas limit by @mattsse in #11462
- feat(grafana): ExEx WAL by @shekhirin in #11461
- fix: use correct rpc errors by @mattsse in #11463
- chore(provider): clone after filtering on
sealed_headers_while
by @joshieDo in #11459 - Map
TransferKind::EofCreate
=>OperationType::OpEofCreate
by @emhane in #11090 - fix: windows build by @mattsse in #11465
New Contributors
- @0xriazaka made their first contribution in #11081
- @stevencartavia made their first contribution in #11102
- @nadtech-hub made their first contribution in #11112
- @benluelo made their first contribution in #11300
- @c410-f3r made their first contribution in #11320
- @wtdcode made their first contribution in #11328
- @TheDhejavu made their first contribution in #11360
- @varun-doshi made their first contribution in #11435
- @kariy made their first contribution in #11441
Full Changelog: v1.0.7...v1.0.8