Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
feat: add query.GenericFilteredPaginated #12253
feat: add query.GenericFilteredPaginated #12253
Changes from 8 commits
fa3014e
619f716
a920332
cb28171
b5b5a64
3dd87d2
4ebaaaa
9eeb401
6db3de3
85fc29b
6353df0
23b5fdc
fff311f
bf01daa
1cf2af3
314d622
2c59802
a93666b
40cd7b6
38f74ad
61311bd
51ca9b5
baf7f7f
b0070c2
7e955a9
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so
V
is anany
, which is just aninterface{}
. Do we not need to type check here thatV
is acodec.ProtoMarshaler
? Why not also makeV
of typecodec.ProtoMarshaler
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was trying to find a way of instantiating
V
(nowT
; not sure what to name these), which for some reason was impossible for me (always ended up getting**authz.Grant
instead of*authz.Grant
without the possibility to dereference it). Withreflect
it was quite easy, but I'm not sure if we would like to use it here. See my last commit: 6db3de3There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was what I was trying to do before:
None of these work... In short, we need to be able to initialize a variable with type
T
that is not nil. Is this possible with generics?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Osmosis, I made V of type proto.Message for something similar here; https://github.com/osmosis-labs/osmosis/blob/main/tests/e2e/chain/config.go#L149-L162
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
codec.BinaryCodec
calls forcodec.ProtoMarshaler
. It shouldn't be an issue, it seems like all of our generated protobuf structs arecodec.ProtoMarshaler
.The issue we were discussing here has been solved by adding a constructor function.