Skip to content

Conversation

nkysg
Copy link
Contributor

@nkysg nkysg commented Sep 1, 2025

use VecDeque can redude self.last_block_hashes.split_off(self.last_block_hashes.len() - 64); removal operations.

Copy link
Collaborator

@mattsse mattsse left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this makes sense and prevents shifting the entire vec

@github-project-automation github-project-automation bot moved this from Backlog to In Progress in Reth Tracker Sep 9, 2025
@mattsse mattsse added this pull request to the merge queue Sep 9, 2025
Merged via the queue into paradigmxyz:main with commit bfb37da Sep 9, 2025
43 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in Reth Tracker Sep 9, 2025
@nkysg nkysg deleted the reth-engine-local-miner branch September 9, 2025 15:12
Soubhik-10 added a commit to Rimeeeeee/reth that referenced this pull request Sep 13, 2025
* feat: optionally disable balance check for `EthTransactionValidator` (paradigmxyz#18086)

* feat(optimism): Launch `FlashBlockService` when websocket URL is provided in `OpEthApi` (paradigmxyz#18077)

* feat: add NoopNetwork example (paradigmxyz#18093)

* feat: add helper for provider with wallet (paradigmxyz#18085)

* feat(optimism): Add `flashblocks_url` as part of rollup args of the `op-reth` CLI (paradigmxyz#18094)

* perf(engine): only fetch headers instead of full blocks for tree tasks (paradigmxyz#18088)

* feat(optimism): Implement conversion of `ExecutionPayloadBaseV1` into `OpNextBlockEnvAttributes` (paradigmxyz#18097)

* feat(optimism): Remove builder of next block environment from `FlashBlockService` (paradigmxyz#18100)

* refactor: make transaction validator functions reusable (paradigmxyz#17929)

Co-authored-by: Arsenii Kulikov <[email protected]>

* feat: add module manipulation methods and RPC server arg helpers (paradigmxyz#18084)

* chore(reth-optimism-cli): use OpTypedTransaction::eip2718_encode (paradigmxyz#18105)

* ci: remove expected failures (paradigmxyz#18099)

* feat: add EIP-7934 block size check to validateBuilderSubmissionV5 (paradigmxyz#18111)

* chore: include err in log (paradigmxyz#18119)

* fix(optimism): Prevent old pending flashblock from being returned from `pending_flashblock` (paradigmxyz#18103)

* chore: make `caller_gas_allowance` an RPC trait method (paradigmxyz#18101)

* fix(optimism): Fix endless poll on the FlashBlockService (paradigmxyz#18120)

* chore: add prewarm traces (paradigmxyz#18117)

* refactor(eth-wire): remove EthVersion::total_messages in favor of EthMessageID::max (paradigmxyz#17999)

* fix(engine): Prevent instant miner from creating empty blocks (paradigmxyz#18108)

Signed-off-by: 7suyash7 <[email protected]>

* perf(engine): only clone headers instead of full blocks for tree tasks (paradigmxyz#18116)

* fix(optimism): Verify that flashblocks are not old according to canon state (paradigmxyz#18123)

* fix: import should count on the delta (paradigmxyz#17819)

Signed-off-by: tmel <[email protected]>
Signed-off-by: tmelhao <[email protected]>
Co-authored-by: tmel <[email protected]>

* feat: Forward transactions to a specified endpoint (paradigmxyz#17444)

Co-authored-by: Arsenii Kulikov <[email protected]>

* feat(net): implement support of subprotocols (paradigmxyz#18080)

Co-authored-by: Matthias Seitz <[email protected]>

* fix(optimism): Fail if latest and base flashblock parent are different (paradigmxyz#18132)

Co-authored-by: Matthias Seitz <[email protected]>

* fix(txpool): ensure fee changes are updated (paradigmxyz#18137)

* refactor: merge `EthTransactionValidator` and `EthTransactionValidatorInner` (paradigmxyz#18129)

* docs(op): op chains don't require deposit contracts, so as dev chain (paradigmxyz#17988)

Co-authored-by: Matthias Seitz <[email protected]>

* feat: generalize impl EngineValidatorAddOn for OpAddOns (paradigmxyz#18141)

* perf(engine): pre-allocate Vec capacity in payload processor (paradigmxyz#18148)

* perf(engine): pre-allocate channel handles in prewarm task (paradigmxyz#18147)

* chore(reth-optimism-storage): small refactor code (paradigmxyz#18104)

* fix(trie): Fix call to update_account in witness (paradigmxyz#18154)

* feat(optimism): add FlashblocksRx getter (paradigmxyz#18155)

* perf(reth-invalid-block-hooks): use Reverts::eq reduce clone (paradigmxyz#18159)

* perf(optimism): Pass noop provider to skip state root calculations for flashblocks (paradigmxyz#18161)

* chore: Add 0x prefix and use macro (paradigmxyz#18156)

* fix(optimism): find fb attrs in base fb (paradigmxyz#18164)

* chore(deps): bump actions/upload-pages-artifact from 3 to 4 (paradigmxyz#18076)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* perf: optimize single-element collection creation (paradigmxyz#18168)

* ci: Fix .PHONY declaration for install-reth-bench target in Makefile (paradigmxyz#18152)

* fix: correct logical error in delete_outside_range error message (paradigmxyz#18031)

* refactor: remove unnecessary PathBuf clone in CLI help generator (paradigmxyz#18172)

* chore: simplify dev signed tx conversions (paradigmxyz#18171)

* chore(deps): weekly `cargo update` (paradigmxyz#18174)

Co-authored-by: github-merge-queue <[email protected]>

* perf(stages): optimize unwind operation by fetching headers instead full blocks (paradigmxyz#18139)

* chore: avoid using hashmap hashers directly (paradigmxyz#18176)

* feat: enhance engine tree metrics (paradigmxyz#18000)

* perf(txpool): eliminate allocations in basefee enforcement (paradigmxyz#18162)

* perf(optimism): use cached db in `FlashblockService` (paradigmxyz#18125)

Co-authored-by: Matthias Seitz <[email protected]>

* refactor(optimism): Extract responsibility to connect to a flashblock websocket stream (paradigmxyz#18158)

* test ci on main

* feat(examples): added txpoolExt_clearTxpool to existing example (paradigmxyz#18175)

* fix: Pass prefix set from init_from_state_dump into compute_state_root (paradigmxyz#18185)

* test(optimism): Cover successful decoding of websocket messages in `WsFlashBlockStream` (paradigmxyz#18163)

* test(optimism): Cover the failure case of decoding a non-binary message in `WsFlashBlockStream` (paradigmxyz#18166)

* test(optimism): Cover the case of stream returning errors in `WsFlashBlockStream` (paradigmxyz#18167)

* test(optimism): Cover the case of repeatedly failing to connect to websocket in `WsFlashBlockStream` (paradigmxyz#18169)

* dprint

* fixes

* fixes

* fix: struct serialization to match actual fields (paradigmxyz#18189)

* test(optimism): Test that streaming flashblocks from remote source is successful (paradigmxyz#18170)

* fixes

* fixes

* fixes

* resort

* fixes

* chore: simplify flashblocks poll logic (paradigmxyz#18194)

Co-authored-by: julio4 <[email protected]>
Co-authored-by: Roman Hodulák <[email protected]>

* fixes

* chore: impl ExecutorTx for withtxenv (paradigmxyz#18202)

* perf: prepare flashblock txs (paradigmxyz#18201)

Co-authored-by: Arsenii Kulikov <[email protected]>

* fixes

* local tar

* try fork

* try fork

* fix: spawn flashblocks service as blocking (paradigmxyz#18214)

* fixes

* revert: "perf(txpool): eliminate allocations in basefee enforcement" (paradigmxyz#18215)

* fix: incorrect blob fee comparison (paradigmxyz#18216)

* fixes

* add an extra check

* add an extra check

* fix(optimism): Prevent repeated executions of current flashblock sequence (paradigmxyz#18224)

* fixes

* try fix

* added another check

* added another check

* test(optimism): Test that sequence stops before a gap (paradigmxyz#18228)

* feat(optimism): Warn if `FlashBlockService` has stopped (paradigmxyz#18227)

* chore: safe None check (paradigmxyz#18225)

* chore: improve flashblock logs (paradigmxyz#18232)

* fix(download): use updated merkle base URL (paradigmxyz#18236)

* fixes

* fixes

* chore(engine): add better logs and spans for execution (paradigmxyz#18240)

* chore(trie): use instrument instead of manual span (paradigmxyz#18239)

* fix: filter zero storage values when computing withdrawals root in genesis header (paradigmxyz#18213)

* enable by default

* perf(reth-optimism-flashblocks): rm redundant clone (paradigmxyz#18196)

* perf(txpool): eliminate allocations in basefee enforcement (paradigmxyz#18218)

Co-authored-by: Matthias Seitz <[email protected]>

* fixes

* docs: update urls in docs (paradigmxyz#18245)

* feat(optimism): Respond to ping messages with pong in `WsFlashBlockStream` (paradigmxyz#18212)

* removed one check is_some

* with new release

* test(optimism): Test that `WsFlashBlockStream` pongs a ping (paradigmxyz#18217)

* fixes

* fixes

* chore: downgrade debug to trace  for peer reputation logs (paradigmxyz#18250)

* feat: added amsterdam to hardforks

* use alloy config

* chore: unify engine downloader targets (paradigmxyz#18248)

* fix(optimism): Compare parent hash and latest hash to invalidate cached flashblock (paradigmxyz#18238)

* feat(optimism): Decode text messages in `WsFlashBlockStream` (paradigmxyz#18257)

* chore: remove redundant payload trait bounds (paradigmxyz#18262)

* hivd

* feat(optimism): Respond to close messages in `WsFlashBlockStream` (paradigmxyz#18256)

* fix(optimism): Reconnect if ws stream ends in `WsFlashBlockStream` (paradigmxyz#18226)

* test(optimism): Test that UTF-8 encoded messages are received in `WsFlashBlockStream` (paradigmxyz#18269)

* chore: log prune settings on unwind (paradigmxyz#18270)

* feat:db

* new tarball

* new tarball

* chore: extract `validate_against_parent_gas_limit` into separate fn (paradigmxyz#18277)

* perf: rm redundant collect (paradigmxyz#18281)

* fixes

* fixes

* 100

* rerun

* rerun

* rerun

* tracing

* perf: build local pending block without updates (paradigmxyz#18271)

* perf(db): do not heap-allocate the stage key per query (paradigmxyz#18284)

* chore(txpool): add sanity tests for blob fee bit handling (paradigmxyz#18258)

* fix: check prune checkpoints for unwind target limit (paradigmxyz#18263)

* perf: optimize send raw batching (paradigmxyz#18280)

* perf: specialize single batch request (paradigmxyz#18289)

* chore: delist unused deps with `cargo-machete` (paradigmxyz#18259)

* test(optimism): Test that close message is responded to in `WsFlashBlockStream` (paradigmxyz#18268)

* tracing

* fixes

* perf: specialize validate_transactions_with_origin for task validator (paradigmxyz#18288)

* feat(metrics): add `TxPoolValidatorMetrics` to track inflight validation jobs (paradigmxyz#18295)

* fixes

* fixes

* feat(gpo): add default fee price argument (paradigmxyz#18297)

Co-authored-by: Matthias Seitz <[email protected]>

* fixes

* feat: introduce setting for delegated txs slots (paradigmxyz#18298)

* feat: expose `EvmEnv` to `caller_gas_allowance` (paradigmxyz#18302)

* perf: specialize len 1 (paradigmxyz#18307)

* trace

* chore: fix various typos in comments and documentation (paradigmxyz#18296)

* perf(e2e-test-utils): optimize block checking by fetching header instead of full block (paradigmxyz#18254)

Co-authored-by: Matthias Seitz <[email protected]>

* feat: introduce maybe_pending method to StateProviderFactory (paradigmxyz#18260)

Co-authored-by: Matthias Seitz <[email protected]>

* chore: clippy happy (paradigmxyz#18310)

* more trace

* feat(download): support zst archives in reth download (paradigmxyz#18237)

Co-authored-by: Matthias Seitz <[email protected]>

* with new types

* rerun

* rerun

* rerun

* chore: introduce validationtask with capacity (paradigmxyz#18291)

* chore(deps): weekly `cargo update` (paradigmxyz#18312)

Co-authored-by: github-merge-queue <[email protected]>

* fix(rpc): error code `eth_sendRawTransactionSync` timeout (paradigmxyz#18252)

Co-authored-by: Matthias Seitz <[email protected]>

* fixes

* fixe

* fixes

* fixes

* chore(trie): dont warn on blinded node reveals (paradigmxyz#18317)

* refactor(optimism): Extract pending block building responsibility out of `FlashBlockService` (paradigmxyz#18247)

Co-authored-by: Matthias Seitz <[email protected]>

* rerun

* refactor: change PendingPool and PendingTransaction visibility to pub (paradigmxyz#18267)

* refactor(engine): persistence logic (paradigmxyz#18318)

* feat(optimism): flashblock completed sequences (paradigmxyz#18272)

* fix

* feat(trie): Add helper sub-command (paradigmxyz#18301)

* ci: pin Rust to 1.88 when building for Windows in Cross (paradigmxyz#18320)

* docs(reth-bench): fix markdown (paradigmxyz#18322)

* fix(bench): fix deadlock in test data generation (paradigmxyz#18321)

* fix(stateless): verify_execution_witness doc for pre-state mismatch (paradigmxyz#18319)

* fix: DB benches (paradigmxyz#18314)

* chore: bump version 1.7.0 (paradigmxyz#18323)

* chore: bump docs version 1.7.0 (paradigmxyz#18326)

* docs: update public dashboards (paradigmxyz#18331)

* chore(trie): use read-only db handle during repair-trie dry-runs (paradigmxyz#18328)

* chore(deps): bump actions/setup-go from 5 to 6 (paradigmxyz#18332)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/github-script from 7 to 8 (paradigmxyz#18334)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/stale from 9 to 10 (paradigmxyz#18335)

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: cache latest built payload (paradigmxyz#18324)

* perf(merkle-stage): only fetch checkpoint in the branch that needs it (paradigmxyz#18339)

* fix: properly compute genesis hash (paradigmxyz#18300)

* feat(op-reth/flashblocks): subscribe to the flashblock sequences produced (paradigmxyz#18276)

Co-authored-by: julio4 <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>

* perf(reth-engine-local): use VecDeque reduce removal operations (paradigmxyz#18198)

* fix(ci): pin teku image to fix kurtosis-op build (paradigmxyz#18345)

* fix(stages): implement entities checkpoint update in merkle stage unwind (paradigmxyz#18131)

* rerurn

* perf: use debug_assert for parked pool lookup (paradigmxyz#17712)

Co-authored-by: Matthias Seitz <[email protected]>

* refactor(revm): (paradigmxyz#18150) use hardfork activation helpers (paradigmxyz#18349)

Co-authored-by: Waiting-Chai <[email protected]>

* feat(stateless): Run EEST tests in stateless block validator & bug fixes (paradigmxyz#18140)

Signed-off-by: Ignacio Hagopian <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>

* feat: support customizable RPC namespace parsers (paradigmxyz#18160)

Co-authored-by: Federico Gimenez <[email protected]>

* fix(prune): TransactionLookup pruning issues with pre-merge expiry (paradigmxyz#18348)

* feat(op-sdk): custom precompiles (paradigmxyz#18350)

* fix: fix search in vocs doc (paradigmxyz#18354)

* merge

* fix

* fix: add is_osaka check before erroring in default_ethereum_payload (paradigmxyz#18355)

* perf: optimize canonical_hashes_range with Vec::with_capacity pre-allocation + benchmark (paradigmxyz#18072)

Co-authored-by: Matthias Seitz <[email protected]>

* feat: add some ethapi builder fns (paradigmxyz#18358)

* fix(docs): include .vocs to retain search-index (paradigmxyz#18363)

* feat(engine): check header validity after invalid transaction (paradigmxyz#18356)

* fix(engine): avoid block fetching inconsistencies for checks during reorgs (paradigmxyz#18368)

* feat: bump hive eest tests (paradigmxyz#18013)

* fix: check payload id (paradigmxyz#18370)

* perf(trie): Use ParallelSparseTrie (if enabled) for storage tries (paradigmxyz#17959)

* fixes

* refactor!: more type-safety in cli (paradigmxyz#18375)

* feat: add helper aliases for node adapters (paradigmxyz#18366)

* fix: relax nonce gap rule if configured (paradigmxyz#18385)

* fix(docs): disable jekyll which removes the search-index (paradigmxyz#18388)

* fix(docs): mv search-index to dist from .vocs (paradigmxyz#18390)

* fix: map EIP-7623 gas floor errors to expected exception type for test compatibility (paradigmxyz#18389)

* feat: replace PendingBlockAndReceipts tuple with dedicated struct (paradigmxyz#18395)

* fix: still use real chain id for no-op network (paradigmxyz#18382)

* chore: use decode_2718_exact for recover raw txs (paradigmxyz#18381)

* chore: fixed broken link in history-expiry.mdx (paradigmxyz#18400)

* fix(e2e): persist accepted header in CheckPayloadAccepted and align timestamp (paradigmxyz#18275)

Co-authored-by: Federico Gimenez <[email protected]>
Co-authored-by: Federico Gimenez <[email protected]>

* chore: update e2e-test-utils code owners (paradigmxyz#18397)

* perf(db): reuse MDBX DBIs for the same tx (paradigmxyz#18292)

* feat(txpool): break down queued transaction states into specific reasons (paradigmxyz#18106)

Co-authored-by: Matthias Seitz <[email protected]>

* fix: dont update canon chain to ancestor for opstack (paradigmxyz#18410)

* feat(observability): add phase-level observablity to newPayload processing  (paradigmxyz#18308)

Co-authored-by: YK <[email protected]>
Co-authored-by: Dan Cline <[email protected]>
Co-authored-by: Copilot <[email protected]>

* perf: downsize mempool tx priority from `U256` to `u128` (paradigmxyz#18413)

* chore(storage): remove unused `primed_dbis` (paradigmxyz#18415)

* feat: fn recovered_tx to indexedTx (paradigmxyz#18421)

* feat: add helper to PendingBlockAndReceipts (paradigmxyz#18423)

* refactor and cleanup

* fmt

* fixes

* clippy

* clippy

---------

Signed-off-by: 7suyash7 <[email protected]>
Signed-off-by: tmel <[email protected]>
Signed-off-by: tmelhao <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Ignacio Hagopian <[email protected]>
Co-authored-by: 0xKitsune <[email protected]>
Co-authored-by: Roman Hodulák <[email protected]>
Co-authored-by: Matthias Seitz <[email protected]>
Co-authored-by: Hai | RISE <[email protected]>
Co-authored-by: Dharm Singh <[email protected]>
Co-authored-by: Arsenii Kulikov <[email protected]>
Co-authored-by: nk_ysg <[email protected]>
Co-authored-by: leniram159 <[email protected]>
Co-authored-by: Andrea Simeoni <[email protected]>
Co-authored-by: Matus Kysel <[email protected]>
Co-authored-by: Suyash Nayan <[email protected]>
Co-authored-by: Haotian <[email protected]>
Co-authored-by: tmel <[email protected]>
Co-authored-by: Louis Brown <[email protected]>
Co-authored-by: Max Bytefield <[email protected]>
Co-authored-by: Eric Woolsey <[email protected]>
Co-authored-by: YK <[email protected]>
Co-authored-by: Brian Picciano <[email protected]>
Co-authored-by: Jonas Bostoen <[email protected]>
Co-authored-by: quantix9 <[email protected]>
Co-authored-by: Julio <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pepes <[email protected]>
Co-authored-by: James Niken <[email protected]>
Co-authored-by: VolodymyrBg <[email protected]>
Co-authored-by: David Klank <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-merge-queue <[email protected]>
Co-authored-by: smileclown2024 <[email protected]>
Co-authored-by: DaniPopes <[email protected]>
Co-authored-by: Fynn <[email protected]>
Co-authored-by: Soubhik-10 <[email protected]>
Co-authored-by: TMOT <[email protected]>
Co-authored-by: Brawn <[email protected]>
Co-authored-by: Dan Cline <[email protected]>
Co-authored-by: Ivan Wang <[email protected]>
Co-authored-by: Mablr <[email protected]>
Co-authored-by: zhygis <[email protected]>
Co-authored-by: Femi Bankole <[email protected]>
Co-authored-by: Emilia Hane <[email protected]>
Co-authored-by: kien-rise <[email protected]>
Co-authored-by: Alexey Shekhirin <[email protected]>
Co-authored-by: radik878 <[email protected]>
Co-authored-by: theo <[email protected]>
Co-authored-by: Federico Gimenez <[email protected]>
Co-authored-by: かとり <[email protected]>
Co-authored-by: malik <[email protected]>
Co-authored-by: Waiting-Chai <[email protected]>
Co-authored-by: Ignacio Hagopian <[email protected]>
Co-authored-by: Federico Gimenez <[email protected]>
Co-authored-by: Léa Narzis <[email protected]>
Co-authored-by: Rez <[email protected]>
Co-authored-by: Yash Atreya <[email protected]>
Co-authored-by: Soubhik Singha Mahapatra <[email protected]>
Co-authored-by: stevencartavia <[email protected]>
Co-authored-by: Cypher Pepe <[email protected]>
Co-authored-by: Snezhkko <[email protected]>
Co-authored-by: Copilot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants