Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
This report summarizes scanner evidence for paradigmxyz/reth, a Rust project with 5,816 GitHub stars. SynthScan examined 582,753 lines of code across 1665 source files, recording 2181 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 4.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 2088 finding(s).
Are imports declared and package/API names verified? 55 finding(s).
Are wrappers, guards, and repeated structures necessary? 98 finding(s).
Which changes need focused human review? 2181 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2181 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/metrics/src/lib.rs | 1 | //! Collection of metrics utilities. | COMMENT |
| LOW | crates/metrics/src/common/mpsc.rs | 441 | /// so the budget tracks bytes *currently in the channel queue*, not bytes in flight | COMMENT |
| LOW | crates/consensus/consensus/src/lib.rs | 1 | //! Consensus protocol functions | COMMENT |
| LOW | crates/consensus/consensus/src/lib.rs | 61 | SealedHeader, | COMMENT |
| LOW | crates/consensus/consensus/src/lib.rs | 101 | ) -> Result<(), ConsensusError>; | COMMENT |
| LOW | crates/consensus/consensus/src/lib.rs | 141 | } | COMMENT |
| LOW | crates/consensus/consensus/src/lib.rs | 241 | COMMENT | |
| LOW | crates/consensus/consensus/src/noop.rs | 1 | //! A consensus implementation that does nothing. | COMMENT |
| LOW | crates/tracing/src/log_handle.rs | 61 | LOG_HANDLE.lock().expect("log handle poisoned").is_available() | COMMENT |
| LOW | crates/tracing/src/lib.rs | 1 | //! The `tracing` module provides functionalities for setting up and configuring logging. | COMMENT |
| LOW | crates/tracing/src/lib.rs | 21 | //! LogFormat::Json, | COMMENT |
| LOW | crates/tracing/src/lib.rs | 201 | } | COMMENT |
| LOW | crates/tracing/src/lib.rs | 241 | /// Trait defining a general interface for logging configuration. | COMMENT |
| LOW | crates/tracing/src/lib.rs | 261 | /// | COMMENT |
| LOW | crates/tracing/src/formatter.rs | 1 | use crate::layers::BoxedLayer; | COMMENT |
| LOW | crates/tracing/src/formatter.rs | 21 | LogFmt, | COMMENT |
| LOW | crates/tracing/src/throttle.rs | 41 | /// ```ignore | COMMENT |
| LOW | crates/tracing/src/layers.rs | 101 | COMMENT | |
| LOW | crates/tasks/src/runtime.rs | 101 | pub cpu_threads: Option<usize>, | COMMENT |
| LOW | crates/tasks/src/runtime.rs | 301 | cpu_pool: rayon::ThreadPool, | COMMENT |
| LOW | crates/tasks/src/runtime.rs | 321 | #[cfg(feature = "rayon")] | COMMENT |
| LOW | crates/tasks/src/runtime.rs | 601 | /// this reuses the same OS thread for all tasks submitted under the same `name`. The thread | COMMENT |
| LOW | crates/tasks/src/runtime.rs | 781 | /// # Example | COMMENT |
| LOW | crates/tasks/src/runtime.rs | 821 | COMMENT | |
| LOW | crates/tasks/src/lib.rs | 101 | f() | COMMENT |
| LOW | crates/tasks/src/pool.rs | 21 | /// | COMMENT |
| LOW | crates/tasks/src/pool.rs | 41 | } | COMMENT |
| LOW | crates/tasks/src/pool.rs | 161 | thread_local! { | COMMENT |
| LOW | crates/tasks/src/pool.rs | 361 | /// This borrows the thread-local worker for the entire duration of `f`. Do not yield to Rayon | COMMENT |
| LOW | crates/tasks/src/pool.rs | 381 | /// is not re-entrant: if Rayon runs another job on the same thread before `f` returns, any call | COMMENT |
| LOW | crates/tasks/src/lazy.rs | 1 | //! A lazily-resolved handle to a value computed on a background thread. | COMMENT |
| LOW | crates/tasks/src/for_each_ordered.rs | 1 | use crossbeam_utils::CachePadded; | COMMENT |
| LOW | crates/tasks/src/utils.rs | 41 | /// This is a hack: these threads are spawned by libraries that do not expose a way to hook into | COMMENT |
| LOW | crates/net/network-types/src/backoff.rs | 1 | /// Describes the type of backoff should be applied. | COMMENT |
| LOW | crates/net/network-types/src/peers/reputation.rs | 21 | /// The reputation change to apply to a peer that sent a bad message. | COMMENT |
| LOW | crates/net/network-types/src/peers/reputation.rs | 61 | /// Various kinds of reputation changes. | COMMENT |
| LOW | crates/net/network-types/src/peers/config.rs | 21 | /// A temporary timeout for ips on incoming connection attempts. | COMMENT |
| LOW | crates/net/network-types/src/peers/config.rs | 121 | /// Minimum connection uptime before a peer is eligible for rotation eviction. | COMMENT |
| LOW | crates/net/network-types/src/peers/config.rs | 141 | /// | COMMENT |
| LOW | crates/net/network-types/src/peers/config.rs | 161 | pub ban_list: BanList, | COMMENT |
| LOW | crates/net/network-types/src/peers/mod.rs | 21 | #[derive(Debug, Clone)] | COMMENT |
| LOW | crates/net/network-types/src/peers/mod.rs | 161 | self.kind.is_static() | COMMENT |
| LOW | crates/net/network-types/src/session/config.rs | 21 | DEFAULT_MAX_COUNT_PEERS_OUTBOUND as usize + DEFAULT_MAX_COUNT_PEERS_INBOUND as usize; | COMMENT |
| LOW | crates/net/network-types/src/session/config.rs | 81 | /// buffer size provides backpressure on the network I/O. | COMMENT |
| LOW | crates/net/ecies/src/error.rs | 41 | /// Error when checking the HMAC tag against the tag on the body | COMMENT |
| LOW | crates/net/ecies/src/error.rs | 81 | /// Error when handshaking with a peer (ack / auth) | COMMENT |
| LOW | crates/net/ecies/src/algorithm.rs | 101 | return Err(ECIESErrorImpl::OutOfBounds { idx, len: arr.len() }.into()) | COMMENT |
| LOW | crates/net/ecies/src/algorithm.rs | 181 | let x = ecdh_x(&self.public_key, secret_key); | COMMENT |
| LOW | crates/net/ecies/src/algorithm.rs | 201 | // Because the hash of kM is ultimately used as the mac key, we perform that hashing here. | COMMENT |
| LOW | crates/net/ecies/src/mac.rs | 1 | //! # Ethereum MAC Module | COMMENT |
| LOW | crates/net/ecies/src/codec.rs | 21 | #[derive(Clone, Copy, Debug, PartialEq, Eq)] | COMMENT |
| LOW | crates/net/discv5/src/error.rs | 1 | //! Errors interfacing with [`discv5::Discv5`]. | COMMENT |
| LOW | crates/net/discv5/src/error.rs | 21 | /// Peer is unreachable over discovery. | COMMENT |
| LOW | crates/net/discv5/src/config.rs | 21 | /// The default address for discv5 via UDP is IPv4. | COMMENT |
| LOW | crates/net/discv5/src/config.rs | 41 | COMMENT | |
| LOW | crates/net/discv5/src/config.rs | 61 | /// Config used by [`discv5::Discv5`]. Contains the discovery listen socket. | COMMENT |
| LOW | crates/net/discv5/src/config.rs | 81 | /// IPv6 address to advertise in the local ENR instead of the listen socket address. See | COMMENT |
| LOW | crates/net/discv5/src/config.rs | 321 | /// [`discv5::ListenConfig`]. | COMMENT |
| LOW | crates/net/discv5/src/lib.rs | 61 | /// Default is 0th index. | COMMENT |
| LOW | crates/net/discv5/src/metrics.rs | 21 | // Kbuckets | COMMENT |
| 1834 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | crates/node/builder/src/launch/common.rs | 309 | if !self.attachment.config.network.trusted_peers.is_empty() { | CODE |
| CRITICAL | crates/node/builder/src/launch/common.rs | 316 | .extend(self.attachment.config.network.trusted_peers.clone()); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1157 | self.inner.metrics.latency.get_blobs_v1.record(start.elapsed()); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1163 | self.inner.metrics.blob_metrics.blob_count.increment(blobs_found as u64); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1164 | self.inner.metrics.blob_metrics.blob_misses.increment(blobs_missed as u64); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1278 | self.inner.metrics.blob_metrics.get_blobs_requests_success_total.increment(1); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1280 | self.inner.metrics.blob_metrics.get_blobs_requests_failure_total.increment(1); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1283 | self.inner.metrics.blob_metrics.get_blobs_requests_failure_total.increment(1); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1297 | self.inner.metrics.latency.get_blobs_v3.record(start.elapsed()); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1303 | self.inner.metrics.blob_metrics.blob_count.increment(blobs_found as u64); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1304 | self.inner.metrics.blob_metrics.blob_misses.increment(blobs_missed as u64); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1319 | self.inner.metrics.latency.get_blobs_v4.record(start.elapsed()); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1325 | self.inner.metrics.blob_metrics.blob_count.increment(blobs_found as u64); | CODE |
| CRITICAL⚡ | crates/rpc/rpc-engine-api/src/engine_api.rs | 1326 | self.inner.metrics.blob_metrics.blob_misses.increment(blobs_missed as u64); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 173 | self.inner.metrics.latency.new_payload_v1.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 201 | self.inner.metrics.latency.new_payload_v2.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 231 | self.inner.metrics.latency.new_payload_v3.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 261 | self.inner.metrics.latency.new_payload_v4.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 293 | self.inner.metrics.latency.new_payload_v5.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 323 | self.inner.metrics.latency.new_payload_v6.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 365 | self.inner.metrics.latency.fork_choice_updated_v1.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 390 | self.inner.metrics.latency.fork_choice_updated_v2.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 415 | self.inner.metrics.latency.fork_choice_updated_v3.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 445 | self.inner.metrics.latency.fork_choice_updated_v4.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 478 | self.inner.metrics.latency.fork_choice_updated_v5.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 505 | self.inner.metrics.latency.get_inclusion_list_v1.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 575 | self.inner.metrics.latency.get_payload_v1.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 600 | self.inner.metrics.latency.get_payload_v2.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 625 | self.inner.metrics.latency.get_payload_v3.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 650 | self.inner.metrics.latency.get_payload_v4.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 677 | self.inner.metrics.latency.get_payload_v5.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 700 | self.inner.metrics.latency.get_payload_v6.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 835 | self.inner.metrics.latency.get_payload_bodies_by_range_v1.record(start_time.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 863 | self.inner.metrics.latency.get_payload_bodies_by_range_v2.record(start_time.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 1017 | self.inner.metrics.latency.get_payload_bodies_by_hash_v1.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 1054 | self.inner.metrics.latency.get_payload_bodies_by_hash_v2.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 1122 | self.inner.metrics.latency.has_blobs.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-engine-api/src/engine_api.rs | 1261 | self.inner.metrics.latency.get_blobs_v2.record(start.elapsed()); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 116 | self.metrics.inner.connection_metrics.requests_started_total.increment(1); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 130 | self.metrics.inner.connection_metrics.batches_started_total.increment(1); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 157 | self.metrics.inner.connection_metrics.connections_closed_total.increment(1); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 191 | this.metrics.inner.connection_metrics.requests_finished_total.increment(1); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 192 | this.metrics.inner.connection_metrics.request_time_seconds.record(elapsed); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 239 | this.metrics.inner.connection_metrics.batches_finished_total.increment(1); | CODE |
| CRITICAL | crates/rpc/rpc-builder/src/metrics.rs | 240 | this.metrics.inner.connection_metrics.batch_response_time_seconds.record(elapsed); | CODE |
| CRITICAL⚡ | crates/engine/tree/src/tree/mod.rs | 2958 | self.metrics.tree.reorgs.finalized.increment(1); | CODE |
| CRITICAL⚡ | crates/engine/tree/src/tree/mod.rs | 2962 | self.metrics.tree.reorgs.safe.increment(1); | CODE |
| CRITICAL⚡ | crates/engine/tree/src/tree/mod.rs | 2964 | self.metrics.tree.reorgs.head.increment(1); | CODE |
| CRITICAL | crates/engine/tree/src/tree/tests.rs | 307 | let overlay_manager = self.tree.state.tree_state.overlay_manager.clone(); | CODE |
| CRITICAL | crates/engine/tree/src/tree/tests.rs | 468 | let overlay_manager = harness.tree.state.tree_state.overlay_manager.clone(); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | crates/transaction-pool/src/pool/txpool.rs | 435 | // First we need to check if the given base fee is different than what's currently being | COMMENT |
| LOW | crates/cli/commands/src/db/diff.rs | 216 | // if the keys are different, we need to check if the key is in the other table | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 503 | // Step 1: heal file-level inconsistencies (no pruning) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 506 | // Step 2: RocksDB consistency check (needs static files tx data) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 509 | // Step 3: Static file checkpoint consistency (may prune) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 517 | // Step 4: Heal finalized/safe block numbers that may be ahead of the | COMMENT |
| LOW | …tes/storage/provider/src/providers/state/historical.rs | 113 | /// the target block number. In this case, we need to check if there's a previous shard. | COMMENT |
| LOW | …s/storage/provider/src/providers/static_file/writer.rs | 394 | // Step 1: Read all three sources of truth | COMMENT |
| LOW | …s/storage/provider/src/providers/static_file/writer.rs | 415 | // Step 2: Validate sidecar offsets against actual NippyJar state | COMMENT |
| LOW⚡ | …s/storage/provider/src/providers/static_file/writer.rs | 438 | // Step 3: Determine correct state from synced files (source of truth) | COMMENT |
| LOW⚡ | …s/storage/provider/src/providers/static_file/writer.rs | 442 | // Step 4: Heal if header doesn't match validated truth | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 463 | // Step 1: Write 5 blocks (0-4), commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 470 | // Step 2: Append 5 more blocks (5-9) WITHOUT committing | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 477 | // Step 3: Prune to block 7 (should keep blocks 0-7, including uncommitted 5-7) | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 482 | // Step 4: Commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 486 | // Step 5: Verify sidecar has 8 blocks, header has 8 blocks, rows are correct | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 776 | // Step 1: Write 10 blocks with 5 changes each, commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 782 | // Step 2: Corrupt sidecar by adding 3 fake blocks that point to valid but | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 788 | // Step 3: Reopen provider - healing runs and clamps sidecar to header's 10 | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 797 | // Step 4: Prune to block 6 (keep blocks 0-6, remove 7-9) | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 804 | // Step 5: Verify sidecar has 7 blocks, header has 7 blocks, rows are correct | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 107 | // Step 1: Get the trie changesets for the target block from cache | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 116 | // Step 2: Get the trie reverts for the state after the target block using the cache | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 125 | // Step 3: Create an InMemoryTrieCursorFactory with the reverts | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 130 | // Step 4: Collect all account trie nodes that changed in the target block | COMMENT |
| LOW | crates/storage/storage-overlay/src/changeset_cache.rs | 142 | // Step 5: Collect all storage trie nodes that changed in the target block | COMMENT |
| LOW | crates/trie/trie/src/proof_v2/mod.rs | 775 | // Having just seeked forward we need to check if the cursor is now exhausted, | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/take_updates.rs | 298 | // Step 1: Remove key_c — with only 3 keys under the root branch, removing one causes | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/take_updates.rs | 305 | // Step 2: Insert a new key at 0x03 — re-creates/modifies the branch structure at the | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1149 | // Step 1: Remove key_c to collapse the branch at 0x10.. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1157 | // Step 2: Re-insert key_c with a new value — this re-creates the branch. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1165 | // Step 3: Update key_a — previously could be orphaned if branch collapse | COMMENT |
| LOW | crates/trie/sparse/tests/suite/update_leaves.rs | 1213 | // Step 1: Remove key_a → branch collapses, key_b becomes the sole child. | COMMENT |
| LOW | crates/trie/sparse/tests/suite/update_leaves.rs | 1234 | // Step 2: Modify the remaining leaf's value — this must succeed after the collapse | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 345 | // Step 2: Now send Changed for 2 of the touched keys + 1 new key. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 355 | // Step 3: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 412 | // Step 2: Reveal the proof for the requested targets. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 416 | // Step 3: Replace Touched with Changed(new_value) in the map. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 420 | // Step 4: update_leaves again — key should now be drained. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 426 | // Step 5: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 457 | // Step 1: Read existing leaf value via get_leaf_value. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 464 | // Step 2: Decode the value and verify it matches expected. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 469 | // Step 3: Modify the value (simulates changing balance while keeping storage root). | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 473 | // Step 4: Update the leaf with the re-encoded value. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 478 | // Step 5: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 508 | // Step 1: find_leaf(existing_key, None) → Exists | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 515 | // Step 2: find_leaf(nonexistent_key, None) → NonExistent | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 522 | // Step 3: Modify existing key2 and insert nonexistent_key. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 533 | // Step 4: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 542 | // Step 5: find_leaf(nonexistent_key, None) → now Exists | COMMENT |
| LOW | crates/trie/sparse/tests/suite/lifecycle.rs | 330 | // Step 1: Prewarm 3 keys with Touched — all should be drained (paths are revealed). | COMMENT |
| LOW | crates/trie/sparse/tests/suite/lifecycle.rs | 399 | // Step 1: Touched on a key in group B's blinded subtrie → callback fires. | COMMENT |
| LOW | crates/trie/sparse/src/arena/mod.rs | 973 | // Step 1: Handle trivial roots that don't need the stack-based walk. | COMMENT |
| LOW | crates/trie/sparse/src/arena/mod.rs | 1005 | // Step 2: Walk dirty branches depth-first using `cursor.next`. Only dirty branches | COMMENT |
| LOW | crates/exex/exex/src/notifications.rs | 329 | /// If true, then we need to check if the ExEx head is on the canonical chain and if not, | COMMENT |
| LOW | crates/exex/exex/src/notifications.rs | 332 | /// If true, then we need to check if the ExEx head is behind the node head and if so, backfill | COMMENT |
| LOW⚡ | crates/engine/tree/src/persistence.rs | 666 | // Step 1: save_blocks appends new entries 20..25 and commits immediately. | COMMENT |
| LOW⚡ | crates/engine/tree/src/persistence.rs | 671 | // Step 2: Pruner runs AFTER commit, so it reads state that includes 20..25. | COMMENT |
| LOW | crates/ethereum/payload/src/lib.rs | 321 | // There's only limited amount of blob space available per block, so we need to check if | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/tasks/src/runtime.rs | 284 | // ── RuntimeInner ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/tasks/src/runtime.rs | 353 | // ── Runtime ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/tasks/src/runtime.rs | 370 | // ── Pool accessors ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/tasks/src/runtime.rs | 460 | // ── Test helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/tasks/src/runtime.rs | 499 | // ── Spawn methods ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/tasks/src/runtime.rs | 916 | // ── RuntimeBuilder ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/transaction-pool/src/lib.rs | 120 | //! Queued ─────────→ BaseFee/Blob ────────→ Pending | COMMENT |
| MEDIUM | crates/transaction-pool/src/lib.rs | 123 | //! └────────────────────┴─────────────────────┘ | COMMENT |
| MEDIUM | crates/transaction-pool/src/traits.rs | 30 | //! └──────────┐ ┌────────────────┘ | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 2999 | // ── Construct cached branch at [6] ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3015 | // ── Construct cached branch at [6,a,3] ──────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3044 | // ── Verify root hash ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3069 | // ── Verify proof for key_c contains nodes on its path ────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3111 | // ── Construct cached branch at [6] ───────────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3127 | // ── Construct cached branch at [6,a,8] ──────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3155 | // ── Verify root hash ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | crates/trie/trie/src/proof_v2/mod.rs | 3180 | // ── Verify proof for key_c contains nodes on its path ────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 9 | // ── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 62 | // ── Original tests (from PR #22069) ────────────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 62 | // ── Original tests (from PR #22069) ────────────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 110 | // ── Subcommand --help coverage ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 246 | // ── `config --default` outputs valid TOML ──────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 261 | // ── `dump-genesis` outputs valid JSON ──────────────────────────────────────── | COMMENT |
| MEDIUM | bin/reth/tests/it/main.rs | 284 | // ── Dev node: send transaction round-trip ──────────────────────────────────── | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 70 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 72 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 281 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 283 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 1057 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/workflows/bench-scheduled.yml | 1059 | # --------------------------------------------------------------------------- | COMMENT |
| MEDIUM | .github/scripts/bench-txgen-extract.sh | 23 | # -------------- | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 39 | # ========================================================================== | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 41 | # ========================================================================== | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 119 | # ========================================================================== | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 121 | # ========================================================================== | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 212 | # ========================================================================== | COMMENT |
| MEDIUM | .github/scripts/bench-scheduled-refs.sh | 214 | # ========================================================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 503 | // Step 1: heal file-level inconsistencies (no pruning) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 506 | // Step 2: RocksDB consistency check (needs static files tx data) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 509 | // Step 3: Static file checkpoint consistency (may prune) | COMMENT |
| LOW⚡ | crates/storage/provider/src/providers/database/mod.rs | 517 | // Step 4: Heal finalized/safe block numbers that may be ahead of the | COMMENT |
| LOW | …s/storage/provider/src/providers/static_file/writer.rs | 394 | // Step 1: Read all three sources of truth | COMMENT |
| LOW | …s/storage/provider/src/providers/static_file/writer.rs | 415 | // Step 2: Validate sidecar offsets against actual NippyJar state | COMMENT |
| LOW⚡ | …s/storage/provider/src/providers/static_file/writer.rs | 438 | // Step 3: Determine correct state from synced files (source of truth) | COMMENT |
| LOW⚡ | …s/storage/provider/src/providers/static_file/writer.rs | 442 | // Step 4: Heal if header doesn't match validated truth | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 463 | // Step 1: Write 5 blocks (0-4), commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 470 | // Step 2: Append 5 more blocks (5-9) WITHOUT committing | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 477 | // Step 3: Prune to block 7 (should keep blocks 0-7, including uncommitted 5-7) | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 482 | // Step 4: Commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 486 | // Step 5: Verify sidecar has 8 blocks, header has 8 blocks, rows are correct | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 776 | // Step 1: Write 10 blocks with 5 changes each, commit | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 782 | // Step 2: Corrupt sidecar by adding 3 fake blocks that point to valid but | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 788 | // Step 3: Reopen provider - healing runs and clamps sidecar to header's 10 | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 797 | // Step 4: Prune to block 6 (keep blocks 0-6, remove 7-9) | COMMENT |
| LOW⚡ | …age/provider/src/providers/static_file/writer_tests.rs | 804 | // Step 5: Verify sidecar has 7 blocks, header has 7 blocks, rows are correct | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 107 | // Step 1: Get the trie changesets for the target block from cache | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 116 | // Step 2: Get the trie reverts for the state after the target block using the cache | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 125 | // Step 3: Create an InMemoryTrieCursorFactory with the reverts | COMMENT |
| LOW⚡ | crates/storage/storage-overlay/src/changeset_cache.rs | 130 | // Step 4: Collect all account trie nodes that changed in the target block | COMMENT |
| LOW | crates/storage/storage-overlay/src/changeset_cache.rs | 142 | // Step 5: Collect all storage trie nodes that changed in the target block | COMMENT |
| LOW | crates/storage/db-common/src/init.rs | 676 | /// NOTE: This function is not idempotent. If the process crashes mid-import, the database | COMMENT |
| LOW | crates/trie/trie/src/hashed_cursor/post_state.rs | 346 | /// NOTE: This function will not return any entry unless [`HashedCursor::seek`] has been called. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/take_updates.rs | 298 | // Step 1: Remove key_c — with only 3 keys under the root branch, removing one causes | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/take_updates.rs | 305 | // Step 2: Insert a new key at 0x03 — re-creates/modifies the branch structure at the | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1149 | // Step 1: Remove key_c to collapse the branch at 0x10.. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1157 | // Step 2: Re-insert key_c with a new value — this re-creates the branch. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/update_leaves.rs | 1165 | // Step 3: Update key_a — previously could be orphaned if branch collapse | COMMENT |
| LOW | crates/trie/sparse/tests/suite/update_leaves.rs | 1213 | // Step 1: Remove key_a → branch collapses, key_b becomes the sole child. | COMMENT |
| LOW | crates/trie/sparse/tests/suite/update_leaves.rs | 1234 | // Step 2: Modify the remaining leaf's value — this must succeed after the collapse | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 345 | // Step 2: Now send Changed for 2 of the touched keys + 1 new key. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 355 | // Step 3: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 412 | // Step 2: Reveal the proof for the requested targets. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 416 | // Step 3: Replace Touched with Changed(new_value) in the map. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 420 | // Step 4: update_leaves again — key should now be drained. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 426 | // Step 5: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 457 | // Step 1: Read existing leaf value via get_leaf_value. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 464 | // Step 2: Decode the value and verify it matches expected. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 469 | // Step 3: Modify the value (simulates changing balance while keeping storage root). | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 473 | // Step 4: Update the leaf with the re-encoded value. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 478 | // Step 5: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 508 | // Step 1: find_leaf(existing_key, None) → Exists | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 515 | // Step 2: find_leaf(nonexistent_key, None) → NonExistent | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 522 | // Step 3: Modify existing key2 and insert nonexistent_key. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 533 | // Step 4: Compute root and verify against reference. | COMMENT |
| LOW⚡ | crates/trie/sparse/tests/suite/lifecycle.rs | 542 | // Step 5: find_leaf(nonexistent_key, None) → now Exists | COMMENT |
| LOW | crates/trie/sparse/tests/suite/lifecycle.rs | 330 | // Step 1: Prewarm 3 keys with Touched — all should be drained (paths are revealed). | COMMENT |
| LOW | crates/trie/sparse/tests/suite/lifecycle.rs | 399 | // Step 1: Touched on a key in group B's blinded subtrie → callback fires. | COMMENT |
| LOW | crates/trie/sparse/src/state.rs | 216 | /// NOTE: This method does not extensively validate the proof. | COMMENT |
| LOW | crates/trie/sparse/src/state.rs | 226 | /// NOTE: This method does not extensively validate the proof. | COMMENT |
| LOW | crates/trie/sparse/src/arena/mod.rs | 973 | // Step 1: Handle trivial roots that don't need the stack-based walk. | COMMENT |
| LOW | crates/trie/sparse/src/arena/mod.rs | 1005 | // Step 2: Walk dirty branches depth-first using `cursor.next`. Only dirty branches | COMMENT |
| LOW⚡ | crates/engine/tree/src/persistence.rs | 666 | // Step 1: save_blocks appends new entries 20..25 and commits immediately. | COMMENT |
| LOW⚡ | crates/engine/tree/src/persistence.rs | 671 | // Step 2: Pruner runs AFTER commit, so it reads state that includes 20..25. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/test_bench_call_summary.py | 181 | def test_matching_runs_report_no_mismatches(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 199 | def test_feature_content_mismatch_fails_the_verdict(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 213 | def test_kind_mismatch_is_reported_separately(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 227 | def test_unstable_record_is_excluded_from_parity(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 244 | def test_stable_record_regression_survives_an_unstable_record(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 262 | def test_feature_only_nondeterminism_on_a_stable_record_is_a_mismatch(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 275 | def test_baseline_nondeterminism_only_excludes_that_record(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 283 | def test_all_records_unstable_is_inconclusive(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 294 | def test_record_median_interval_follows_run_to_run_noise(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 309 | def test_record_median_regression_is_not_hidden_by_record_spread(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 326 | def test_mixed_method_corpus_reports_per_method(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_call_summary.py | 339 | def test_single_method_corpus_omits_per_method_table(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_call_summary.py | 346 | def test_head_hash_mismatch_is_refused(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_call_summary.py | 352 | def test_nested_call_report_schema_is_read(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 384 | def test_record_answered_in_one_arm_only_is_a_divergence(self): | CODE |
| LOW | .github/scripts/test_bench_call_summary.py | 399 | def test_corpus_metadata_is_included(self): | CODE |
| LOW | .github/scripts/bench-reth-charts.py | 54 | def plot_latency_and_throughput( | CODE |
| LOW | .github/scripts/bench-target-metric-sample-filter.py | 34 | def target_metric_sample_names(config: dict) -> list[str]: | CODE |
| LOW | .github/scripts/test_bench_elapsed_metrics.py | 71 | def test_persistence_savings_survive_slower_execution(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_elapsed_metrics.py | 96 | def test_average_run_throughput_not_ratio_of_averages(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_elapsed_metrics.py | 106 | def test_run_count_does_not_inflate_elapsed_time(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_elapsed_metrics.py | 113 | def test_single_run_elapsed_verdict_is_informational(self): | CODE |
| LOW⚡ | .github/scripts/test_bench_elapsed_metrics.py | 122 | def test_missing_report_does_not_fabricate_wall_clock(self): | CODE |
| LOW | .github/scripts/test_bench_elapsed_metrics.py | 134 | def test_invalid_duration_rejected(self): | CODE |
| LOW | .github/scripts/test_bench_elapsed_metrics.py | 141 | def test_mismatched_report_rejected(self): | CODE |
| LOW⚡ | .github/scripts/bench-reth-summary.py | 176 | def target_metric_query_encodes_seconds(query: str) -> bool: | CODE |
| LOW⚡ | .github/scripts/bench-reth-summary.py | 181 | def target_metric_counter_encodes_seconds(query: str) -> bool: | CODE |
| LOW⚡ | .github/scripts/bench-reth-summary.py | 185 | def target_metric_min_value_pct_total_latency(config: dict) -> float | None: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 142 | def parse_target_metric_query(query: str) -> tuple[str, str, dict[str, str]]: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 160 | def format_target_metric_query(metric_name: str, labels: dict[str, str]) -> str: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 736 | def target_metric_identity_key(labels: dict[str, str]) -> tuple[tuple[str, str], ...]: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 740 | def target_metric_candidate_identity_labels( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 752 | def target_metric_variable_identity_label_keys( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 776 | def target_metric_identity_labels( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 789 | def target_metric_display_query(query: str, identity_labels: dict[str, str] | None = None) -> str: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 797 | def group_query_samples_by_identity( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 833 | def collect_metric_identities(grouped_scrapes: list[dict]) -> dict[tuple[tuple[str, str], ...], dict[str, str]]: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 841 | def format_target_metric_identity(query: str, identity_labels: dict[str, str]) -> str: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 857 | def load_target_metric_scrapes(path: str) -> list[dict]: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 899 | def compute_target_metric_series_stats(values: list[float]) -> dict[str, float]: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 911 | def counter_target_metric_stat_value(values: list[float], stat_name: str) -> float: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 923 | def paired_target_metric_observations( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 949 | def target_metric_run_stat_value(run: dict, stat_name: str) -> float: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 962 | def _target_metric_cluster_ci( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 987 | def _target_metric_single_run_ci( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1005 | def compute_target_metric_change( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1116 | def query_counter_target_metric_run( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1204 | def query_histogram_target_metric_run( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1298 | def load_target_metric_run_context(path: str) -> dict: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1322 | def collect_target_metric_identity_label_keys( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1393 | def summarize_target_metric_runs(run_items: list[dict], fields: tuple[str, ...]) -> dict: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1399 | def summarize_target_metric_change(changes: dict[str, dict], display_stats: tuple[str, ...]) -> dict: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1413 | def collect_query_metric_identities( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1453 | def build_target_metric_entry( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1517 | def compute_target_metric_summary( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1733 | def generate_comparison_table( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1858 | def generate_target_metric_table(target_metrics: dict | None) -> str: | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1979 | def resolve_observability_range( | CODE |
| LOW | .github/scripts/bench-reth-summary.py | 1997 | def generate_observability_section(summary: dict) -> list[str]: | CODE |
| LOW | .github/scripts/fetch-grafana-dashboard.py | 85 | def has_expression_datasource(dashboard: dict) -> bool: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | crates/trie/common/src/proofs.rs | 818 | /// Array of storage proofs as requested. | COMMENT |
| HIGH | crates/trie/common/src/proofs.rs | 1025 | /// Array of storage proofs as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/stages/stages/src/stages/sender_recovery.rs | 341 | // However, using `std::thread::spawn` allows us to utilize the timeout grace | COMMENT |
| MEDIUM | crates/storage/storage-api/src/receipts.rs | 49 | /// because it can leverage the underlying `receipts_by_tx_range` for the entire transaction | COMMENT |
| MEDIUM | crates/storage/libmdbx-rs/src/flags.rs | 9 | /// Default robust and durable sync mode. | COMMENT |
| MEDIUM | …ne/tree/src/tree/payload_processor/bal_prewarm_pool.rs | 135 | /// In order to utilize the parallelism of `NVMe` we have to give it enough work, or equally, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | crates/rpc/rpc/src/eth/core.rs | 100 | /// # Create an instance with noop ethereum implementations | COMMENT |
| MEDIUM | crates/rpc/rpc/src/eth/filter.rs | 129 | /// # Create a new instance with [`EthApi`](crate::EthApi) | COMMENT |
| MEDIUM | .github/scripts/hive/ignored_tests.yaml | 3 | # This file contains tests that should be ignored for various reasons (flaky, known issues, etc). | COMMENT |
| MEDIUM | .github/scripts/hive/build_simulators.sh | 23 | # Create the hive_assets directory | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/patch-alloy.sh | 4 | # Usage: | COMMENT |
| LOW | .github/scripts/bench-benchmarkoor-run.sh | 5 | # Usage: | COMMENT |
| LOW | .github/scripts/verify_image_arch.sh | 4 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/test_bench_call_summary.py | 7 | CODE | |
| LOW | .github/scripts/bench-call-summary.py | 26 | CODE | |
| LOW | .github/scripts/bench-benchmarkoor-summary.py | 4 | CODE | |
| LOW | .github/scripts/bench-target-metric-sample-filter.py | 4 | CODE | |
| LOW | .github/scripts/bench-reth-summary.py | 21 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/hive/run_simulator.sh | 41 | # Check if no tests were run. sed removes ansi colors | COMMENT |
| LOW | .github/scripts/hive/parse.py | 36 | # Check if this is an ignored test | COMMENT |
| LOW | .github/scripts/hive/parse.py | 66 | # Check if there are any unexpected failures or passes and exit with error | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/bench-call-summary.py | 515 | CODE | |
| LOW | .github/scripts/bench-reth-summary.py | 1517 | CODE | |
| LOW | .github/scripts/fetch-grafana-dashboard.py | 89 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/grafana.yml | 35 | print(f'Error: {e}', file=sys.stderr) | CODE |