Reth v1.7.0
Upgrade Instructions for Mainnet nodes
Caution
For Reth nodes running Ethereum mainnet, prior to running reth node
again, it is recommended to run trie diagnostics and repair tool ASAP.
On September 1st, some Reth nodes running on Ethereum mainnet experienced downtime. We identified and fixed the issue in state root calculation logic; a post-mortem will follow in the coming days.
Following steps are recommended for all ethereum mainnet operators, even if you recovered your node with the previous instructions or if your node was unaffected.
- Stop your Reth node
- Update
reth
binary to new version - Run
reth db --chain <mainnet> --datadir <datadir> repair-trie
- This can take up to 2 hours or longer (depending on the disk/IOPS), so it may be a good idea to start it in a
tmux
session to not interrupt. - Let the command run to completion.
- It is expected that some inconsistences are found and repaired by this command.
- This can take up to 2 hours or longer (depending on the disk/IOPS), so it may be a good idea to start it in a
- Start your Reth node as usual
Summary
This release includes significant performance improvements, Flashblocks support for OP Stack, improved state management, and various bug fixes.
This release also includes relevant code changes with support for the upcoming Fusaka hardfork.
Parallel Sparse Trie
The Parallel Sparse Trie, introduced in 1.6.0 as an opt-in CLI argument, is now enabled by default for computation of the accounts trie root. In our benchmarks we have seen a 10-15% improvement to overall latency on Ethereum mainnet nodes, and 15-20% on Base nodes.

