Reth v1.0.4
Summary
-
RPC
- trace_filter filtering with trace's address (#9722)
- fix trace inconsistencies (paradigmxyz/revm-inspectors#173 paradigmxyz/revm-inspectors#172 paradigmxyz/revm-inspectors#171 paradigmxyz/revm-inspectors#170)
- include current stage progress in
eth_syncing
(#10042) - include error in
eth_createAccessList
(#10021) - add
debug_executionWitness
(#9249) - Relax nonce and fee validation for eth_calls and alike (#9967 #9968)
- don't error on "pending" block in
eth_feeHistory
(#9904)
-
fix: deadlock on StaticFileProvider::get_writer (#10069)
-
fix: drop provider before getting the next one on range queries (#10034)
-
fix: set finalized & safe block information on startup (#9898)
-
fix: allow empty IP when decoding Ping's from field (#9953)
-
OP-reth
- make discv4 opt-in (#9938)
-
Dev
Update Priority
This table provides priorities for which classes of users should update particular components.
User Class | Priority |
---|---|
Payload Builders | high |
Non-Payload Builders | high |
See Update Priorities for more information about this table.
All Changes
- Check features powerset for
reth-primitives
(#10138) - chore: ensure persistence receiver is dropped (#10133)
- fix: use actual latest state for BlockchainProvider2 (#10137)
- chore: rename EngineApiTreeHandler (#10140)
- chore(reth-node-metrics): remove unused code (#10139)
- chore: remove trait EngineApiTreeHandler (#10136)
- Check features powerset in
reth-codecs
(#10134) - chore: release 1.0.4 (#10122)
- docs: misc engine docs (#10135)
- feat: add EngineApiKind enum (#10128)
- typo: replace [BlockId] by [
BlockId
] (#10121) - trie: add
Default
impl forAccountProof
(#10132) - remove pending block support from OpEthApi (#10074)
- feat: add EngineApi metrics (#10125)
- chore(engine): enable clippy checks (#10120)
- update op-reth docs for discv4 option (#10119)
- feat: Support custom EvmConfig for ethereumpayload builder (#10117)
- fix: validate header against parent in engine2 (#10114)
- dep: rm unused dependencies (#10099)
- perf: spawn eth orchestrator as regular task (#10113)
- chore: rm redundant ( (#10112)
- chore(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2 (#10109)
- fix: use in memory state for state_by_hash (#10105)
- feat: enable asm-keccak on more platforms (#10101)
- chore(net): Move
reth_network::NetworkEvents
intoreth-network-api
(#10062) - chore: add additional traces for promoted txs (#10093)
- fix: ensure we're skipping invalid tx kinds (#10095)
- chore(reth-network-api): fix typos (#10094)
- test: live sync transition, tree requests required blocks (#10082)
- chore: dont use tmp lock vars (#10092)
- Add in-memory block TD lookup support (#10052)
- tx-pool: add unit tests for
add_sender_count
(#10086) - chore(rpc): remove parent beacon root from conversion functions (#10090)
- feat: add metrics for in-memory state (#10085)
- fix: use recv timeout if persistence task is active (#10087)
- feat(evm): support
wasm32-wasip1
(#10083) - fix: deadlock on StaticFileProvider::get_writer (#10069)
- tx-pool: add unit tests for
EthPooledTransaction
(#10080) - feat: add api bindings for eth_simulateV1 (#10050)
- feat: add empty state method for tests (#10045)
- chore: re-add derived 7702 arbitrary impl (#9720)
- workflows: don't run assertoor tests on forks (#10077)
- Move
PeersHandleProvider
to new modulereth_network_api::test_utils
(#10060) - tx-pool: add unit tests for
FinalizedBlockTracker
update
(#10078) - chore(reth-ethereum-engine): Replace HeadersClient + BodiesClient with BlockClient (#10065)
- chore(reth-beacon-consensus): Replace HeadersClient + BodiesClient with BlockClient (#10066)
- chore(reth): Replace HeadersClient + BodiesClient with BlockClient (#10067)
- chore(reth-engine-tree): Replace HeadersClient + BodiesClient with BlockClient (#10073)
- Move reth_eth_wire::ProtocolVersion and reth_eth_wire::Capabilities to reth-eth-wire-types (#10071)
- chore(reth-network-p2p): Replace HeadersClient + BodiesClient with BlockClient (#10058)
- chore(reth-node-builder): Replace HeadersClient + BodiesClient with BlockClient (#10059)
- chore(deps): weekly
cargo update
(#10064) - fix: start payload builder on already canon head (#10041)
- chore(net): move
reth_network::BlockDownloaderProvider
toreth-network-api
(#10003) - chore: replace unreachable error variant (#10049)
- feat: improve download observability (#10039)
- implement part of
reth p2p rlpx ping
(#9762) - Added sync stages status to eth_sync (#10042)
- chore: remove expects in persistence task (#10031)
- fix: drop
provider
before getting the next one on range queries (#10034) - feat: use BTreemap for block numbers in CanonicalInMemoryState (#10040)
- feat: add prague check in ExecutionPayloadValidator (#10033)
- feat: add engine2 Dockerfile (#10036)
- deps: bump zstd (#10032)
- feat: support in memory lookups in BlockchainProvider2 (#9999)
- feat: add more granular tx propagation logs (#10026)
- chore(net): move
reth_eth_wire::DisconnectReason
toreth-eth-wire-types
(#10006) - tx-pool: rm constraint for
PoolTransaction
(#10024) - chore: use correct type in
getAccount
(#10023) - chore: use
UnifiedStorageWriter::commit
where possible (#10019) - chore: sort workspace Cargo.toml entries (#10022)
- chore: use alloy AccessList result (#10021)
- feat: add method to check prague active at timestamp (#10020)
- feat(primitives):
k256
crate fallback forsecp256k1
module (#9989) - fix(rpc/trace): trace_filter filting with trace's address (#9722)
- feat: add tx-level subpool add and remove traces (#10001)
- chore: better tree observability (#10014)
- tx-pool: add
Default
impl forTransactionOrigin
(#10013) - chore: downgrade empty blocks to persist trace to debug (#10012)
- feat : add storage_root provider function for account (#9659)
- op-reth: Enable eth_getProof inside authrpc (#10010)
- refactor(trie): remove dependency on
reth-db
andreth-db-api
(#10008) - refactor(trie): move database implementations of trie cursors to
reth-trie-db
crate (#10004) - feat(rpc):
debug_executionWitness
(#9249) - refactor(trie): move hashed post state database transaction related functions to
reth-trie-db
crate (#9987) - chore(sdk): enable referencing network type via
FullNodeComponents::Network
(#9921) - feat(ci):
check_no_std
->check_wasm
(#9982) - feat: add has eip7702 transactions (#9996)
- chore: move
remove_blocks_above
toStorageWriter
(#9997) - feat: add pipeline consistency check to launch ctx and use in launcher (#9994)
- chore(net): extract
NetworkHandle
methods for launching node to traits (#9966) - chore: move
save_blocks
toStorageWriter
(#9991) - chore: combine persistence task removal methods (#9975)
- fix: do not truncate blocks to persist (#9986)
- chore(net, primitives): use
derive_more::Display
more (#9992) - test: add engine tree test, FCU triggers reorg with all the blocks present (#9943)
- feat(primitives): improve
no_std
with manual errors andalloc::String
(#9990) - typo: fix typo in
best
tx pool doc (#9988) - feat(trie): expose trie witness on proof provider (#9915)
- feat: handle disconnected blocks (#9981)
- tx-pool: Make txpool independent of primitive tx types (#9916)
- chore: turn static file field generic on
StorageWriter
(#9980) - chore(trie): move
PrefixSetLoader
to db crate (#9985) - chore(net): Remove dependency
reth-network-p2p
->reth-network-types
(#9984) - feat: Add OP cli flag to opt-in into discv4 discovery (#9938)
- chore: remove
segment
argument fromincrement_block
(#9977) - fix: only write receipts once on
PersistenceService::save_blocks
(#9976) - feat: include block number in input (#9971)
- feat: combine block writing in persistence task (#9960)
- fix: remove persisted blocks properly (#9969)
- doc: replace expired example (#9973)
- fix: treat maxfeepergas 0 as missing (#9967)
- fix: also ignore nonce in eth_estimate (#9968)
- feat(exex): backfill stream in batches (#9738)
- chore: remove outdated Bodies stage TODO (#9965)
- chore: remove outdated TODOs on execution tests (#9964)
- Move reputation types from
reth-network-api
toreth-network-types
(#9914) - fix: dont select more rayon threads than cpus (#9956)
- fix: allow empty IP when decoding Ping's from field (#9953)
- refactor(trie): use
reth-storage-errors
forDatabaseError
type (#9951) - feat(provider): more logs for static files (#9949)
- feat: set pending block in canonical memory (#9950)
- chore: remove
write_trie_updates
fromStorageWriter
(#9947) - fix: share
DatabaseProviderRW
onPersistenceAction::SaveBlocks
(#9929) - fix: update indices outside of loop on
PersistenceService
(#9945) - fix: only check canonical height (#9941)
- docs: improving docs from
TestBlockBuilder
(#9936) - chore: pick safe hash for initial download (#9934)
- feat: handle insert buffered block err gracefully (#9933)
- fix: persistence action initial block insertion (#9930)
- chore: move
write_hashed_state
fromStorageWriter
totrait StateChangeWriter
(#9927) - feat: support DNS in reth.toml for trusted_nodes (#9864)
- test: add TestBlockBuilder (#9925)
- chore: use StateRootProvider::hashed_state_root_with_updates (#9928)
- feat: handle tree execution errors gracefully (#9920)
- fix: temporary attribute to prevent clippy warnings (#9922)
- feat: add better engine insert block error type (#9884)
- chore(blockchain-tree): rename BlockchainId to SidechainId (#9891)
- fix: write transactions on save_blocks call (#9912)
- chore: dont disable discv4 on op (#9918)
- feat(trie): database trie witness (#9913)
- feat(trie): witness (#9803)
- fix: add missing commit calls for persistence (#9906)
- chore: refactor BlockExecutionError into validation and internal errors (#9911)
- chore: remove more redundant BlockExecutionError variants (#9905)
- fix: terminate on closed persistence task (#9910)
- fix: only persist the canonical chain (#9908)
- fix: ensure we can handle pending target for feeHistory (#9904)
- fix(op): ensure
EthApiServer
helper trait method default impls, callOpEthApi
overrides (#9879) - fix: update tracked canonical head on backfill finish (#9902)
- docs: update optimism book with new
op-node
flag--l2.enginekind=reth
(#9901) - fix: set finalized & safe block information on startup (#9898)
- fix: check if head block is already canonical (#9900)
- fix: use correct range to persist (#9896)
- fix: ensure backfill and persistence dont happen at the same time (#9895)
- fix: also update persisted height after backfill run (#9894)
- fix: overflow on persistence check (#9892)
- test: add engine tree test, FCU with missing head (#9890)
- fix "feat(evm): use RethEvmBuilder inside ConfigureEvm" (#9813)
- feat: connect buffered blocks on backfill sync finish (#9876)
- perf: use try_join_all when resolving bootnodes (#9886)
- fix: also set configured bootnodes for discv5 (#9885)
- e2e-test: add workspace lint (#9882)
- chore: remove unused second BlockchainTreeError variant (#9881)
- chore: remove unused PreCancunBlock beacon error (#9880)
- chore: improve tx forwarding (#9878)
- Revert "Moving Optimism bin to Optimism Cli" (#9875)
- fix(tree): hashed state aggregation (#9874)
- test: refactor engine tree TestHarness (#9871)
- refactor: Add AccessList result type to eth_createAccessList (#9811)
- feat: state housekeeping after backfill finished (#9870)
- test: add new test functions for engine tree (#9869)
- Moving Optimism bin to Optimism Cli (#9439)
- feat: support make canonical on demand (#9867)
- fix(node-core): build time cargo features (#9866)
- feat: update backfill sync state to pending when we request it (#9865)
- chore: move pending_with_provider to a struct fn (#9850)
- chore: rm uneccessary trait impl (#9848)
- docs: fix code link in db.md (#9852)
- tx-pool: add unit tests for
LocalTransactionConfig
(#9859) - chore: enable unused deps check in reth-engine-tree (#9861)
- fix(txpool/blob): make blob delete failed more accurate (#9846)
- fix(disc): correct order of
NodeRecord
fields (#9858) - fix: rm bad rpc error conversion (#9857)
- rpc: refactor
transaction_by_hash_at
(#9854) - chore(deps): weekly
cargo update
(#9856) - tx-pool: add unit tests and refactor identifiers (#9855)
- chore: fix typos (#9851)
- rpc: refactor
rpc-eth-api
(#9843) - chore: fix clippy errors (#9845)
- impl
TryFrom<alloy_rpc_types::Transaction> for TransactionSignedNoHash
(#9823) - fix(engine): use provider to initialize persistence state (#9785)
- txpool: fix typo (#9842)
- feat(op): rm link to testinprod state dump (#9756)
- fix(op): add empty receipts for genesis if first block is one (#9769)
- chore(revm): rm no longer used BlockExecutorStats (#9830)
- feat(trie): allow passing intermediate nodes to overlay state root (#9839)
- feat: add TreeConfig (#9833)
- chore: misc canon docs and pending block update (#9832)
- feat(trie): trie node update extension (#9838)
- perf(trie): pass owned hashed state to trie methods (#9837)
- chore: update codeowners chain-state (#9835)
- feat: add CanonicalInMemoryState::set_pending_block (#9834)
- chore(trie): database trie cursor factory wrapper (#9831)
- chore: remove outdated docs (#9827)
- chore: reverse MemoryOverlayStateProvider block order (#9826)
- feat: integrate memory overlay in canonical state (#9817)
- chore: use readonly providers in StorageWriter (#9822)
- chore: rename to PersistenceHandle::spawn_service (#9824)
- engine: improve backfill state tracking (#9820)
- fix: terminate node on fatal error (#9810)
- fix: gas and gasUsed in trace root only for ParityTrace (#9761)
- fix(net): batch
P2PStream
sends (#9498) - feat: invole on_request trackers (#9814)
- chore(rpc):
EthApiTypes
trait for network specific error AT (#9523) - fix(cli): set receipts pruning for chain without deposit contract (#9782)
- chore: more misc tracing (#9809)
- feat: move metrics to its own crate (#9691)
- Revert "feat(evm): use
RethEvmBuilder
insideConfigureEvm
" (#9805) - feat(trie): multiproof (#9804)
- chore: fix unnameable-types lint on
blockchain-tree
andrpc
crates (#9757) - refactor(trie): move proof database related operations to an extension trait in
reth-trie-db
crate (#9743) - FatalError in EngineHandlerEvent (#9800)
- Adding Canyon hardfork to optimism devnet (#9801)
- chore: move tree module to single file (#9802)
- feat: improve in memory block tracking (#9773)
- chore: add some request instrumentation (#9797)
- feat(evm): use
RethEvmBuilder
insideConfigureEvm
(#9745) - fix: set pipeline state back to idel (#9795)
- docs: redirect the reth-docs chapter link (#9565)
- fix: use saturating sub for getting safe and finalized hashes (#9792)
- feat: update network status with new head (#9788)
- fix: use parent hash for chain traversal (#9790)
- chore(node/event): reduce the dup of extract eta and checkpoint (#9789)
- feat: implement compact for eof bytecode variant (#9654)
- feat: remove StateChanges and StateReverts (#9781)
- fix(rpc/eth): remove cache when reorg occured (#9775)
- chore: move MemoryOverlayStateProvider to chain-state crate (#9779)
- chore: replace generic state provider with boxed trait (#9780)
- chore(metrics): summable reth_info value (#9679)
- feat: remove persisted blocks from canonical in mem chain (#9776)
- feat: add engine2 binary (#9772)
- feat: add missing canonical checks for safe+finalized block (#9765)
- chore: relax some builder api trait bounds (#9770)
- feat: remove persisted blocks from memory (#9768)
- test: use native test macros (#9766)
- feat: provide CanonicalInMemory state as input to EngineHandler (#9764)
- feat: move hashed state and trie writing to provider (#9636)
- feat: perform canonical in memory state update (#9763)
- docs: some additional in mem docs (#9759)
- feat: integrate BlockchainProvider2 in EthNodeLauncher (#9754)
- feat: add parent blockstate to blockstate (#9755)
- chore: use dl single block (#9751)
- feat: add skeletons for safe+finalized checks (#9744)
- chore: add static file helpers on StorageWriter (#9740)
- fix(op):skip db consistency check for op mainnet (#9737)
- evm: add
RethEvmBuilder
(#9655) - test: add holesky sync test (#9742)
- fix: properly convert canon chain event (#9736)
- feat(exex): stream parallelism on backfill factory level (#9734)
- feat: emit chain notifications (#9732)
- chore: convert block to named field (#9733)
- feat: add new BlockchainProvider type (#9656)
- feat: process fcu new head (#9728)
- chore: move chain state notifications to reth-chain-state crate (#9730)
- chore: combine static file and database services (#9713)
- feat: process payload attributes (#9729)
- refactor(trie): move storage root database operations into an extension trait in the
reth-db-trie
crate (#9721) - chore: fix
unnameable-types
lint oncore
,payload
andprimitives-traits
crates (#9724) - feat: some progress on FCU handling (#9727)
- chore: remove proptest-derive dev deps (#9719)
- chore: remove reth-cli-util proptest dependency (#9718)
- book: fix ExEx minimal example link (#9717)
- chore: re-enable no_std CI checks (#9716)
- Use
ProviderFactory::new_with_database_path
in example (#9715) - no_std support for reth-revm and fixed tests (#9634)
- chore: remove ownership requirement for static file methods (#9709)
- test: add test for fcu during backfill (#9712)
- chore: no_std support in reth-evm-ethereum (#9687)
- docs: add pruning related documentation for db service (#9711)
- feat: integrate payload builder in engine api impl (#9710)
- feat: extract on message handler fn (#9708)
- chore(trie): introduce wrapper struct for hashed cursor related impls (#9707)
- feat: recheck backfill sync (#9690)
- chore(rpc): include call stipend for optimistic gas limit (#9703)
- chore: ensure highest gas limit tracks txenv.gaslimit of success (#9702)
- feat: add state crate (#9701)
- feat: issue download requests (#9704)
- feat: provide backfill outcome in finished event (#9692)
- chore: return content type for prometheus metrics (#9676)
- feat: port backfill sync target function (#9699)
- refactor(trie): move state root database operations into extension trait (#9635)
- feat: scaffold make canonical (#9697)
- chore: rm comments about redundant checks (#9698)
- feat: update sync state based on chain event (#9695)
- feat: add disconnect block handling skeleton (#9693)
- feat: handle downloaded blocks (#9684)
- docs: add some engine api tree handler docs (#9686)
- feat: support initial target pipeline sync (#9683)
- chore: improve engine api event handling (#9682)
- fix(rpc-trace): add after and count to
trace_filter
(#9662) - chore(deps): weekly
cargo update
(#9677) - feat: integrate event handling (#9666)
- chore(trie): accept
from
block instead of range in hashed state (#9675) - chore(deps): bump dashmap 6 (#9664)
- chore: rm redundant event variant (#9674)
- feat: implement EngineApiRequestHandler::poll (#9670)
- docs: add some additional engine docs (#9669)
- chore: rm some unused types (#9667)
- chore: rm redundant event variant (#9668)
- chore: improve beacon api example (#9660)
- refactor: some small refactoring (#9657)
- Handling node events (#9658)
- chore: rm uneccessary lifetimes in evm config (#9609)
- Get all checkpoints and stage name from db (#9650)
- test: add test for rpc middleware (#9620)
- chore: require enginetypes 'static (#9645)
- feat: emit beacon event after handled FCU (#9648)
- chore: clarify TransitionConfigurationExchanged event (#9647)
- feat: toggle backfill sync active flag (#9646)
- chore: remove InMemoryState trait (#9642)
- typo: state root error (#9641)
- feat: wire components in EthService (#9621)
- chore: rename variant of
BlockSource
(#9623) - chore(rpc): return unimplemented (#9639)
- chore(evm): move execute input/output to
execution-types
crate (#9624) - chore: add
get_account
method inEthApi
trait (#9632) - chore(exex): organize backfill modules (#9631)
- Turn EthService into a Stream and log the events (#9622)
- fix(stages): do not panic in
disable_all
(#9630) - chore: track_caller for functions that panic (#9626)
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.4-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.4-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.4-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.0.4-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v1.0.4-aarch64-apple-darwin.tar.gz | PGP Signature | |
System | Option | - | Resource |
Docker | paradigmxyz/reth |
What's Changed
- chore: track_caller for functions that panic by @mattsse in #9626
- fix(stages): do not panic in
disable_all
by @shekhirin in #9630 - Turn EthService into a Stream and log the events by @junderw in #9622
- chore(exex): organize backfill modules by @shekhirin in #9631
- chore: add
get_account
method inEthApi
trait by @mvares in #9632 - chore(evm): move execute input/output to
execution-types
crate by @shekhirin in #9624 - chore(rpc): return unimplemented by @mattsse in #9639
- chore: rename variant of
BlockSource
by @mvares in #9623 - feat: wire components in EthService by @fgimenez in #9621
- typo: state root error by @rkrasiuk in #9641
- chore: remove InMemoryState trait by @fgimenez in #9642
- feat: toggle backfill sync active flag by @mattsse in #9646
- chore: clarify TransitionConfigurationExchanged event by @mattsse in #9647
- feat: emit beacon event after handled FCU by @mattsse in #9648
- chore: require enginetypes 'static by @mattsse in #9645
- test: add test for rpc middleware by @mattsse in #9620
- Get all checkpoints and stage name from db by @loocapro in #9650
- chore: rm uneccessary lifetimes in evm config by @mattsse in #9609
- Handling node events by @mvares in #9658
- refactor: some small refactoring by @tcoratger in #9657
- chore: improve beacon api example by @mattsse in #9660
- chore: rm redundant event variant by @mattsse in #9668
- chore: rm some unused types by @mattsse in #9667
- docs: add some additional engine docs by @mattsse in #9669
- feat: implement EngineApiRequestHandler::poll by @mattsse in #9670
- chore: rm redundant event variant by @mattsse in #9674
- chore(deps): bump dashmap 6 by @mattsse in #9664
- chore(trie): accept
from
block instead of range in hashed state by @rkrasiuk in #9675 - feat: integrate event handling by @mattsse in #9666
- chore(deps): weekly
cargo update
by @github-actions in #9677 - fix(rpc-trace): add after and count to
trace_filter
by @EdwardJES in #9662 - chore: improve engine api event handling by @mattsse in #9682
- feat: support initial target pipeline sync by @mattsse in #9683
- docs: add some engine api tree handler docs by @mattsse in #9686
- feat: handle downloaded blocks by @mattsse in #9684
- feat: add disconnect block handling skeleton by @mattsse in #9693
- feat: update sync state based on chain event by @mattsse in #9695
- chore: rm comments about redundant checks by @mattsse in #9698
- feat: scaffold make canonical by @mattsse in #9697
- refactor(trie): move state root database operations into extension trait by @RomanHodulak in #9635
- feat: port backfill sync target function by @mattsse in #9699
- chore: return content type for prometheus metrics by @danyalprout in #9676
- feat: provide backfill outcome in finished event by @mattsse in #9692
- feat: add state crate by @fgimenez in #9701
- feat: issue download requests by @mattsse in #9704
- chore: ensure highest gas limit tracks txenv.gaslimit of success by @mattsse in #9702
- chore(rpc): include call stipend for optimistic gas limit by @mattsse in #9703
- feat: recheck backfill sync by @mattsse in #9690
- chore(trie): introduce wrapper struct for hashed cursor related impls by @rkrasiuk in #9707
- feat: extract on message handler fn by @mattsse in #9708
- feat: integrate payload builder in engine api impl by @mattsse in #9710
- docs: add pruning related documentation for db service by @Rjected in #9711
- chore: no_std support in reth-evm-ethereum by @nkysg in #9687
- chore: remove ownership requirement for static file methods by @Rjected in #9709
- test: add test for fcu during backfill by @mattsse in #9712
- no_std support for reth-revm and fixed tests by @martinezjorge in #9634
- Use
ProviderFactory::new_with_database_path
in example by @mvares in #9715 - chore: re-enable no_std CI checks by @Rjected in #9716
- book: fix ExEx minimal example link by @tcoratger in #9717
- chore: remove reth-cli-util proptest dependency by @Rjected in #9718
- chore: remove proptest-derive dev deps by @Rjected in #9719
- feat: some progress on FCU handling by @mattsse in #9727
- chore: fix
unnameable-types
lint oncore
,payload
andprimitives-traits
crates by @TropicalDog17 in #9724 - refactor(trie): move storage root database operations into an extension trait in the
reth-db-trie
crate by @RomanHodulak in #9721 - feat: process payload attributes by @mattsse in #9729
- chore: combine static file and database services by @Rjected in #9713
- chore: move chain state notifications to reth-chain-state crate by @fgimenez in #9730
- feat: process fcu new head by @mattsse in #9728
- feat: add new BlockchainProvider type by @fgimenez in #9656
- chore: convert block to named field by @mattsse in #9733
- feat: emit chain notifications by @mattsse in #9732
- feat(exex): stream parallelism on backfill factory level by @shekhirin in #9734
- fix: properly convert canon chain event by @mattsse in #9736
- test: add holesky sync test by @mattsse in #9742
- evm: add
RethEvmBuilder
by @tcoratger in #9655 - fix(op):skip db consistency check for op mainnet by @emhane in #9737
- chore: add static file helpers on StorageWriter by @Rjected in #9740
- feat: add skeletons for safe+finalized checks by @mattsse in #9744
- chore: use dl single block by @mattsse in #9751
- feat: add parent blockstate to blockstate by @mattsse in #9755
- feat: integrate BlockchainProvider2 in EthNodeLauncher by @fgimenez in #9754
- docs: some additional in mem docs by @mattsse in #9759
- feat: perform canonical in memory state update by @mattsse in #9763
- feat: move hashed state and trie writing to provider by @Rjected in #9636
- feat: provide CanonicalInMemory state as input to EngineHandler by @fgimenez in #9764
- test: use native test macros by @mattsse in #9766
- feat: remove persisted blocks from memory by @mattsse in #9768
- chore: relax some builder api trait bounds by @mattsse in #9770
- feat: add missing canonical checks for safe+finalized block by @mattsse in #9765
- feat: add engine2 binary by @mattsse in #9772
- feat: remove persisted blocks from canonical in mem chain by @mattsse in #9776
- chore(metrics): summable reth_info value by @danyalprout in #9679
- chore: replace generic state provider with boxed trait by @fgimenez in #9780
- chore: move MemoryOverlayStateProvider to chain-state crate by @fgimenez in #9779
- fix(rpc/eth): remove cache when reorg occured by @jsvisa in #9775
- feat: remove StateChanges and StateReverts by @Rjected in #9781
- feat: implement compact for eof bytecode variant by @mattsse in #9654
- chore(node/event): reduce the dup of extract eta and checkpoint by @jsvisa in #9789
- fix: use parent hash for chain traversal by @mattsse in #9790
- feat: update network status with new head by @mattsse in #9788
- fix: use saturating sub for getting safe and finalized hashes by @mattsse in #9792
- docs: redirect the reth-docs chapter link by @MagicJoshh in #9565
- fix: set pipeline state back to idel by @mattsse in #9795
- feat(evm): use
RethEvmBuilder
insideConfigureEvm
by @tcoratger in #9745 - chore: add some request instrumentation by @mattsse in #9797
- feat: improve in memory block tracking by @fgimenez in #9773
- Adding Canyon hardfork to optimism devnet by @ibremseth in #9801
- chore: move tree module to single file by @fgimenez in #9802
- FatalError in EngineHandlerEvent by @mvares in #9800
- refactor(trie): move proof database related operations to an extension trait in
reth-trie-db
crate by @RomanHodulak in #9743 - chore: fix unnameable-types lint on
blockchain-tree
andrpc
crates by @TropicalDog17 in #9757 - feat(trie): multiproof by @rkrasiuk in #9804
- Revert "feat(evm): use
RethEvmBuilder
insideConfigureEvm
" by @mattsse in #9805 - feat: move metrics to its own crate by @loocapro in #9691
- chore: more misc tracing by @mattsse in #9809
- fix(cli): set receipts pruning for chain without deposit contract by @emhane in #9782
- chore(rpc):
EthApiTypes
trait for network specific error AT by @emhane in #9523 - feat: invole on_request trackers by @mattsse in #9814
- fix(net): batch
P2PStream
sends by @emhane in #9498 - fix(rpc/rpc): gas and gasUsed in trace root only for ParityTrace by @ZzPoLariszZ in #9761
- fix: terminate node on fatal error by @mattsse in #9810
- engine: improve backfill state tracking by @tcoratger in #9820
- chore: rename to PersistenceHandle::spawn_service by @Rjected in #9824
- chore: use readonly providers in StorageWriter by @Rjected in #9822
- feat: integrate memory overlay in canonical state by @fgimenez in #9817
- chore: reverse MemoryOverlayStateProvider block order by @fgimenez in #9826
- chore: remove outdated docs by @mattsse in #9827
- chore(trie): database trie cursor factory wrapper by @rkrasiuk in #9831
- feat: add CanonicalInMemoryState::set_pending_block by @mattsse in #9834
- chore: update codeowners chain-state by @mattsse in #9835
- perf(trie): pass owned hashed state to trie methods by @rkrasiuk in #9837
- feat(trie): trie node update extension by @rkrasiuk in #9838
- chore: misc canon docs and pending block update by @mattsse in #9832
- feat: add TreeConfig by @fgimenez in #9833
- feat(trie): allow passing intermediate nodes to overlay state root by @rkrasiuk in #9839
- chore(revm): rm no longer used BlockExecutorStats by @jsvisa in #9830
- fix(op): add empty receipts for genesis if first block is one by @emhane in #9769
- feat(op): rm link to testinprod state dump by @emhane in #9756
- txpool: fix typo by @tcoratger in #9842
- fix(engine): use provider to initialize persistence state by @Rjected in #9785
- impl
TryFrom<alloy_rpc_types::Transaction> for TransactionSignedNoHash
by @tcoratger in #9823 - chore: fix clippy errors by @nkysg in #9845
- rpc: refactor
rpc-eth-api
by @tcoratger in #9843 - chore: fix typos by @nkysg in #9851
- tx-pool: add unit tests and refactor identifiers by @tcoratger in #9855
- chore(deps): weekly
cargo update
by @github-actions in #9856 - rpc: refactor
transaction_by_hash_at
by @tcoratger in #9854 - fix: rm bad rpc error conversion by @mattsse in #9857
- fix(disc): correct order of
NodeRecord
fields by @dknopik in #9858 - fix(txpool/blob): make blob delete failed more accurate by @jsvisa in #9846
- chore: enable unused deps check in reth-engine-tree by @fgimenez in #9861
- tx-pool: add unit tests for
LocalTransactionConfig
by @tcoratger in #9859 - docs: fix code link in db.md by @crazykissshout in #9852
- chore: rm uneccessary trait impl by @mattsse in #9848
- chore: move pending_with_provider to a struct fn by @mattsse in #9850
- feat: update backfill sync state to pending when we request it by @mattsse in #9865
- fix(node-core): build time cargo features by @shekhirin in #9866
- feat: support make canonical on demand by @mattsse in #9867
- Moving Optimism bin to Optimism Cli by @loocapro in #9439
- test: add new test functions for engine tree by @fgimenez in #9869
- feat: state housekeeping after backfill finished by @mattsse in #9870
- refactor: Add AccessList result type to eth_createAccessList by @c0np4nn4 in #9811
- test: refactor engine tree TestHarness by @fgimenez in #9871
- fix(tree): hashed state aggregation by @rkrasiuk in #9874
- Revert "Moving Optimism bin to Optimism Cli" by @mattsse in #9875
- chore: improve tx forwarding by @mattsse in #9878
- chore: remove unused PreCancunBlock beacon error by @Rjected in #9880
- chore: remove unused second BlockchainTreeError variant by @Rjected in #9881
- e2e-test: add workspace lint by @tcoratger in #9882
- perf: use try_join_all when resolving bootnodes by @mattsse in #9886
- fix: also set configured bootnodes for discv5 by @mattsse in #9885
- feat: connect buffered blocks on backfill sync finish by @mattsse in #9876
- fix "feat(evm): use RethEvmBuilder inside ConfigureEvm" by @tcoratger in #9813
- test: add engine tree test, FCU with missing head by @fgimenez in #9890
- fix: overflow on persistence check by @mattsse in #9892
- fix: also update persisted height after backfill run by @mattsse in #9894
- fix: ensure backfill and persistence dont happen at the same time by @mattsse in #9895
- fix: use correct range to persist by @mattsse in #9896
- fix: check if head block is already canonical by @mattsse in #9900
- fix: set finalized & safe block information on startup by @joshieDo in #9898
- docs: update optimism book with new
op-node
flag--l2.enginekind=reth
by @joshieDo in #9901 - fix: update tracked canonical head on backfill finish by @mattsse in #9902
- fix(op): ensure
EthApiServer
helper trait method default impls, callOpEthApi
overrides by @emhane in #9879 - fix: ensure we can handle pending target for feeHistory by @mattsse in #9904
- fix: only persist the canonical chain by @fgimenez in #9908
- fix: terminate on closed persistence task by @mattsse in #9910
- chore: remove more redundant BlockExecutionError variants by @Rjected in #9905
- chore: refactor BlockExecutionError into validation and internal errors by @Rjected in #9911
- fix: add missing commit calls for persistence by @mattsse in #9906
- feat(trie): witness by @rkrasiuk in #9803
- feat(trie): database trie witness by @rkrasiuk in #9913
- chore: dont disable discv4 on op by @mattsse in #9918
- fix: write transactions on save_blocks call by @Rjected in #9912
- chore(blockchain-tree): rename BlockchainId to SidechainId by @jsvisa in #9891
- feat: add better engine insert block error type by @Rjected in #9884
- fix: temporary attribute to prevent clippy warnings by @fgimenez in #9922
- feat: handle tree execution errors gracefully by @Rjected in #9920
- chore: use StateRootProvider::hashed_state_root_with_updates by @fgimenez in #9928
- test: add TestBlockBuilder by @fgimenez in #9925
- feat: support DNS in reth.toml for trusted_nodes by @loocapro in #9864
- chore: move
write_hashed_state
fromStorageWriter
totrait StateChangeWriter
by @joshieDo in #9927 - fix: persistence action initial block insertion by @joshieDo in #9930
- feat: handle insert buffered block err gracefully by @mattsse in #9933
- chore: pick safe hash for initial download by @mattsse in #9934
- docs: improving docs from
TestBlockBuilder
by @mvares in #9936 - fix: only check canonical height by @mattsse in #9941
- fix: update indices outside of loop on
PersistenceService
by @joshieDo in #9945 - fix: share
DatabaseProviderRW
onPersistenceAction::SaveBlocks
by @joshieDo in #9929 - chore: remove
write_trie_updates
fromStorageWriter
by @joshieDo in #9947 - feat: set pending block in canonical memory by @mattsse in #9950
- feat(provider): more logs for static files by @shekhirin in #9949
- refactor(trie): use
reth-storage-errors
forDatabaseError
type by @shekhirin in #9951 - fix: allow empty IP when decoding Ping's from field by @Rjected in #9953
- fix: dont select more rayon threads than cpus by @mattsse in #9956
- Move reputation types from
reth-network-api
toreth-network-types
by @emhane in #9914 - chore: remove outdated TODOs on execution tests by @Rjected in #9964
- chore: remove outdated Bodies stage TODO by @Rjected in #9965
- feat(exex): backfill stream in batches by @shekhirin in #9738
- fix: also ignore nonce in eth_estimate by @mattsse in #9968
- fix: treat maxfeepergas 0 as missing by @mattsse in #9967
- doc: replace expired example by @AJStonewee in #9973
- fix: remove persisted blocks properly by @mattsse in #9969
- feat: combine block writing in persistence task by @Rjected in #9960
- feat: include block number in input by @mattsse in #9971
- fix: only write receipts once on
PersistenceService::save_blocks
by @joshieDo in #9976 - chore: remove
segment
argument fromincrement_block
by @joshieDo in #9977 - feat: Add OP cli flag to opt-in into discv4 discovery by @nkysg in #9938
- chore(net): Remove dependency
reth-network-p2p
->reth-network-types
by @emhane in #9984 - chore(trie): move
PrefixSetLoader
to db crate by @rkrasiuk in #9985 - chore: turn static file field generic on
StorageWriter
by @joshieDo in #9980 - tx-pool: Make txpool independent of primitive tx types by @tcoratger in #9916
- feat: handle disconnected blocks by @mattsse in #9981
- feat(trie): expose trie witness on proof provider by @rkrasiuk in #9915
- typo: fix typo in
best
tx pool doc by @tcoratger in #9988 - feat(primitives): improve
no_std
with manual errors andalloc::String
by @shekhirin in #9990 - test: add engine tree test, FCU triggers reorg with all the blocks present by @fgimenez in #9943
- chore(net, primitives): use
derive_more::Display
more by @shekhirin in #9992 - fix: do not truncate blocks to persist by @fgimenez in #9986
- chore: combine persistence task removal methods by @joshieDo in #9975
- chore: move
save_blocks
toStorageWriter
by @joshieDo in #9991 - chore(net): extract
NetworkHandle
methods for launching node to traits by @emhane in #9966 - feat: add pipeline consistency check to launch ctx and use in launcher by @mattsse in #9994
- chore: move
remove_blocks_above
toStorageWriter
by @joshieDo in #9997 - feat: add has eip7702 transactions by @mattsse in #9996
- feat(ci):
check_no_std
->check_wasm
by @shekhirin in #9982 - chore(sdk): enable referencing network type via
FullNodeComponents::Network
by @emhane in #9921 - refactor(trie): move hashed post state database transaction related functions to
reth-trie-db
crate by @RomanHodulak in #9987 - feat(rpc):
debug_executionWitness
by @clabby in #9249 - refactor(trie): move database implementations of trie cursors to
reth-trie-db
crate by @RomanHodulak in #10004 - refactor(trie): remove dependency on
reth-db
andreth-db-api
by @RomanHodulak in #10008 - op-reth: Enable eth_getProof inside authrpc by @0x00101010 in #10010
- feat : add storage_root provider function for account by @nkysg in #9659
- chore: downgrade empty blocks to persist trace to debug by @fgimenez in #10012
- tx-pool: add
Default
impl forTransactionOrigin
by @tcoratger in #10013 - chore: better tree observability by @mattsse in #10014
- feat: add tx-level subpool add and remove traces by @Rjected in #10001
- fix(rpc/trace): trace_filter filting with trace's address by @jsvisa in #9722
- feat(primitives):
k256
crate fallback forsecp256k1
module by @shekhirin in #9989 - feat: add method to check prague active at timestamp by @mvares in #10020
- chore: use alloy AccessList result by @mattsse in #10021
- chore: sort workspace Cargo.toml entries by @shekhirin in #10022
- chore: use
UnifiedStorageWriter::commit
where possible by @joshieDo in #10019 - chore: use correct type in
getAccount
by @mvares in #10023 - tx-pool: rm constraint for
PoolTransaction
by @tcoratger in #10024 - chore(net): move
reth_eth_wire::DisconnectReason
toreth-eth-wire-types
by @emhane in #10006 - feat: add more granular tx propagation logs by @Rjected in #10026
- feat: support in memory lookups in BlockchainProvider2 by @fgimenez in #9999
- deps: bump zstd by @shekhirin in #10032
- feat: add engine2 Dockerfile by @Rjected in #10036
- feat: add prague check in ExecutionPayloadValidator by @mvares in #10033
- feat: use BTreemap for block numbers in CanonicalInMemoryState by @mvares in #10040
- fix: drop
provider
before getting the next one on range queries by @joshieDo in #10034 - chore: remove expects in persistence task by @Rjected in #10031
- Added sync stages status to eth_sync by @loocapro in #10042
- implement part of
reth p2p rlpx ping
by @int88 in #9762 - feat: improve download observability by @fgimenez in #10039
- chore: replace unreachable error variant by @mattsse in #10049
- chore(net): move
reth_network::BlockDownloaderProvider
toreth-network-api
by @emhane in #10003 - fix: start payload builder on already canon head by @Rjected in #10041
- chore(deps): weekly
cargo update
by @github-actions in #10064 - chore(reth-node-builder): Replace HeadersClient + BodiesClient with BlockClient by @SkandaBhat in #10059
- chore(reth-network-p2p): Replace HeadersClient + BodiesClient with BlockClient by @nkysg in #10058
- Move reth_eth_wire::ProtocolVersion and reth_eth_wire::Capabilities to reth-eth-wire-types by @nkysg in #10071
- chore(reth-engine-tree): Replace HeadersClient + BodiesClient with BlockClient by @nkysg in #10073
- chore(reth): Replace HeadersClient + BodiesClient with BlockClient by @nkysg in #10067
- chore(reth-ethereum-engine): Replace HeadersClient + BodiesClient with BlockClient by @nkysg in #10065
- chore(reth-beacon-consensus): Replace HeadersClient + BodiesClient with BlockClient by @nkysg in #10066
- tx-pool: add unit tests for
FinalizedBlockTracker
update
by @tcoratger in #10078 - Move
PeersHandleProvider
to new modulereth_network_api::test_utils
by @emhane in #10060 - workflows: don't run assertoor tests on forks by @lmittmann in #10077
- chore: re-add derived 7702 arbitrary impl by @Rjected in #9720
- feat: add empty state method for tests by @mvares in #10045
- feat: add api bindings for eth_simulateV1 by @mattsse in #10050
- tx-pool: add unit tests for
EthPooledTransaction
by @tcoratger in #10080 - fix: deadlock on StaticFileProvider::get_writer by @fgimenez in #10069
- feat(evm): support
wasm32-wasip1
by @shekhirin in #10083 - fix: use recv timeout if persistence task is active by @mattsse in #10087
- feat: add metrics for in-memory state by @onbjerg in #10085
- chore(rpc): remove parent beacon root from conversion functions by @rkrasiuk in #10090
- tx-pool: add unit tests for
add_sender_count
by @tcoratger in #10086 - Add in-memory block TD lookup support by @Parikalp-Bhardwaj in #10052
- chore: dont use tmp lock vars by @mattsse in #10092
- test: live sync transition, tree requests required blocks by @fgimenez in #10082
- chore(reth-network-api): fix typos by @nkysg in #10094
- fix: ensure we're skipping invalid tx kinds by @mattsse in #10095
- chore: add additional traces for promoted txs by @mattsse in #10093
- chore(net): Move
reth_network::NetworkEvents
intoreth-network-api
by @emhane in #10062 - feat: enable asm-keccak on more platforms by @DaniPopes in #10101
- fix: use in memory state for state_by_hash by @Rjected in #10105
- chore(deps): bump EmbarkStudios/cargo-deny-action from 1 to 2 by @dependabot in #10109
- chore: rm redundant ( by @mattsse in #10112
- perf: spawn eth orchestrator as regular task by @mattsse in #10113
- dep: rm unused dependencies by @tcoratger in #10099
- fix: validate header against parent in engine2 by @Rjected in #10114
- feat: Support custom EvmConfig for ethereumpayload builder by @nkysg in #10117
- update op-reth docs for discv4 option by @siddharth0a in #10119
- chore(engine): enable clippy checks by @fgimenez in #10120
- feat: add EngineApi metrics by @mattsse in #10125
- remove pending block support from OpEthApi by @nkysg in #10074
- trie: add
Default
impl forAccountProof
by @tcoratger in #10132 - typo: replace [BlockId] by [
BlockId
] by @tcoratger in #10121 - feat: add EngineApiKind enum by @mvares in #10128
- docs: misc engine docs by @mattsse in #10135
- chore: release 1.0.4 by @mattsse in #10122
- Check features powerset in
reth-codecs
by @citizen-stig in #10134 - chore: remove trait EngineApiTreeHandler by @mvares in #10136
- chore(reth-node-metrics): remove unused code by @nkysg in #10139
- chore: rename EngineApiTreeHandler by @mattsse in #10140
- fix: use actual latest state for BlockchainProvider2 by @Rjected in #10137
- chore: ensure persistence receiver is dropped by @fgimenez in #10133
- Check features powerset for
reth-primitives
by @citizen-stig in #10138
New Contributors
- @junderw made their first contribution in #9622
- @mvares made their first contribution in #9632
- @EdwardJES made their first contribution in #9662
- @danyalprout made their first contribution in #9676
- @MagicJoshh made their first contribution in #9565
- @ZzPoLariszZ made their first contribution in #9761
- @dknopik made their first contribution in #9858
- @crazykissshout made their first contribution in #9852
- @c0np4nn4 made their first contribution in #9811
- @AJStonewee made their first contribution in #9973
- @0x00101010 made their first contribution in #10010
- @SkandaBhat made their first contribution in #10059
- @Parikalp-Bhardwaj made their first contribution in #10052
- @siddharth0a made their first contribution in #10119
Full Changelog: v1.0.3...v1.0.4