Proto/RPC | RPC plugin: Move helper RPCs outside of the protocol
Context
The RPC plugin is a recently introduced mechanism to improve the maintainability of protocol-specific RPCs. It allows to define RPCs outside of the protocol and was used to add Michelson normalization RPCs after the injection of Edo.
This MR moves all the so-called "helpers" RPCs from the protocol to the RPC plugin. It solves #1096 (closed).
Manually testing the MR
The helper RPCs are used everywhere in the test suite, especially in protocol integration tests. The current_level RPC is even used in shell tests. To manually test this MR, reviewers can run one of the client commands that use a helper RPC (for example tezos-client typecheck script 'parameter unit; storage unit; code {CAR; NIL operation; PAIR}'
and check that it works for all client modes (client, mockup, and proxy).
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rst
for the protocol and the environment, theDevelopment Version
section ofCHANGES.md
for everything else). -
Select suitable reviewers using the Reviewers
field below.