-
Notifications
You must be signed in to change notification settings - Fork 51
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
Rewrite the light client JSON-RPC server #1685
Conversation
Note that I've been trying to keep the existing behavior as much as possible. However, I remember instinctively changing some return values w.r.t. the new JSON-RPC API to better match the spec, but maybe not all of them. Unfortunately, I don't remember exactly what I've changed, so I don't know what to put in the CHANGELOG. |
While it's not unlikely that some bugs are being introduced, I'm reasonably confident in the code of this module, and thus I'm going to merge this once CI passes. |
cc #1415
This PR rewrites the light client JSON-RPC server in order to get rid of the
json_rpc::services
module of the library. This module was badly designed and is to be replaced with #1436.Once #1436 is finished and merged, the code in this PR will be split into multiple different JSON-RPC servers (the idea right now being: one for the legacy API, one for the new API, one for transactions) that are merged together through the
ServersMultiplexer
.The new code in this PR removes the security properties of the JSON-RPC server. They were never actually documented anywhere, and smoldot doesn't need to have a secure JSON-RPC server at the moment. These security properties will be restored after #1436.
Work time: 45h