Skip to content

refactor: use extensible request handlers#1357

Draft
Wodann wants to merge 6 commits into
mainfrom
research/handler
Draft

refactor: use extensible request handlers#1357
Wodann wants to merge 6 commits into
mainfrom
research/handler

Conversation

@Wodann

@Wodann Wodann commented Apr 11, 2026

Copy link
Copy Markdown
Member

This is a draft PR exploring a design for request handlers that's extensible for different chain types and (potentially) third party extensions.

The new design allows us to generate documentation per handler, instead of having to extract documentation from the large enum MethodInvocation type.

To do

  • Split research into two PRS:
    1. Refactor error propagation
    2. Dynamic request handlers
  • Investigate performance impact of switching from match statement to dynamic trait objects

@changeset-bot

changeset-bot Bot commented Apr 11, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: ae77c4f

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@Wodann Wodann had a problem deploying to github-action-benchmark April 11, 2026 16:11 — with GitHub Actions Error
@Wodann Wodann temporarily deployed to github-action-benchmark April 11, 2026 16:11 — with GitHub Actions Inactive
@Wodann Wodann added the no changeset needed This PR doesn't require a changeset label Apr 11, 2026
@Wodann Wodann temporarily deployed to github-action-benchmark April 11, 2026 16:15 — with GitHub Actions Inactive
@Wodann Wodann temporarily deployed to github-action-benchmark April 11, 2026 16:15 — with GitHub Actions Inactive
@codecov

codecov Bot commented Apr 11, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 634 lines in your changes missing coverage. Please review.
✅ Project coverage is 21.19%. Comparing base (8845f3d) to head (ae77c4f).

Files with missing lines Patch % Lines
crates/edr_provider/src/provider.rs 0.00% 217 Missing ⚠️
crates/edr_provider/src/handlers.rs 0.00% 211 Missing ⚠️
crates/edr_provider/src/error.rs 0.00% 45 Missing ⚠️
crates/rpc/types/src/address.rs 0.00% 33 Missing ⚠️
crates/edr_provider/src/handlers/error.rs 0.00% 27 Missing ⚠️
crates/edr_provider/src/requests/serde.rs 0.00% 23 Missing ⚠️
crates/edr_provider/src/handlers/eth/state.rs 0.00% 22 Missing ⚠️
crates/edr_napi_core/src/provider.rs 0.00% 15 Missing ⚠️
crates/edr_provider/src/test_utils.rs 0.00% 9 Missing ⚠️
crates/edr_napi_core/src/logger.rs 0.00% 5 Missing ⚠️
... and 12 more
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1357       +/-   ##
===========================================
- Coverage   73.90%   21.19%   -52.72%     
===========================================
  Files         446      423       -23     
  Lines       76049    66912     -9137     
  Branches    76049    66912     -9137     
===========================================
- Hits        56205    14179    -42026     
- Misses      17789    52043    +34254     
+ Partials     2055      690     -1365     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changeset needed This PR doesn't require a changeset

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant