Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Umbrella Ticket] PATH Embedded QoS #19

Open
8 tasks
adshmh opened this issue Sep 10, 2024 · 0 comments
Open
8 tasks

[Umbrella Ticket] PATH Embedded QoS #19

adshmh opened this issue Sep 10, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request qos
Milestone

Comments

@adshmh
Copy link
Contributor

adshmh commented Sep 10, 2024

Objective

Build the foundation for Quality of Service on JSONRPC, EVM, and RESTful services.

Origin Document

  • Filter out potentially invalid requests before they get sent to service endpoints.
  • Validate responses received from service endpoints to minimize the number of invalid responses that reach end users.
  • Help filter out available endpoints that do not comply with the spec of the target service, to reduce the need for retries on service requests, leading to improved quality of service for the user.

Goals

  • Clearly invalid requests should be blocked before reaching service endpoints, e.g. a JSONRPC request with no method.
  • Clearly responses should be blocked before reaching the user, e.g. a non-JSONRPC response to a JSONRPC service request.
  • Filter out endpoints which have failed specific checks for a target service, on any of the supported services
  • Build and utilize a set of requests and corresponding response validators to establish "good" vs "bad" endpoints.

Deliverables

  • JSONRPC basic validation of requests and responses
  • EVM basic validation (e.g. valid method name), on both requests and responses
  • EVM basic checks against an endpoint: e.g. chain ID, sync: i.e. valid block height.
  • RESTful services basic validation against a TBD spec, e.g. openAPI.

Non-goals / Non-deliverables

  • Guaranteeing the validity of a request before sending it out to a service endpoint, e.g. processing a eth_sendTransaction to ensure the sender has enough balance.

  • Guaranteeing the validity of a response before returning it to the user, e.g. verifying the actual contents of a block received in response to an eth_blockNumber request.

General deliverables

  • Comments: Add/update TODOs and comments alongside the source code so it is easier to follow.
  • Testing: Add new tests (unit and/or E2E) to the test suite.
  • Makefile: Add new targets to the Makefile to make the new functionality easier to use.
  • Documentation: Update architectural or development READMEs; use mermaid diagrams where appropriate.

Creator: [@adshmh ]
Co-Owners: [@Olshansk ]

@adshmh adshmh added enhancement New feature or request qos labels Sep 10, 2024
@adshmh adshmh added this to the Path MVP milestone Sep 10, 2024
@adshmh adshmh self-assigned this Sep 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request qos
Projects
Status: 🏗 In progress
Development

No branches or pull requests

1 participant