Skip to content

Conversation

@emhane
Copy link
Member

@emhane emhane commented Jan 6, 2026

Ref #520

Simplifies generics in various places by instead of using fully qualified syntax to access associated type, using adapters

  • PrimitivesTy to access associated type NodeTypes::Primitives
  • TxTy to access NodePrimitives::SignedTx
  • ReceiptTy to access NodePrimitives::Receipt
  • BlockTy to access NodePrimitives::Block
  • HeaderTy to access NodePrimitives::Header

@emhane emhane requested a review from dhyaniarun1993 as a code owner January 6, 2026 08:42
@emhane emhane added the K-debt Kind: debt label Jan 6, 2026
@emhane emhane added the A-sdk Area: node builder SDK label Jan 6, 2026
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR simplifies generic syntax throughout the codebase by introducing and using the PrimitivesTy<N> type adapter instead of the fully qualified syntax <N as NodeTypes>::Primitives. The change improves code readability by reducing boilerplate in type declarations.

Key changes:

  • Introduces PrimitivesTy type adapter for cleaner access to NodeTypes::Primitives
  • Updates type bounds and associated types across node components, RPC handlers, and engine services
  • Replaces verbose <Node::Types as NodeTypes>::Primitives syntax with concise PrimitivesTy<Node::Types>

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
crates/optimism/node/tests/it/builder.rs Updates test EVM configuration to use PrimitivesTy adapter
crates/optimism/node/src/node.rs Updates EVM config and validator builder to use PrimitivesTy adapter
crates/node/builder/src/rpc.rs Updates RPC handle types and engine validator traits to use PrimitivesTy adapter
crates/node/builder/src/node.rs Adds import and updates NodeTypes implementation with PrimitivesTy adapter
crates/node/builder/src/launch/invalid_block_hook.rs Updates invalid block hook extension trait to use PrimitivesTy adapter
crates/node/builder/src/launch/common.rs Updates static file provider return type to use PrimitivesTy adapter
crates/node/builder/src/components/mod.rs Updates component trait bounds to use PrimitivesTy adapter
crates/node/api/src/node.rs Adds import and updates component traits and context to use PrimitivesTy adapter
crates/engine/service/src/service.rs Updates engine service type aliases to use PrimitivesTy adapter

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@emhane emhane requested a review from BioMark3r as a code owner January 6, 2026 08:57
@emhane emhane changed the title chore(sdk): Simplify syntax by using PrimitivesTy adapter chore(sdk): Simplify generics syntax by using adapters Jan 6, 2026
@emhane emhane marked this pull request as draft January 6, 2026 09:03
@codecov
Copy link

codecov bot commented Jan 7, 2026

Codecov Report

❌ Patch coverage is 8.33333% with 22 lines in your changes missing coverage. Please review.
✅ Project coverage is 35.35%. Comparing base (c701f05) to head (58d4418).

Files with missing lines Patch % Lines
.../prune/prune/src/segments/user/receipts_by_logs.rs 0.00% 11 Missing ⚠️
crates/prune/prune/src/segments/receipts.rs 0.00% 7 Missing ⚠️
crates/stages/stages/src/stages/headers.rs 0.00% 2 Missing ⚠️
...s/static-file/static-file/src/segments/receipts.rs 0.00% 1 Missing ⚠️
crates/storage/db-common/src/init.rs 66.66% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

Files with missing lines Coverage Δ
crates/exex/exex/src/backfill/job.rs 0.00% <ø> (ø)
crates/payload/primitives/src/lib.rs 58.04% <ø> (ø)
crates/payload/primitives/src/traits.rs 43.18% <ø> (ø)
crates/rpc/rpc/src/validation.rs 0.00% <ø> (ø)
crates/stages/stages/src/stages/execution.rs 9.71% <ø> (ø)
...s/static-file/static-file/src/segments/receipts.rs 0.00% <0.00%> (ø)
crates/storage/db-common/src/init.rs 51.97% <66.66%> (ø)
crates/stages/stages/src/stages/headers.rs 9.40% <0.00%> (ø)
crates/prune/prune/src/segments/receipts.rs 0.00% <0.00%> (ø)
.../prune/prune/src/segments/user/receipts_by_logs.rs 0.00% <0.00%> (ø)

... and 43 files with indirect coverage changes

Flag Coverage Δ
e2e 35.35% <8.33%> (-0.38%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Components Coverage Δ
reth binary 53.40% <ø> (ø)
op historical proof 71.53% <ø> (+0.40%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@wiz-b4c72f16a4
Copy link

wiz-b4c72f16a4 bot commented Jan 8, 2026

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities 3 Low
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Supply Chain Finding Software Supply Chain Findings -
Total 3 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@emhane emhane marked this pull request as ready for review January 8, 2026 14:16
@emhane emhane requested a review from op-will as a code owner January 13, 2026 11:29
@emhane emhane force-pushed the emhane/use-primitive-types-adapters branch from c30e6f7 to a105bfe Compare January 13, 2026 13:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-sdk Area: node builder SDK K-debt Kind: debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants