-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Merged file descriptors from gogo and protoreflect #14693
Comments
As part of |
One thing we need to be careful about here is that this global registry should be built after all go packages have had a chance to initialize and register themselves with the protoregistry and gogo proto global registries. Otherwise, this composite registry will be missing files. |
we already do have something similar: https://github.com/cosmos/cosmos-proto/blob/main/internal/fuzz/message.go |
Right I forgot about that. Could we make it general purpose and also use generics? Do other see this as a useful tool for testing generally? |
Yes we can I guess. Feel free to open an issue and assign me. |
Added #14704 |
I actually think the gogo/protoreflect global registry merging should live in our fork of gogo. Its utility will hopefully be short lived as I imagine there will be a time when everything is protoreflect. Regarding amino json, what if we put that in x/tx with other sign mode stuff? As we discussed in today's call, more generic stuff like random msg generation, unknown field filtering, and runtime interface linting can live in cosmos-proto. |
I like this idea better than creating a new codec/v2. |
Yes, adding registry in Side note: if that would be in |
@robert-zaremba Just to clarify, afaiu @aaronc's proposal is to put in |
codec/v2
go module
Update
Latest proposal is to put gogo+apiv2 registries merging inside
cosmos/gogoproto
, see #14693 (comment)Summary
Create
codec/v2
go moduleProblem Definition
From @aaronc: We should have a standardized way of collecting both gogo and protoreflect file descriptors into a single global registry as that will be needed in many places now (textual #14647, autocli, replacing getsigners, runtime's reflection endpoint etc.).
Proposal
Create a
codec/v2
go module that will host this logic.In the future (out of scope of this issue), we can add the following items too to this module:
Any interface acceptancego in cosmos-protoRapid proto message generator #14704go in cosmos-protoThe text was updated successfully, but these errors were encountered: