Introduce RPC protocol plugins
Context
This MR extends the mechanism of mempool plugins to a more general notion of protocol plugins for the shell.
It extends the plugin with a section to extend/patch the RPCs of protocols, work by @vbotbol.
It also uses this new system to provide a retrocompatible API to Edo w.r.t. the new formatting of nested pairs in Micheline, work by @rafoo_.
Finally, it changes a bit the build system to match the linking method used for protocols in the shell.
The OP's main contribution is the initial design suggestion, gitteries and opening the MR.
Closes #1020 (closed).
Manually testing the MR
- Launch a sandbox node
- Check the presence of the new RPC using
tezos-client rpc list /chains/main/blocks/head
- Try the new command (
normalize data
) and command line arguments (--unparsing-mode
).
Reviewers
Edited by Raphaël Cauderlier