Relay contents should be validated on client-side before being sent to the target (e.g. a servicer in case of trustless relays)
Origin Document
Client should not be sending relays with a clearly invalid contents, e.g. missing jsonrpc string in case of JSONRPC relays.
But this is not currently done:
Goals
Discuss the validations. More specifically:
Should the client perform validations specific to the target relay chain (e.g. not allow JSONRPC if the relay chain expects RESTful relays)
Should the client use or at-least enable the addition of method/chain-specific content validators: e.g. a custom/buildin validator that ensures the params object is valid for the specified method.
Perform "basic" relay content validation, whatever the definition of "basic" ends up to be for now.
Deliverable
[ ] MVP validation code for relay contents: limit the scope to JSONRPC and RESTful relays
[ ] Updated documentation as this is a user-facing change.
[ ] one or more issues that describe additional builtin/custom relay validators
Non-goals / Non-deliverables
Perform a complete validation of any of the relay types, e.g. JSONRPC, and guarantee correctness
General issue deliverables
[ ] Update any relevant local/global README(s)
[ ] Update relevant source code tree explanations
[ ] Add or update any relevant or supporting mermaid diagrams
Testing Methodology
[ ] Task specific tests or benchmarks: make ...
[ ] New tests or benchmarks: make ...
[ ] All tests: make test_all
[ ] LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
[ ] k8s LocalNet: verify a k8s LocalNet is still functioning correctly by following the instructions here
Objective
Relay contents should be validated on client-side before being sent to the target (e.g. a servicer in case of trustless relays)
Origin Document
Client should not be sending relays with a clearly invalid contents, e.g. missing
jsonrpc
string in case of JSONRPC relays. But this is not currently done:Goals
params
object is valid for the specified method.Deliverable
Non-goals / Non-deliverables
General issue deliverables
Testing Methodology
make ...
make ...
make test_all
LocalNet
is still functioning correctly by following the instructions at docs/development/README.mdk8s LocalNet
is still functioning correctly by following the instructions hereCreator: [@adshmh ] Co-Owners: [@Olshansk]