Notifications over GRPC
This PR implements notifications over the grpc-interface.
The first commit introduces the json-schema's that are used to serialize notifications.
I've introduced notifications to msggen. This PR also introduces code that allows msggen to generate
- structs that can deserialize JSON-notifications
- the
.proto-file that defines the grpc-interface - methods to convert notifications from JSON to protobuf
- a function grpc-server
I've updated the grpc-plugin to ensure it can support notifications.
I've marked this PR as ready for review.
I am explicitly looking for review on the choose better when subfield is optional commit.
The proposed change also change generated code for schema's introduced before v24.05.
To my understanding this is safe for protobuf as the optional-keyword will not affect the wire-format.
For the cln_rpc-structs library users will have to update their code. However, the updated code will still work with older versions of Core Lightning.
This still had a couple failing tests, but the logs have now expired. Do you want help getting this PR through CI @ErikDeSmedt?
@endothermicdev : I've rebased it on top of master and the tests are mostly successful again. I assume the current failure is a flake.
Let me know if have any question or need help to merge this request
Rebased on top of #7274 for immediate inclusion.