Fixes
- Fixed transaction pool fee change updates (#18137)
- Fixed instant miner creating empty blocks (#18108)
- Fixed ParallelSparseTrie edge cases and field clearing issues (#17955)
- Fixed pending transaction updates with higher priority values (#17699)
- Fixed estimateGas with stateoverrides (#17668)
- Fixed gas limit saturation if it exceeds configured gas cap (#17847)
- Fixed prune checkpoint check on unwind for full nodes (#18263)
- Fixed RLP encoding for
SealedBlock
(#18003) - Fixed error codes for
eth_sendRawTransactionSync
(#18252) - Fixed inconsistent message counts for eth protocol (#17999)
Performance
- Transaction pool:
- Eliminated allocations in basefee enforcement (#18162)
- Eliminate redundant notifications (#17647) - Stages optimization: Optimized unwind operations by fetching headers instead of full blocks (#18139)
- Collection creation: Optimized single-element collection creation (#18168)
- Canonical hashes: Optimized
canonical_hashes_range
to O(n) complexity (#17975) - State changes: Used
FuturesOrdered
instead ofjoin_all
for better yielding (#17638) - State Root: ParallelSparseTrie enabled by default for the accounts trie (#17956)
OP Stack
This release includes flashblocks/pending state support via --flashblocks-url
(e.g. "wss://mainnet.flashblocks.base.org/ws").
If enabled, op-reth will attempt to build the pending state via received flashblocks, the "pending" block tag will be mapped to this.
- Forward debug_traceTransaction with historical RPC(#17971)
- Forward unknown hashes with historical RPC (#17709)
- Make OpAddonsBuilder generic over middleware (#17347)
- Fixed suggested price for empty blocks (#17679)
Enhancements
- Transaction forwarding: Added support for forwarding transactions to specified endpoints (
--txpool.tx-propagation-mode <sqrt|all|max>
) (#17444) - Trace storage access: Added
trace_transaction_storage_access
method (#16022) - Transaction propagation: Added CLI support for TransactionPropagationMode (#18012)
- IPC socket permissions: Added configuration for IPC socket permissions (#17497)
- Multi-file import: Support for importing multiple files (#17928)
- Max readers configuration: Added max-readers flag for database configuration (#17663)
- Tracing: Support additional
index
field in call tracer (#17629) - Networking: Support additional subprotocols with custom eth handshake (#18080)
SDK
- Configurable version globals: Introduced configurable version globals (#17711)
- TreePayloadValidator: Added new payload validator for tree operations (#17451)
- Engine separation: Separated EngineValidator from PayloadValidator (#17641)
- Txpool:
- Merge EthTransactionValidator and EthTransactionValidatorInner (#18129)
- Persist Origin in pooled transaction backup (#17756) - Ethapi:
- Support overriding caller gas allowance on call functions(#18101)
- Support custom pending state and make state lookup async (#17954)
- Enhanced RpcConverter support for custom rpc type conversions (#17010)
Dependencies
Compatible versions:
- revm: 29.0.0
- alloy: 1.0.30
- op-alloy: 0.19.0
- alloy-evm: 0.20.1
- revm-inspectors: 0.29.1
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 |
Op-reth | medium |
See Update Priorities for more information about this table.
All Changes
- chore: bump version 1.7.0 (#18323)
- fix: DB benches (#18314)
- fix(stateless): verify_execution_witness doc for pre-state mismatch (#18319)
- fix(bench): fix deadlock in test data generation (#18321)
- docs(reth-bench): fix markdown (#18322)
- ci: pin Rust to 1.88 when building for Windows in Cross (#18320)
- feat(trie): Add helper sub-command (#18301)
- feat(optimism): flashblock completed sequences (#18272)
- refactor(engine): persistence logic (#18318)
- refactor: change PendingPool and PendingTransaction visibility to pub (#18267)
- refactor(optimism): Extract pending block building responsibility out of
FlashBlockService
(#18247) - chore(trie): dont warn on blinded node reveals (#18317)
- fix(rpc): error code
eth_sendRawTransactionSync
timeout (#18252) - chore(deps): weekly
cargo update
(#18312) - chore: introduce validationtask with capacity (#18291)
- feat(download): support zst archives in reth download (#18237)
- chore: clippy happy (#18310)
- feat: introduce maybe_pending method to StateProviderFactory (#18260)
- perf(e2e-test-utils): optimize block checking by fetching header instead of full block (#18254)
- chore: fix various typos in comments and documentation (#18296)
- perf: specialize len 1 (#18307)
- feat: expose
EvmEnv
tocaller_gas_allowance
(#18302) - feat: introduce setting for delegated txs slots (#18298)
- feat(gpo): add default fee price argument (#18297)
- feat(metrics): add
TxPoolValidatorMetrics
to track inflight validation jobs (#18295) - perf: specialize validate_transactions_with_origin for task validator (#18288)
- test(optimism): Test that close message is responded to in
WsFlashBlockStream
(#18268) - chore: delist unused deps with
cargo-machete
(#18259) - perf: specialize single batch request (#18289)
- perf: optimize send raw batching (#18280)
- fix: check prune checkpoints for unwind target limit (#18263)
- chore(txpool): add sanity tests for blob fee bit handling (#18258)
- perf(db): do not heap-allocate the stage key per query (#18284)
- perf: build local pending block without updates (#18271)
- perf: rm redundant collect (#18281)
- chore: extract
validate_against_parent_gas_limit
into separate fn (#18277) - chore: log prune settings on unwind (#18270)
- test(optimism): Test that UTF-8 encoded messages are received in
WsFlashBlockStream
(#18269) - fix(optimism): Reconnect if ws stream ends in
WsFlashBlockStream
(#18226) - feat(optimism): Respond to close messages in
WsFlashBlockStream
(#18256) - chore: remove redundant payload trait bounds (#18262)
- feat(optimism): Decode text messages in
WsFlashBlockStream
(#18257) - fix(optimism): Compare parent hash and latest hash to invalidate cached flashblock (#18238)
- chore: unify engine downloader targets (#18248)
- chore: downgrade debug to trace for peer reputation logs (#18250)
- test(optimism): Test that
WsFlashBlockStream
pongs a ping (#18217) - feat(optimism): Respond to ping messages with pong in
WsFlashBlockStream
(#18212) - docs: update urls in docs (#18245)
- perf(txpool): eliminate allocations in basefee enforcement (#18218)
- perf(reth-optimism-flashblocks): rm redundant clone (#18196)
- fix: filter zero storage values when computing withdrawals root in genesis header (#18213)
- chore(trie): use instrument instead of manual span (#18239)
- chore(engine): add better logs and spans for execution (#18240)
- fix(download): use updated merkle base URL (#18236)
- chore: improve flashblock logs (#18232)
- chore: safe None check (#18225)
- feat(optimism): Warn if
FlashBlockService
has stopped (#18227) - test(optimism): Test that sequence stops before a gap (#18228)
- fix(optimism): Prevent repeated executions of current flashblock sequence (#18224)
- fix: incorrect blob fee comparison (#18216)
- revert: "perf(txpool): eliminate allocations in basefee enforcement" (#18215)
- fix: spawn flashblocks service as blocking (#18214)
- perf: prepare flashblock txs (#18201)
- chore: impl ExecutorTx for withtxenv (#18202)
- chore: simplify flashblocks poll logic (#18194)
- test(optimism): Test that streaming flashblocks from remote source is successful (#18170)
- fix: struct serialization to match actual fields (#18189)
- test(optimism): Cover the case of repeatedly failing to connect to websocket in
WsFlashBlockStream
(#18169) - test(optimism): Cover the case of stream returning errors in
WsFlashBlockStream
(#18167) - test(optimism): Cover the failure case of decoding a non-binary message in
WsFlashBlockStream
(#18166) - test(optimism): Cover successful decoding of websocket messages in
WsFlashBlockStream
(#18163) - fix: Pass prefix set from init_from_state_dump into compute_state_root (#18185)
- feat(examples): added txpoolExt_clearTxpool to existing example (#18175)
- refactor(optimism): Extract responsibility to connect to a flashblock websocket stream (#18158)
- perf(optimism): use cached db in
FlashblockService
(#18125) - perf(txpool): eliminate allocations in basefee enforcement (#18162)
- feat: enhance engine tree metrics (#18000)
- chore: avoid using hashmap hashers directly (#18176)
- perf(stages): optimize unwind operation by fetching headers instead full blocks (#18139)
- chore(deps): weekly
cargo update
(#18174) - chore: simplify dev signed tx conversions (#18171)
- refactor: remove unnecessary PathBuf clone in CLI help generator (#18172)
- fix: correct logical error in delete_outside_range error message (#18031)
- ci: Fix .PHONY declaration for install-reth-bench target in Makefile (#18152)
- perf: optimize single-element collection creation (#18168)
- chore(deps): bump actions/upload-pages-artifact from 3 to 4 (#18076)
- fix(optimism): find fb attrs in base fb (#18164)
- chore: Add 0x prefix and use macro (#18156)
- perf(optimism): Pass noop provider to skip state root calculations for flashblocks (#18161)
- perf(reth-invalid-block-hooks): use Reverts::eq reduce clone (#18159)
- feat(optimism): add FlashblocksRx getter (#18155)
- fix(trie): Fix call to update_account in witness (#18154)
- chore(reth-optimism-storage): small refactor code (#18104)
- perf(engine): pre-allocate channel handles in prewarm task (#18147)
- perf(engine): pre-allocate Vec capacity in payload processor (#18148)
- feat: generalize impl EngineValidatorAddOn for OpAddOns (#18141)
- docs(op): op chains don't require deposit contracts, so as dev chain (#17988)
- refactor: merge
EthTransactionValidator
andEthTransactionValidatorInner
(#18129) - fix(txpool): ensure fee changes are updated (#18137)
- fix(optimism): Fail if latest and base flashblock parent are different (#18132)
- feat(net): implement support of subprotocols (#18080)
- feat: Forward transactions to a specified endpoint (#17444)
- fix: import should count on the delta (#17819)
- fix(optimism): Verify that flashblocks are not old according to canon state (#18123)
- perf(engine): only clone headers instead of full blocks for tree tasks (#18116)
- fix(engine): Prevent instant miner from creating empty blocks (#18108)
- refactor(eth-wire): remove EthVersion::total_messages in favor of EthMessageID::max (#17999)
- chore: add prewarm traces (#18117)
- fix(optimism): Fix endless poll on the FlashBlockService (#18120)
- chore: make
caller_gas_allowance
an RPC trait method (#18101) - fix(optimism): Prevent old pending flashblock from being returned from
pending_flashblock
(#18103) - chore: include err in log (#18119)
- feat: add EIP-7934 block size check to validateBuilderSubmissionV5 (#18111)
- ci: remove expected failures (#18099)
- chore(reth-optimism-cli): use OpTypedTransaction::eip2718_encode (#18105)
- feat: add module manipulation methods and RPC server arg helpers (#18084)
- refactor: make transaction validator functions reusable (#17929)
- feat(optimism): Remove builder of next block environment from
FlashBlockService
(#18100) - feat(optimism): Implement conversion of
ExecutionPayloadBaseV1
intoOpNextBlockEnvAttributes
(#18097) - perf(engine): only fetch headers instead of full blocks for tree tasks (#18088)
- feat(optimism): Add
flashblocks_url
as part of rollup args of theop-reth
CLI (#18094) - feat: add helper for provider with wallet (#18085)
- feat: add NoopNetwork example (#18093)
- feat(optimism): Launch
FlashBlockService
when websocket URL is provided inOpEthApi
(#18077) - feat: optionally disable balance check for
EthTransactionValidator
(#18086) - fix(era): SlotIndex offset support negative value (#18047)
- fix: clarify locking behavior comment in InMemoryState (#18081)
- fix: Fix state root related metrics (#18045)
- chore(nix): add
cargo-nextest
todevShell
(#18087) - chore: add helpers for setting minimum protocol basefee (#18083)
- feat: support importing multi files (#17928)
- feat: fusaka changes (#18071)
- feat(optimism): Change
FlashBlockService
outputExecutedBlock
=>PendingBlock
(#18078) - feat: FCU unwind: properly reorg in-memory canonical state and update latest block (#17938)
- feat(optimism): Add
launch_wss_flashblocks_service
function spawning a task sending last pending block (#18067) - fix(static_file_provider): Exception for Gnosis and Chiado (#18044)
- refactor(rpc): add
TxEnv
converter toRpcCoverter
(#17792) - perf: use FuturesOrdered instead of join_all to yield results (#17638)
- feat(optimism): Add constructors to
FlashBlockService
andFlashBlockWsStream
(#18064) - perf(payload): do not clone full attributes for timestamp validation (#18054)
- feat(optimism): Wrap incoming stream item in
Result
for compatibility ofFlashBlockService
withFlashBlockWsStream
(#18063) - fix: use deterministic RNG in state_root_task benchmark (#18049)
- fix: add secp256k1 to dev-dependencies of dns crate (#18059)
- fix(node/builder): correct left_mut() method implementation and docs (#18053)
- refactor(tree): move metered execution functions to tree module (#17912)
- chore: relax EngineValidatorAddOn impl (#18052)
- perf: optimize canonical_hashes_range to O(n) complexity (#17975)
- feat: remove the not used executor in sparse_trie (#17966)
- feat(optimism): Add
FlashBlockService
that builds blocks fromFlashBlock
s (#18009) - feat: bump jsonrpsee to v0.26.0 (#17901)
- chore: apply spelling and typo fixes (#18041)
- chore: remove msrv from clippy.toml (#18034)
- Update README.md (#18021)
- perf(pool): remove unused hash in tx insertion/validation (#18030)
- feat(reth-bench): add --advance option for relative block ranges (#17996)
- chore(deps): weekly
cargo update
(#18023) - feat: add accessor methods for RPC handle types (#18016)
- feat: add log.file.name cli arg (#17883)
- feat: added trace_transaction_storage_access (#16022)
- feat: add CLI support for TransactionPropagationMode in NetworkArgs (#18012)
- fix: replace unwrap with proper error handling in ShardedKey decode (#17902)
- feat: add helper for setting tx propagation mode (#18007)
- test(engine): add e2e tests for forkchoice update with finalized blocks (#18004)
- fix: rlp encoding for sealedblock (#18003)
- chore(trie): fully reveal sparse tries prior to leaf updates/removals (#17643)
- fix: remove unused base_fee_params_at_block function (#17992)
- fix(revm-inspectors): update revm-inspectors to fix js tracer opcode gas calculation (#17986)
- feat(optimism): Add
FlashBlockWsStream
for streaming flashblocks from a websocket connection (#17987) - chore(cli): add log about state root computation for init-state (#17980)
- chore: remove not used block/receipt memory limiter constants (#17989)
- chore(db): remove empty TODO comment (#17981)
- feat(optimism): Add
FlashBlock
payload schema (#17984) - refactor: Fix incorrect length parameter in StorageTrieEntry::from_compact (#17748)
- feat(optimism): Add new
reth-optimism-flashblocks
crate (#17982) - feat(rpc): Use pool-based pending block for pending state over latest (#17924)
- docs(net): add Rreceipts69 document (#17969)
- fix(optimism): add debug_traceTransaction support for pre-bedrock blocks (#17971)
- feat(rpc): Add
local_pending_state
that creates a state provider out of a mem-pool built pending block (#17957) - docs(sdk): Add guide for custom transaction envelope macro usage (#17879)
- perf(trie): default ParallelSparseTrie to enabled (accounts only still) (#17956)
- fix: ParallelSparseTrie::update_leaf edge-case, and not correctly clearing all fields for re-use (#17955)
- fix(net): Receipts69 should respond with Receipts69 message (#17880)
- fix: use len() instead of iter().count() for trace logging (#17968)
- docs(trie): document MDBX ordering assumptions in TrieWalker and Trie… (#17906)
- chore(engine): rename block validation task (#17964)
- feat(engine): set default_memory_block_buffer_target to zero (#17963)
- feat(optimism): add supervisor_revalidation_duration_seconds metrics (#17897)
- refactor(evm): use execution payload getters (#17947)
- chore: rm redundant runtime (#17961)
- feat(rpc): Convert
state_at_block_id
into async function (#17954) - fix: allow at most one in-flight tx (#17960)
- chore: activate pool if node (#17950)
- chore: add helpers to added tx state (#17951)
- refactor(era): add era types and file traits for shared behavior (#17873)
- feat(rpc): Add
spawn_blocking_io_fut
that accepts a future (#17953) - fix: replace todo!() with Ok(None) in NoopProvider transaction_block (#17949)
- feat: Add transaction propagation kind 'None' (#17944)
- docs: multiple small textual defects (#17904)
- fix(optimism): correct string formatting in error message (#17923)
- chore(deps): bump amannn/action-semantic-pull-request from 5 to 6 (#17933)
- fix(trie): replace rayon with tokio for I/O operations in parallel trie (#17931)
- fix: optimize empty directory check in is_database_empty (#17932)
- chore: fix clippy in nix flake (#17918)
- test: remove misleading TODO comments in MockEthProvider (#17926)
- chore: replace reference (#17899)
- perf: reduce cycles on indexing (#17916)
- docs: add paragraph about EIP-7702 transaction types (#17865)
- chore(grafana): Add description to pruner panel (#17917)
- chore(metrics): fix MeteredReceiver docs (#17913)
- fix: convert anchor() method from recursive to iterative (#17909)
- refactor: remove StateCommitment trait (#17812)
- fix(ress/provider): return zero headers when request.limit == 0 (#17911)
- chore(deps): weekly
cargo update
(#17907) - chore(pool): replace saturating_sub with unchecked_sub (#17890)
- chore: remove Beacon from type names (#17868)
- test: add tests for fetching header,body ranges (#17893)
- feat: bubble up
revm
feature flags viarevm-reth
(#17896) - refactor(examples): Replace
CustomTransactionEnvelope
withSigned<TxPayment>
as the variant type in the custom node example (#17894) - feat(rpc): add configurable pending block behaviour (#17677)
- fix(examples): Implement
Compact
using blanket implementation (#17878) - fix: use map_pure_precompiles for precompile caching (#17886)
- fix(network): off by one error in getting next header (#17889)
- chore: clippy happy (#17892)
- chore(tx-pool): Rm redundant async block (#17891)
- chore: remove the deprecated ganache api (#17881)
- feat(rpc): Add
RpcTxConverter
to allow for providing custom converters with extra context (#17827) - fix: critical error handling in ExEx launcher (#17627)
- feat(rpc): Add support for custom Tokio runtime configuration in EthereumAddOns (#17693)
- chore(ci): migrate workflows to checkout v5 (#17813)
- fix: replace unsafe unwrap with proper error handling (#17867)
- feat: custom instance label and configurable datasource for mempool dash (#16634)
- feat(txpool): Batch insertions into the Tx Pool (#17670)
- fix: box some more futures (#17864)
- test(chain-state): opt unit test (#17770)
- chore: fix typos and improve documentation (#17862)
- feat: make MockEthProvider more generic (#17780)
- docs(e2s_file): clarify automatic version insertion and entries behavior (#17789)
- chore: update crunchy to v0.2.4 (#17856)
- fix: remove unused import from execute.rs (#17811)
- feat(rpc): Add
SimTxConverter
to allow for providing custom converters with extra context (#17821) - fix: typo initialise to initialize (#17851)
- chore: use receipt.into_logs instead of log.to_vec to reduce the unnecessary clone (#17852)
- chore: remove myself from codeowners (#17855)
- feat: introduced configurable version globals (#17711)
- fix(call): overwrite gas when exceed the RPC_DEFAULT_GAS_CAP (#17847)
- fix: clippy warnning manual_is_multiple_of (#17853)
- fix(db): make db get --raw work with DupSort tables (#17842)
- feat(examples): Add custom header extensions to payload attributes in
custom_node
example (#17797) - chore: remove s3 stage (#17831)
- chore: update db-access example used method (#17815)
- chore(deps): bump revm 28.0.1, inspectors, alloy-evm (#17840)
- perf: use unwrap and save 198 cycles (#17836)
- chore(cli): rename file import_op to import_core for clarity (#17826)
- perf: iterate through nibbles (#17820)
- feat: allow external block recovery in
reth-stateless
(#17755) - chore: Remove
BlockMeta
variants and unused code (#17835) - feat(tx-pool): add
add_transactions_with_origins
helper (#17802) - chore: fixed dead links in repo (#17694)
- test: modify discv5 startup test to use a random port (#17614)
- fix: storage lock race condition (#17823)
- perf: optimize condition ordering in ParkedPool for better short-circuiting (#17816)
- perf: remove some clones around
eth
tracing (#17822) - chore(deps): bump actions/download-artifact from 4 to 5 (#17817)
- chore(deps): bump actions/checkout from 4 to 5 (#17814)
- chore(test-vectors): remove TxDeposit compact TODO (#17800)
- chore: remove whitespace of the gas unit and threshold (#17808)
- chore: rename gas to gas_used in the node logs (#17767)
- chore: Expose payload builder handle and metrics (#17764)
- chore: remove redundant words in comment (#17753)
- feat: add op db access example (#17796)
- feat: persist origin on pooled tx backup for propagation setting (#17756)
- chore: replace ~/.cargo with $CARGO_HOME (#17776)
- docs: add optimism Access-list spec (#17775)
- fix: reth dev node implement the
--block-max-transactions
arg (#17784) - fix(network): push header before next header check in
get_headers_response
(#17766) - chore(deps): weekly
cargo update
(#17777) - docs: remove deprecated difficulty check comment (#17781)
- chore: msrv 1.88 (#17782)
- fix: add validation against parent header in
reth-stateless
(#17754) - chore: Fix typo
tx_inf
->tx_info
(#17763) - refactor(witness): remove unnecessary curly braces in closure (#17752)
- feat: nix flake (#17757)
- fix(stages): use correct block number in error message (#17751)
- feat(grafana): add state root duration histogram graph (#17745)
- fix: add missing semicolon in wallet generation loop (#17739)
- fix: enforce propagate on getpooledtx (#17720)
- feat: delay block -> payload conversions (#17681)
- feat(chain-state): add
IndexedTx
helper (#17737) - chore: remove redundant word in comment (#17728)
- feat: add jovian to
OpChainSpec
(#17671) - chore: feature gate async (#17734)
- fix: typo in file deletion error message (#17729)
- chore: rm trie dep (#17732)
- feat: Execute execution-apis-tests in e2e tests (#17708)
- test(generators): add topics_count parameter to random_receipt (#17718)
- fix(db-common): compute state root when initializing from genesis (#17731)
- fix: execution-apis eth_syncing should return false (#17730)
- fix(GPO): calculate
max_tx_gas_used
corner case (#17679) - deps: bump libmdbx to 0.13.7 (#17727)
- chore: fix clippy docs (#17726)
- chore: add flag to disable txpool gossip (#17724)
- test: add ordering test (#17703)
- chore(deps): weekly
cargo update
(#17716) - test(exex): add advance backfill range test (#17714)
- fix: forward unknown hashes pre bedrock (#17709)
- chore: fix clippy warnings (#17707)
- feat: add all_transaction_hashes (#17700)
- fix: feature-gate std-only methods in sparse trie (#17706)
- refactor: move BasicEngineValidator creation into EngineApiValidatorBuilder trait (#17664)
- test(op-chainspec): add isthmus checks (#17698)
- fix: skip pending tx updates with higher prio value (#17699)
- fix(txpool): also emit promoted pending tx on pool drift (#17695)
- feat(trie): add blinded node metrics in ProofTaskManager (#17685)
- chore: bump
alloy-op-hardforks
andop-alloy
(#17697) - fix(config): default back gas limit to 45M on mainnet (#17690)
- fix: use primitive header type for fetching header (#17691)
- refactor: stream transactions while executing payload (#17661)
- chore(sdk): Add example for building offline
TraceApi
with node builder (#17682) - fix(pool): optimize canonical state change benchmark (#17688)
- chore: rm clone for witness (#17684)
- perf(trie): reuse allocated trie input in payload processor (#17371)
- feat(trie): add ParallelSparseTrieMetrics (#17405)
- fix: RPC: feeHistoryEntry should return 0.0 when blob_params.max_blob_count is zero (#17669)
- feat: convert BlockExecutionErrors (#17573)
- docs(example): extract full contract state from db (#17601)
- feat: tracked State for local pending block (#17600)
- feat(merkle): add IntermediateRootState for storage root progress (#17548)
- perf: remove redundant metrics update (#17660)
- fix: create
tx_env
after applying state overrides forestimate_gas
(#17668) - feat: added max-readers flag for db (#17663)
- refactor(cli): replace From with CliHeader trait (#17656)
- docs(trie): update ParallelSparseTrie documentation (#17538)
- perf: add benchmark for on_canonical_state_change (#17645)
- perf: box larger futures (#17633)
- refactor: move invalid block hook creation from LaunchContext to AddOnsContext (#17655)
- feat: separate EngineValidator from PayloadValidator (#17641)
- perf: only notify if we have listeners (#17651)
- perf: can shortcircuit here if no peers (#17650)
- chore: only cast basefee once (#17648)
- perf(txpool): rm unused best bijection (#17649)
- perf: avoid redundant notifications (#17647)
- fix(era-test): fix integration tests for era (#17646)
- perf(trie): Process multiproof reveals for storage tries in parallel (#17440)
- docs: fix doc comments: clarify downloaded bytes and builder return condition (#17566)
- refactor: introduce Enginvalidator in tree (#17598)
- chore: relax
Cli::run_with_components
(#17630) - chore(deps): weekly
cargo update
(#17628) - fix: correct comment for is_latest_invalid method (#17621)
- docs: fix typos (#17624)
- feat: support any network type in eth api builder (#17617)
- fix: Benchmarking Link in database.md (#17553)
- chore: remove duplicate deps (#17618)
- chore: make clippy happy (#17620)
- docs: correct error comments in networking optimism modules (#17602)
- feat(rpc): add method to configure custom tokio runtime for RPC server (#17611)
- test(sdk): Add test for using node builder with noop components (#17560)
- test(era1): add more
Receipt
tests to verify decoding (#17592) - chore: introduce engine module (#17591)
- fix: typo in Cargo.toml (#17588)
- feat: Add IPC socket permission configuration (#17497)
- refactor: small simplifications for tree types (#17589)
- fix: remove extra space in PostStateRootMismatch error message (#17590)
- docs: fix the parameters (#17586)
- feat(engine): add validate_payload and validate_block methods to EngineValidator trait (#17429)
- chore: move validation to standalone fns (#17582)
- fix(txpool): enforce encoded length check (#17581)
- fix: correct prune mode assignments in HistoryIndexingStages (#17575)
- feat: abstraction for attributes -> NextBlockEnv conversion (#17570)
- feat(era): add era types (#17477)
- refactor: move EngineValidator trait to reth-engine-tree (#17559)
- chore(hive): update expected failures (#17580)
- feat(ci): add ignored tests management to hive workflow (#17577)
- feat: make CompactEnvelope trait public for external crate usage (#17576)
- feat(reth-bench): add gas throughput chart to python script (#17572)
- refactor: use alloy
Log::collect_for_receipt
instead of macro to collect logs (#17569) - feat: add TreePayloadValidator (#17451)
- feat(pool): return state of an added tx (#17442)
- feat: make basic block builder pub (#17476)
- chore: rm unused file (#17563)
- perf: process chunks in par for get logs in block range
eth_getLogs
(#16675) - fix(exex): update batch threadshold calculate processed blocks (#17551)
Binaries
See pre-built binaries documentation.
The binaries are signed with the PGP key: 50FB 7CC5 5B2E 8AFA 59FE 03B7 AA5E D56A 7FBF 253E
Reth
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | reth-v1.7.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | reth-v1.7.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.7.0-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | reth-v1.7.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | reth-v1.7.0-aarch64-apple-darwin.tar.gz | PGP Signature | |
Docker | paradigmxyz/reth | - |
OP-Reth
System | Architecture | Binary | PGP Signature |
---|---|---|---|
x86_64 | op-reth-v1.7.0-x86_64-unknown-linux-gnu.tar.gz | PGP Signature | |
aarch64 | op-reth-v1.7.0-aarch64-unknown-linux-gnu.tar.gz | PGP Signature | |
x86_64 | op-reth-v1.7.0-x86_64-pc-windows-gnu.tar.gz | PGP Signature | |
x86_64 | op-reth-v1.7.0-x86_64-apple-darwin.tar.gz | PGP Signature | |
aarch64 | op-reth-v1.7.0-aarch64-apple-darwin.tar.gz | PGP Signature | |
Docker | paradigmxyz/op-reth | - |
What's Changed
- fix(exex): update batch threadshold calculate processed blocks by @nkysg in #17551
- perf: process chunks in par for get logs in block range
eth_getLogs
by @thaodt in #16675 - chore: rm unused file by @nkysg in #17563
- feat(pool): return state of an added tx by @hai-rise in #17442
- feat: make basic block builder pub by @0xOsiris in #17476
- feat: add TreePayloadValidator by @fgimenez in #17451
- refactor: use alloy
Log::collect_for_receipt
instead of macro to collect logs by @lean-apple in #17569 - feat(reth-bench): add gas throughput chart to python script by @shekhirin in #17572
- feat: make CompactEnvelope trait public for external crate usage by @rezbera in #17576
- feat(ci): add ignored tests management to hive workflow by @fgimenez in #17577
- chore(hive): update expected failures by @fgimenez in #17580
- refactor: move EngineValidator trait to reth-engine-tree by @fgimenez in #17559
- feat(era): add era types by @lean-apple in #17477
- feat: abstraction for attributes -> NextBlockEnv conversion by @klkvr in #17570
- fix: correct prune mode assignments in HistoryIndexingStages by @zeroprooff in #17575
- fix(txpool): enforce encoded length check by @mattsse in #17581
- chore: move validation to standalone fns by @mattsse in #17582
- feat(engine): add validate_payload and validate_block methods to EngineValidator trait by @fgimenez in #17429
- docs: fix the parameters by @LandLord529 in #17586
- fix: remove extra space in PostStateRootMismatch error message by @reallesee in #17590
- refactor: small simplifications for tree types by @klkvr in #17589
- feat: Add IPC socket permission configuration by @danielrachi1 in #17497
- fix: typo in Cargo.toml by @sashaodessa in #17588
- chore: introduce engine module by @mattsse in #17591
- test(era1): add more
Receipt
tests to verify decoding by @lean-apple in #17592 - test(sdk): Add test for using node builder with noop components by @emhane in #17560
- feat(rpc): add method to configure custom tokio runtime for RPC server by @mablr in #17611
- docs: correct error comments in networking optimism modules by @LandLord529 in #17602
- chore: make clippy happy by @fgimenez in #17620
- chore: remove duplicate deps by @lean-apple in #17618
- fix: Benchmarking Link in database.md by @anim001k in #17553
- feat: support any network type in eth api builder by @mattsse in #17617
- docs: fix typos by @crStiv in #17624
- fix: correct comment for is_latest_invalid method by @MozirDmitriy in #17621
- chore(deps): weekly
cargo update
by @github-actions[bot] in #17628 - chore: relax
Cli::run_with_components
by @klkvr in #17630 - refactor: introduce Enginvalidator in tree by @klkvr in #17598
- docs: fix doc comments: clarify downloaded bytes and builder return condition by @strmfos in #17566
- perf(trie): Process multiproof reveals for storage tries in parallel by @mediocregopher in #17440
- fix(era-test): fix integration tests for era by @lean-apple in #17646
- perf(txpool): avoid redundant notifications by @mattsse in #17647
- perf(txpool): rm unused best bijection by @mattsse in #17649
- chore: only cast basefee once by @mattsse in #17648
- perf: can shortcircuit here if no peers by @mattsse in #17650
- perf: only notify if we have listeners by @mattsse in #17651
- feat: separate EngineValidator from PayloadValidator by @fgimenez in #17641
- refactor: move invalid block hook creation from LaunchContext to AddOnsContext by @fgimenez in #17655
- perf: box larger futures by @mattsse in #17633
- perf: add benchmark for on_canonical_state_change by @mattsse in #17645
- docs(trie): update ParallelSparseTrie documentation by @mediocregopher in #17538
- refactor(cli): replace From with CliHeader trait by @shiyasmohd in #17656
- feat: added max-readers flag for db by @Soubhik-10 in #17663
- fix: create
tx_env
after applying state overrides forestimate_gas
by @haardikk21 in #17668 - perf: remove redundant metrics update by @mattsse in #17660
- feat(merkle): add IntermediateRootState for storage root progress by @Rjected in #17548
- feat: tracked State for local pending block by @Rimeeeeee in #17600
- docs(example): extract full contract state from db by @sergey-melnychuk in #17601
- feat: convert BlockExecutionErrors by @stevencartavia in #17573
- fix: RPC: feeHistoryEntry should return 0.0 when blob_params.max_blob_count is zero by @acerone85 in #17669
- feat(trie): add ParallelSparseTrieMetrics by @Rjected in #17405
- perf(trie): reuse allocated trie input in payload processor by @Rjected in #17371
- chore: rm clone for witness by @mattsse in #17684
- fix(pool): optimize canonical state change benchmark by @keanji-x in #17688
- chore(sdk): Add example for building offline
TraceApi
with node builder by @emhane in #17682 - refactor: stream transactions while executing payload by @klkvr in #17661
- fix: use primitive header type for fetching header by @mattsse in #17691
- fix(config): default back gas limit to 45M on mainnet by @0xMushow in #17690
- chore: bump
alloy-op-hardforks
andop-alloy
by @lean-apple in #17697 - feat(trie): add blinded node metrics in ProofTaskManager by @Rjected in #17685
- fix(txpool): also emit promoted pending tx on pool drift by @mattsse in #17695
- fix: skip pending tx updates with higher prio value by @mattsse in #17699
- test(op-chainspec): add isthmus checks by @lean-apple in #17698
- refactor: move BasicEngineValidator creation into EngineApiValidatorBuilder trait by @fgimenez in #17664
- fix: feature-gate std-only methods in sparse trie by @fgimenez in #17706
- feat: add all_transaction_hashes by @mattsse in #17700
- chore: fix clippy warnings by @stevencartavia in #17707
- fix: forward unknown hashes pre bedrock by @mattsse in #17709
- test(exex): add advance backfill range test by @nkysg in #17714
- chore(deps): weekly
cargo update
by @github-actions[bot] in #17716 - test: add ordering test by @mattsse in #17703
- chore: add flag to disable txpool gossip by @bharath-123 in #17724
- chore: fix clippy docs by @mattsse in #17726
- deps: bump libmdbx to 0.13.7 by @shekhirin in https://github.com/paradigmxyz/reth/pull/17727
- fix(GPO): calculate
max_tx_gas_used
corner case by @yiweichi in #17679 - fix: execution-apis eth_syncing should return false by @shemnon in https://github.com/paradigmxyz/reth/pull/17730
- fix(db-common): compute state root when initializing from genesis by @Rjected in https://github.com/paradigmxyz/reth/pull/17731
- test(generators): add topics_count parameter to random_receipt by @SkandaBhat in https://github.com/paradigmxyz/reth/pull/17718
- feat: Execute execution-apis-tests in e2e tests by @shemnon in https://github.com/paradigmxyz/reth/pull/17708
- chore: rm trie dep by @mattsse in https://github.com/paradigmxyz/reth/pull/17732
- fix: typo in file deletion error message by @radik878 in https://github.com/paradigmxyz/reth/pull/17729
- chore: feature gate async by @mattsse in https://github.com/paradigmxyz/reth/pull/17734
- feat: add jovian to
OpChainSpec
by @lean-apple in https://github.com/paradigmxyz/reth/pull/17671 - chore: remove redundant word in comment by @queryfast in https://github.com/paradigmxyz/reth/pull/17728
- feat(chain-state): add
IndexedTx
helper by @lean-apple in https://github.com/paradigmxyz/reth/pull/17737 - feat: delay block -> payload conversions by @klkvr in https://github.com/paradigmxyz/reth/pull/17681
- fix: enforce propagate on getpooledtx by @mattsse in https://github.com/paradigmxyz/reth/pull/17720
- fix: add missing semicolon in wallet generation loop by @Fibonacci747 in https://github.com/paradigmxyz/reth/pull/17739
- feat(grafana): add state root duration histogram graph by @Rjected in https://github.com/paradigmxyz/reth/pull/17745
- fix(stages): use correct block number in error message by @reallesee in https://github.com/paradigmxyz/reth/pull/17751
- feat: nix flake by @mediocregopher in https://github.com/paradigmxyz/reth/pull/17757
- refactor(witness): remove unnecessary curly braces in closure by @Snezhkko in https://github.com/paradigmxyz/reth/pull/17752
- chore: Fix typo
tx_inf
->tx_info
by @moricho in https://github.com/paradigmxyz/reth/pull/17763 - fix: add validation against parent header in
reth-stateless
by @Wollac in https://github.com/paradigmxyz/reth/pull/17754 - chore: msrv 1.88 by @mattsse in https://github.com/paradigmxyz/reth/pull/17782
- docs: remove deprecated difficulty check comment by @georgehao in https://github.com/paradigmxyz/reth/pull/17781
- chore(deps): weekly
cargo update
by @github-actions[bot] in https://github.com/paradigmxyz/reth/pull/17777 - fix(network): push header before next header check in
get_headers_response
by @colinlyguo in https://github.com/paradigmxyz/reth/pull/17766 - fix: reth dev node implement the
--block-max-transactions
arg by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17784 - docs: add optimism Access-list spec by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17775
- chore: replace ~/.cargo with $CARGO_HOME by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17776
- feat: persist origin on pooled tx backup for propagation setting by @iTranscend in #17756
- feat: add op db access example by @mattsse in https://github.com/paradigmxyz/reth/pull/17796
- chore: remove redundant words in comment by @viktorking7 in https://github.com/paradigmxyz/reth/pull/17753
- chore: Expose payload builder handle and metrics by @SozinM in https://github.com/paradigmxyz/reth/pull/17764
- chore: rename gas to gas_used in the node logs by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17767
- chore: remove whitespace of the gas unit and threshold by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17808
- chore(test-vectors): remove TxDeposit compact TODO by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17800
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in https://github.com/paradigmxyz/reth/pull/17814
- chore(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in https://github.com/paradigmxyz/reth/pull/17817
- perf: remove some clones around
eth
tracing by @hai-rise in https://github.com/paradigmxyz/reth/pull/17822 - perf: optimize condition ordering in ParkedPool for better short-circuiting by @malik672 in https://github.com/paradigmxyz/reth/pull/17816
- fix: storage lock race condition by @DaniPopes in https://github.com/paradigmxyz/reth/pull/17823
- test: modify discv5 startup test to use a random port by @ssolit in https://github.com/paradigmxyz/reth/pull/17614
- chore: fixed dead links in repo by @cypherpepe in https://github.com/paradigmxyz/reth/pull/17694
- feat(tx-pool): add
add_transactions_with_origins
helper by @lean-apple in https://github.com/paradigmxyz/reth/pull/17802 - chore: Remove
BlockMeta
variants and unused code by @mablr in https://github.com/paradigmxyz/reth/pull/17835 - feat: allow external block recovery in
reth-stateless
by @Wollac in https://github.com/paradigmxyz/reth/pull/17755 - perf: iterate through nibbles by @dawksh in https://github.com/paradigmxyz/reth/pull/17820
- chore(cli): rename file import_op to import_core for clarity by @tmelhao in https://github.com/paradigmxyz/reth/pull/17826
- perf: use unwrap and save 198 cycles by @malik672 in https://github.com/paradigmxyz/reth/pull/17836
- chore(deps): bump revm 28.0.1, inspectors, alloy-evm by @Rjected in https://github.com/paradigmxyz/reth/pull/17840
- chore: update db-access example used method by @Pana in https://github.com/paradigmxyz/reth/pull/17815
- chore: remove s3 stage by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17831
- feat(examples): Add custom header extensions to payload attributes in
custom_node
example by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17797 - fix(db): make db get --raw work with DupSort tables by @Rjected in https://github.com/paradigmxyz/reth/pull/17842
- fix: clippy warnning manual_is_multiple_of by @JackDrogon in https://github.com/paradigmxyz/reth/pull/17853
- fix(call): overwrite gas when exceed the RPC_DEFAULT_GAS_CAP by @georgehao in #17847
- feat: introduced configurable version globals by @Rimeeeeee in #17711
- chore: remove myself from codeowners by @onbjerg in https://github.com/paradigmxyz/reth/pull/17855
- chore: use receipt.into_logs instead of log.to_vec to reduce the unnecessary clone by @SarahADavis in https://github.com/paradigmxyz/reth/pull/17852
- fix: typo initialise to initialize by @JackDrogon in https://github.com/paradigmxyz/reth/pull/17851
- feat(rpc): Add
SimTxConverter
to allow for providing custom converters with extra context by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17821 - fix: remove unused import from execute.rs by @phrwlk in https://github.com/paradigmxyz/reth/pull/17811
- chore: update crunchy to v0.2.4 by @SarahADavis in https://github.com/paradigmxyz/reth/pull/17856
- docs(e2s_file): clarify automatic version insertion and entries behavior by @Bashmunta in https://github.com/paradigmxyz/reth/pull/17789
- feat: make MockEthProvider more generic by @greged93 in https://github.com/paradigmxyz/reth/pull/17780
- chore: fix typos and improve documentation by @mattsse in https://github.com/paradigmxyz/reth/pull/17862
- test(chain-state): opt unit test by @nkysg in https://github.com/paradigmxyz/reth/pull/17770
- fix: box some more futures by @DaniPopes in https://github.com/paradigmxyz/reth/pull/17864
- feat(txpool): Batch insertions into the Tx Pool by @0xKitsune in https://github.com/paradigmxyz/reth/pull/17670
- feat: custom instance label and configurable datasource for mempool dash by @0xForerunner in https://github.com/paradigmxyz/reth/pull/16634
- fix: replace unsafe unwrap with proper error handling by @JackDrogon in https://github.com/paradigmxyz/reth/pull/17867
- chore(ci): migrate workflows to checkout v5 by @rejected-l in https://github.com/paradigmxyz/reth/pull/17813
- feat(rpc): Add support for custom Tokio runtime configuration in EthereumAddOns by @mablr in https://github.com/paradigmxyz/reth/pull/17693
- fix: critical error handling in ExEx launcher by @viktorking7 in https://github.com/paradigmxyz/reth/pull/17627
- feat(rpc): Add
RpcTxConverter
to allow for providing custom converters with extra context by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17827 - chore: remove the deprecated ganache api by @SarahADavis in https://github.com/paradigmxyz/reth/pull/17881
- chore(tx-pool): Rm redundant async block by @emhane in https://github.com/paradigmxyz/reth/pull/17891
- chore: clippy happy by @mattsse in https://github.com/paradigmxyz/reth/pull/17892
- fix(network): off by one error in getting next header by @colinlyguo in https://github.com/paradigmxyz/reth/pull/17889
- fix: use map_pure_precompiles for precompile caching by @yongkangc in https://github.com/paradigmxyz/reth/pull/17886
- fix(examples): Implement
Compact
using blanket implementation by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17878 - feat(rpc): add configurable pending block behaviour by @shiyasmohd in https://github.com/paradigmxyz/reth/pull/17677
- refactor(examples): Replace
CustomTransactionEnvelope
withSigned<TxPayment>
as the variant type in the custom node example by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17894 - feat: bubble up
revm
feature flags viarevm-reth
by @0xKitsune in https://github.com/paradigmxyz/reth/pull/17896 - test: add tests for fetching header,body ranges by @mattsse in https://github.com/paradigmxyz/reth/pull/17893
- chore: remove Beacon from type names by @mattsse in https://github.com/paradigmxyz/reth/pull/17868
- chore(pool): replace saturating_sub with unchecked_sub by @malik672 in https://github.com/paradigmxyz/reth/pull/17890
- chore(deps): weekly
cargo update
by @github-actions[bot] in https://github.com/paradigmxyz/reth/pull/17907 - fix(ress/provider): return zero headers when request.limit == 0 by @Forostovec in https://github.com/paradigmxyz/reth/pull/17911
- refactor: remove StateCommitment trait by @robinsdan in https://github.com/paradigmxyz/reth/pull/17812
- fix: convert anchor() method from recursive to iterative by @keroro520 in https://github.com/paradigmxyz/reth/pull/17909
- chore(metrics): fix MeteredReceiver docs by @bendanzhentan in https://github.com/paradigmxyz/reth/pull/17913
- chore(grafana): Add description to pruner panel by @emhane in https://github.com/paradigmxyz/reth/pull/17917
- docs: add paragraph about EIP-7702 transaction types by @Mouradif in https://github.com/paradigmxyz/reth/pull/17865
- perf: reduce cycles on indexing by @malik672 in https://github.com/paradigmxyz/reth/pull/17916
- chore: replace reference by @aso20455 in https://github.com/paradigmxyz/reth/pull/17899
- test: remove misleading TODO comments in MockEthProvider by @crazykissshout in https://github.com/paradigmxyz/reth/pull/17926
- chore: fix clippy in nix flake by @mediocregopher in https://github.com/paradigmxyz/reth/pull/17918
- docs: multiple small textual defects by @crStiv in https://github.com/paradigmxyz/reth/pull/17904
- fix(optimism): correct string formatting in error message by @bendanzhentan in https://github.com/paradigmxyz/reth/pull/17923
- fix(trie): replace rayon with tokio for I/O operations in parallel trie by @yongkangc in https://github.com/paradigmxyz/reth/pull/17931
- fix: optimize empty directory check in is_database_empty by @LandLord529 in https://github.com/paradigmxyz/reth/pull/17932
- chore(deps): bump amannn/action-semantic-pull-request from 5 to 6 by @dependabot[bot] in https://github.com/paradigmxyz/reth/pull/17933
- feat: Add transaction propagation kind 'None' by @SozinM in https://github.com/paradigmxyz/reth/pull/17944
- fix: replace todo!() with Ok(None) in NoopProvider transaction_block by @LandLord529 in https://github.com/paradigmxyz/reth/pull/17949
- feat(rpc): Add
spawn_blocking_io_fut
that accepts a future by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17953 - refactor(era): add era types and file traits for shared behavior by @lean-apple in https://github.com/paradigmxyz/reth/pull/17873
- chore: add helpers to added tx state by @mattsse in https://github.com/paradigmxyz/reth/pull/17951
- chore: activate pool if node by @mattsse in https://github.com/paradigmxyz/reth/pull/17950
- fix: allow at most one in-flight tx by @0xNarumi in https://github.com/paradigmxyz/reth/pull/17960
- feat(rpc): Convert
state_at_block_id
into async function by @RomanHodulak in #17954 - chore: rm redundant runtime by @mattsse in https://github.com/paradigmxyz/reth/pull/17961
- refactor(evm): use execution payload getters by @lean-apple in https://github.com/paradigmxyz/reth/pull/17947
- feat(optimism): add supervisor_revalidation_duration_seconds metrics by @SarahADavis in https://github.com/paradigmxyz/reth/pull/17897
- feat(engine): set default_memory_block_buffer_target to zero by @iTranscend in https://github.com/paradigmxyz/reth/pull/17963
- chore(engine): rename block validation task by @iTranscend in https://github.com/paradigmxyz/reth/pull/17964
- docs(trie): document MDBX ordering assumptions in TrieWalker and Trie… by @dharmvr1 in https://github.com/paradigmxyz/reth/pull/17906
- fix: use len() instead of iter().count() for trace logging by @LandLord529 in https://github.com/paradigmxyz/reth/pull/17968
- fix(net): Receipts69 should respond with Receipts69 message by @wetkeyboard in https://github.com/paradigmxyz/reth/pull/17880
- perf(trie): default ParallelSparseTrie to enabled (accounts only still) by @mediocregopher in #17956
- fix: ParallelSparseTrie::update_leaf edge-case, and not correctly clearing all fields for re-use by @mediocregopher in #17955
- docs(sdk): Add guide for custom transaction envelope macro usage by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17879
- feat(rpc): Add
local_pending_state
that creates a state provider out of a mem-pool built pending block by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17957 - fix(optimism): add debug_traceTransaction support for pre-bedrock blocks by @fgimenez in #17971
- docs(net): add Rreceipts69 document by @wetkeyboard in https://github.com/paradigmxyz/reth/pull/17969
- feat(rpc): Use pool-based pending block for pending state over latest by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17924
- feat(optimism): Add new
reth-optimism-flashblocks
crate by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17982 - refactor: Fix incorrect length parameter in StorageTrieEntry::from_compact by @AshinGau in https://github.com/paradigmxyz/reth/pull/17748
- feat(optimism): Add
FlashBlock
payload schema by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17984 - chore(db): remove empty TODO comment by @LandLord529 in https://github.com/paradigmxyz/reth/pull/17981
- chore: remove not used block/receipt memory limiter constants by @wetkeyboard in https://github.com/paradigmxyz/reth/pull/17989
- chore(cli): add log about state root computation for init-state by @fgimenez in https://github.com/paradigmxyz/reth/pull/17980
- feat(optimism): Add
FlashBlockWsStream
for streaming flashblocks from a websocket connection by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/17987 - fix(revm-inspectors): update revm-inspectors to fix js tracer opcode gas calculation by @0xfourzerofour in https://github.com/paradigmxyz/reth/pull/17986
- fix: remove unused base_fee_params_at_block function by @leniram159 in https://github.com/paradigmxyz/reth/pull/17992
- chore(trie): fully reveal sparse tries prior to leaf updates/removals by @mediocregopher in https://github.com/paradigmxyz/reth/pull/17643
- fix: rlp encoding for sealedblock by @mattsse in #18003
- test(engine): add e2e tests for forkchoice update with finalized blocks by @fgimenez in https://github.com/paradigmxyz/reth/pull/18004
- feat: add helper for setting tx propagation mode by @mattsse in https://github.com/paradigmxyz/reth/pull/18007
- fix: replace unwrap with proper error handling in ShardedKey decode by @keroro520 in https://github.com/paradigmxyz/reth/pull/17902
- feat: add CLI support for TransactionPropagationMode in NetworkArgs by @dharmvr1 in #18012
- feat: added trace_transaction_storage_access by @Rimeeeeee in #16022
- feat: add log.file.name cli arg by @julio4 in https://github.com/paradigmxyz/reth/pull/17883
- feat: add accessor methods for RPC handle types by @mattsse in https://github.com/paradigmxyz/reth/pull/18016
- chore(deps): weekly
cargo update
by @github-actions[bot] in https://github.com/paradigmxyz/reth/pull/18023 - feat(reth-bench): add --advance option for relative block ranges by @dharmvr1 in https://github.com/paradigmxyz/reth/pull/17996
- perf(pool): remove unused hash in tx insertion/validation by @hai-rise in https://github.com/paradigmxyz/reth/pull/18030
- docs: update README.md by @letmehateu in https://github.com/paradigmxyz/reth/pull/18021
- chore: remove msrv from clippy.toml by @DaniPopes in https://github.com/paradigmxyz/reth/pull/18034
- chore: apply spelling and typo fixes by @mattsse in https://github.com/paradigmxyz/reth/pull/18041
- feat: bump jsonrpsee to v0.26.0 by @avorylli in https://github.com/paradigmxyz/reth/pull/17901
- feat(optimism): Add
FlashBlockService
that builds blocks fromFlashBlock
s by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18009 - feat: remove the not used executor in sparse_trie by @SarahADavis in https://github.com/paradigmxyz/reth/pull/17966
- perf: optimize canonical_hashes_range to O(n) complexity by @smileclown2024 in #17975
- chore: relax EngineValidatorAddOn impl by @mattsse in https://github.com/paradigmxyz/reth/pull/18052
- refactor(tree): move metered execution functions to tree module by @yongkangc in https://github.com/paradigmxyz/reth/pull/17912
- fix(node/builder): correct left_mut() method implementation and docs by @bendanzhentan in https://github.com/paradigmxyz/reth/pull/18053
- fix: add secp256k1 to dev-dependencies of dns crate by @int88 in https://github.com/paradigmxyz/reth/pull/18059
- fix: use deterministic RNG in state_root_task benchmark by @avorylli in https://github.com/paradigmxyz/reth/pull/18049
- feat(optimism): Wrap incoming stream item in
Result
for compatibility ofFlashBlockService
withFlashBlockWsStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18063 - perf(payload): do not clone full attributes for timestamp validation by @hai-rise in https://github.com/paradigmxyz/reth/pull/18054
- perf: use FuturesOrdered instead of join_all to yield results by @ongyimeng in #17638
- feat(optimism): Add constructors to
FlashBlockService
andFlashBlockWsStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18064 - refactor(rpc): add
TxEnv
converter toRpcCoverter
by @lean-apple in https://github.com/paradigmxyz/reth/pull/17792 - fix(static_file_provider): Exception for Gnosis and Chiado by @debjit-bw in https://github.com/paradigmxyz/reth/pull/18044
- feat(optimism): Add
launch_wss_flashblocks_service
function spawning a task sending last pending block by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18067 - feat: FCU unwind: properly reorg in-memory canonical state and update latest block by @pycckuu in https://github.com/paradigmxyz/reth/pull/17938
- feat(optimism): Change
FlashBlockService
outputExecutedBlock
=>PendingBlock
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18078 - feat: fusaka changes by @klkvr in https://github.com/paradigmxyz/reth/pull/18071
- feat: support importing multi files by @tmelhao in #17928
- chore: add helpers for setting minimum protocol basefee by @mattsse in https://github.com/paradigmxyz/reth/pull/18083
- chore(nix): add
cargo-nextest
todevShell
by @hai-rise in https://github.com/paradigmxyz/reth/pull/18087 - fix: Fix state root related metrics by @mediocregopher in https://github.com/paradigmxyz/reth/pull/18045
- fix: clarify locking behavior comment in InMemoryState by @malik672 in https://github.com/paradigmxyz/reth/pull/18081
- fix(era): SlotIndex offset support negative value by @nkysg in https://github.com/paradigmxyz/reth/pull/18047
- feat: optionally disable balance check for
EthTransactionValidator
by @0xKitsune in https://github.com/paradigmxyz/reth/pull/18086 - feat(optimism): Launch
FlashBlockService
when websocket URL is provided inOpEthApi
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18077 - feat: add NoopNetwork example by @mattsse in https://github.com/paradigmxyz/reth/pull/18093
- feat: add helper for provider with wallet by @mattsse in https://github.com/paradigmxyz/reth/pull/18085
- feat(optimism): Add
flashblocks_url
as part of rollup args of theop-reth
CLI by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18094 - perf(engine): only fetch headers instead of full blocks for tree tasks by @hai-rise in https://github.com/paradigmxyz/reth/pull/18088
- feat(optimism): Implement conversion of
ExecutionPayloadBaseV1
intoOpNextBlockEnvAttributes
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18097 - feat(optimism): Remove builder of next block environment from
FlashBlockService
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18100 - refactor: make transaction validator functions reusable by @dharmvr1 in https://github.com/paradigmxyz/reth/pull/17929
- feat: add module manipulation methods and RPC server arg helpers by @mattsse in https://github.com/paradigmxyz/reth/pull/18084
- chore(reth-optimism-cli): use OpTypedTransaction::eip2718_encode by @nkysg in https://github.com/paradigmxyz/reth/pull/18105
- ci: remove expected failures by @mattsse in https://github.com/paradigmxyz/reth/pull/18099
- feat: add EIP-7934 block size check to validateBuilderSubmissionV5 by @leniram159 in https://github.com/paradigmxyz/reth/pull/18111
- chore: include err in log by @mattsse in https://github.com/paradigmxyz/reth/pull/18119
- fix(optimism): Prevent old pending flashblock from being returned from
pending_flashblock
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18103 - chore: make
caller_gas_allowance
an RPC trait method by @klkvr in #18101 - fix(optimism): Fix endless poll on the FlashBlockService by @0xMelkor in https://github.com/paradigmxyz/reth/pull/18120
- chore: add prewarm traces by @mattsse in https://github.com/paradigmxyz/reth/pull/18117
- refactor(eth-wire): remove EthVersion::total_messages in favor of EthMessageID::max by @MatusKysel in #17999
- fix(engine): Prevent instant miner from creating empty blocks by @7suyash7 in #18108
- perf(engine): only clone headers instead of full blocks for tree tasks by @hai-rise in https://github.com/paradigmxyz/reth/pull/18116
- fix(optimism): Verify that flashblocks are not old according to canon state by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18123
- fix: import should count on the delta by @tmelhao in https://github.com/paradigmxyz/reth/pull/17819
- feat: Forward transactions to a specified endpoint by @louisbrown0212 in #17444
- feat(net): implement support of subprotocols by @MatusKysel in #18080
- fix(optimism): Fail if latest and base flashblock parent are different by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18132
- fix(txpool): ensure fee changes are updated by @mattsse in #18137
- docs(op): op chains don't require deposit contracts, so as dev chain by @schoentgenaa in https://github.com/paradigmxyz/reth/pull/17988
- refactor: merge
EthTransactionValidator
andEthTransactionValidatorInner
by @klkvr in #18129 - feat: generalize impl EngineValidatorAddOn for OpAddOns by @0xForerunner in https://github.com/paradigmxyz/reth/pull/18141
- perf(engine): pre-allocate Vec capacity in payload processor by @yongkangc in https://github.com/paradigmxyz/reth/pull/18148
- perf(engine): pre-allocate channel handles in prewarm task by @yongkangc in https://github.com/paradigmxyz/reth/pull/18147
- chore(reth-optimism-storage): small refactor code by @nkysg in https://github.com/paradigmxyz/reth/pull/18104
- fix(trie): Fix call to update_account in witness by @mediocregopher in https://github.com/paradigmxyz/reth/pull/18154
- feat(optimism): add FlashblocksRx getter by @mempirate in https://github.com/paradigmxyz/reth/pull/18155
- perf(reth-invalid-block-hooks): use Reverts::eq reduce clone by @nkysg in https://github.com/paradigmxyz/reth/pull/18159
- perf(optimism): Pass noop provider to skip state root calculations for flashblocks by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18161
- chore: Add 0x prefix and use macro by @quantix9 in https://github.com/paradigmxyz/reth/pull/18156
- fix(optimism): find fb attrs in base fb by @julio4 in https://github.com/paradigmxyz/reth/pull/18164
- chore(deps): bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in https://github.com/paradigmxyz/reth/pull/18076
- perf: optimize single-element collection creation by @dennsikl in #18168
- ci: Fix .PHONY declaration for install-reth-bench target in Makefile by @dizer-ti in https://github.com/paradigmxyz/reth/pull/18152
- fix: correct logical error in delete_outside_range error message by @VolodymyrBg in https://github.com/paradigmxyz/reth/pull/18031
- refactor: remove unnecessary PathBuf clone in CLI help generator by @davidjsonn in https://github.com/paradigmxyz/reth/pull/18172
- chore: simplify dev signed tx conversions by @mattsse in https://github.com/paradigmxyz/reth/pull/18171
- chore(deps): weekly
cargo update
by @github-actions[bot] in https://github.com/paradigmxyz/reth/pull/18174 - perf(stages): optimize unwind operation by fetching headers instead full blocks by @smileclown2024 in #18139
- chore: avoid using hashmap hashers directly by @DaniPopes in https://github.com/paradigmxyz/reth/pull/18176
- feat: enhance engine tree metrics by @fynnss in https://github.com/paradigmxyz/reth/pull/18000
- perf(txpool): eliminate allocations in basefee enforcement by @yongkangc in #18162
- perf(optimism): use cached db in
FlashblockService
by @julio4 in https://github.com/paradigmxyz/reth/pull/18125 - refactor(optimism): Extract responsibility to connect to a flashblock websocket stream by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18158
- feat(examples): added txpoolExt_clearTxpool to existing example by @Timosdev99 in https://github.com/paradigmxyz/reth/pull/18175
- fix: Pass prefix set from init_from_state_dump into compute_state_root by @mediocregopher in https://github.com/paradigmxyz/reth/pull/18185
- test(optimism): Cover successful decoding of websocket messages in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18163 - test(optimism): Cover the failure case of decoding a non-binary message in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18166 - test(optimism): Cover the case of stream returning errors in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18167 - test(optimism): Cover the case of repeatedly failing to connect to websocket in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18169 - test(optimism): Test that streaming flashblocks from remote source is successful by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18170
- fix: struct serialization to match actual fields by @brawncode in https://github.com/paradigmxyz/reth/pull/18189
- chore: simplify flashblocks poll logic by @mattsse in https://github.com/paradigmxyz/reth/pull/18194
- chore: impl ExecutorTx for withtxenv by @mattsse in https://github.com/paradigmxyz/reth/pull/18202
- perf: prepare flashblock txs by @mattsse in https://github.com/paradigmxyz/reth/pull/18201
- fix: spawn flashblocks service as blocking by @mattsse in https://github.com/paradigmxyz/reth/pull/18214
- revert: "perf(txpool): eliminate allocations in basefee enforcement" by @mattsse in https://github.com/paradigmxyz/reth/pull/18215
- fix: incorrect blob fee comparison by @mattsse in https://github.com/paradigmxyz/reth/pull/18216
- fix(optimism): Prevent repeated executions of current flashblock sequence by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18224
- test(optimism): Test that sequence stops before a gap by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18228
- feat(optimism): Warn if
FlashBlockService
has stopped by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18227 - chore: safe None check by @mattsse in https://github.com/paradigmxyz/reth/pull/18225
- chore: improve flashblock logs by @mattsse in https://github.com/paradigmxyz/reth/pull/18232
- fix(download): use updated merkle base URL by @Rjected in https://github.com/paradigmxyz/reth/pull/18236
- chore(trie): use instrument instead of manual span by @Rjected in https://github.com/paradigmxyz/reth/pull/18239
- chore(engine): add better logs and spans for execution by @Rjected in https://github.com/paradigmxyz/reth/pull/18240
- fix: filter zero storage values when computing withdrawals root in genesis header by @asdv23 in https://github.com/paradigmxyz/reth/pull/18213
- perf(reth-optimism-flashblocks): rm redundant clone by @nkysg in https://github.com/paradigmxyz/reth/pull/18196
- perf(txpool): eliminate allocations in basefee enforcement by @yongkangc in https://github.com/paradigmxyz/reth/pull/18218
- docs: update urls in docs by @mattsse in https://github.com/paradigmxyz/reth/pull/18245
- feat(optimism): Respond to ping messages with pong in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18212 - test(optimism): Test that
WsFlashBlockStream
pongs a ping by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18217 - chore: downgrade debug to trace for peer reputation logs by @quantix9 in https://github.com/paradigmxyz/reth/pull/18250
- chore: unify engine downloader targets by @mattsse in https://github.com/paradigmxyz/reth/pull/18248
- fix(optimism): Compare parent hash and latest hash to invalidate cached flashblock by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18238
- feat(optimism): Decode text messages in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18257 - chore: remove redundant payload trait bounds by @hai-rise in https://github.com/paradigmxyz/reth/pull/18262
- feat(optimism): Respond to close messages in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18256 - fix(optimism): Reconnect if ws stream ends in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18226 - test(optimism): Test that UTF-8 encoded messages are received in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18269 - chore: log prune settings on unwind by @mattsse in https://github.com/paradigmxyz/reth/pull/18270
- chore: extract
validate_against_parent_gas_limit
into separate fn by @klkvr in https://github.com/paradigmxyz/reth/pull/18277 - perf: rm redundant collect by @mattsse in https://github.com/paradigmxyz/reth/pull/18281
- perf: build local pending block without updates by @mattsse in https://github.com/paradigmxyz/reth/pull/18271
- perf(db): do not heap-allocate the stage key per query by @hai-rise in https://github.com/paradigmxyz/reth/pull/18284
- chore(txpool): add sanity tests for blob fee bit handling by @yongkangc in https://github.com/paradigmxyz/reth/pull/18258
- fix: check prune checkpoints for unwind target limit by @mattsse in #18263
- perf: optimize send raw batching by @mattsse in https://github.com/paradigmxyz/reth/pull/18280
- perf: specialize single batch request by @mattsse in https://github.com/paradigmxyz/reth/pull/18289
- chore: delist unused deps with
cargo-machete
by @hai-rise in https://github.com/paradigmxyz/reth/pull/18259 - test(optimism): Test that close message is responded to in
WsFlashBlockStream
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18268 - perf: specialize validate_transactions_with_origin for task validator by @mattsse in https://github.com/paradigmxyz/reth/pull/18288
- feat(metrics): add
TxPoolValidatorMetrics
to track inflight validation jobs by @mablr in https://github.com/paradigmxyz/reth/pull/18295 - feat(gpo): add default fee price argument by @Zygimantass in https://github.com/paradigmxyz/reth/pull/18297
- feat: introduce setting for delegated txs slots by @mattsse in https://github.com/paradigmxyz/reth/pull/18298
- feat: expose
EvmEnv
tocaller_gas_allowance
by @klkvr in https://github.com/paradigmxyz/reth/pull/18302 - perf: specialize len 1 by @mattsse in https://github.com/paradigmxyz/reth/pull/18307
- chore: fix various typos in comments and documentation by @mattsse in https://github.com/paradigmxyz/reth/pull/18296
- perf(e2e-test-utils): optimize block checking by fetching header instead of full block by @dizer-ti in https://github.com/paradigmxyz/reth/pull/18254
- feat: introduce maybe_pending method to StateProviderFactory by @iTranscend in https://github.com/paradigmxyz/reth/pull/18260
- chore: clippy happy by @mattsse in https://github.com/paradigmxyz/reth/pull/18310
- feat(download): support zst archives in reth download by @Rjected in https://github.com/paradigmxyz/reth/pull/18237
- chore: introduce validationtask with capacity by @mattsse in https://github.com/paradigmxyz/reth/pull/18291
- chore(deps): weekly
cargo update
by @github-actions[bot] in https://github.com/paradigmxyz/reth/pull/18312 - fix(rpc): error code
eth_sendRawTransactionSync
timeout by @emhane in #18252 - chore(trie): dont warn on blinded node reveals by @mediocregopher in https://github.com/paradigmxyz/reth/pull/18317
- refactor(optimism): Extract pending block building responsibility out of
FlashBlockService
by @RomanHodulak in https://github.com/paradigmxyz/reth/pull/18247 - refactor: change PendingPool and PendingTransaction visibility to pub by @kien-rise in https://github.com/paradigmxyz/reth/pull/18267
- refactor(engine): persistence logic by @shekhirin in https://github.com/paradigmxyz/reth/pull/18318
- feat(optimism): flashblock completed sequences by @julio4 in https://github.com/paradigmxyz/reth/pull/18272
- feat(trie): Add helper sub-command by @mediocregopher in https://github.com/paradigmxyz/reth/pull/18301
- ci: pin Rust to 1.88 when building for Windows in Cross by @shekhirin in https://github.com/paradigmxyz/reth/pull/18320
- docs(reth-bench): fix markdown by @hai-rise in https://github.com/paradigmxyz/reth/pull/18322
- fix(bench): fix deadlock in test data generation by @hai-rise in https://github.com/paradigmxyz/reth/pull/18321
- fix(stateless): verify_execution_witness doc for pre-state mismatch by @radik878 in https://github.com/paradigmxyz/reth/pull/18319
- fix: DB benches by @hai-rise in https://github.com/paradigmxyz/reth/pull/18314
- chore: bump version 1.7.0 by @mattsse in https://github.com/paradigmxyz/reth/pull/18323
New Contributors
- @danielrachi1 made their first contribution in #17497
- @sashaodessa made their first contribution in #17588
- @shiyasmohd made their first contribution in #17656
- @sergey-melnychuk made their first contribution in #17601
- @acerone85 made their first contribution in #17669
- @radik878 made their first contribution in https://github.com/paradigmxyz/reth/pull/17729
- @queryfast made their first contribution in https://github.com/paradigmxyz/reth/pull/17728
- @Fibonacci747 made their first contribution in https://github.com/paradigmxyz/reth/pull/17739
- @Snezhkko made their first contribution in https://github.com/paradigmxyz/reth/pull/17752
- @Wollac made their first contribution in https://github.com/paradigmxyz/reth/pull/17754
- @colinlyguo made their first contribution in https://github.com/paradigmxyz/reth/pull/17766
- @ssolit made their first contribution in https://github.com/paradigmxyz/reth/pull/17614
- @dawksh made their first contribution in https://github.com/paradigmxyz/reth/pull/17820
- @tmelhao made their first contribution in https://github.com/paradigmxyz/reth/pull/17826
- @JackDrogon made their first contribution in https://github.com/paradigmxyz/reth/pull/17853
- @SarahADavis made their first contribution in https://github.com/paradigmxyz/reth/pull/17852
- @phrwlk made their first contribution in https://github.com/paradigmxyz/reth/pull/17811
- @Bashmunta made their first contribution in https://github.com/paradigmxyz/reth/pull/17789
- @rejected-l made their first contribution in https://github.com/paradigmxyz/reth/pull/17813
- @yongkangc made their first contribution in https://github.com/paradigmxyz/reth/pull/17886
- @Forostovec made their first contribution in https://github.com/paradigmxyz/reth/pull/17911
- @dharmvr1 made their first contribution in https://github.com/paradigmxyz/reth/pull/17906
- @wetkeyboard made their first contribution in https://github.com/paradigmxyz/reth/pull/17880
- @AshinGau made their first contribution in https://github.com/paradigmxyz/reth/pull/17748
- @0xfourzerofour made their first contribution in https://github.com/paradigmxyz/reth/pull/17986
- @julio4 made their first contribution in https://github.com/paradigmxyz/reth/pull/17883
- @letmehateu made their first contribution in https://github.com/paradigmxyz/reth/pull/18021
- @smileclown2024 made their first contribution in #17975
- @MatusKysel made their first contribution in #17999
- @quantix9 made their first contribution in https://github.com/paradigmxyz/reth/pull/18156
- @dennsikl made their first contribution in #18168
- @fynnss made their first contribution in https://github.com/paradigmxyz/reth/pull/18000
- @Timosdev99 made their first contribution in https://github.com/paradigmxyz/reth/pull/18175
- @brawncode made their first contribution in https://github.com/paradigmxyz/reth/pull/18189
- @asdv23 made their first contribution in https://github.com/paradigmxyz/reth/pull/18213
- @Zygimantass made their first contribution in https://github.com/paradigmxyz/reth/pull/18297
Full Changelog: v1.6.0...v1.7.0