chore: pull out get light client module to helper methods#6712
Conversation
|
I was thinking that it might be worth to have feature branch for this, if it's going to span multiple PRs. We have still the benefit of reviewing smaller PRs, but at the same time we also have another opportunity to review how each piece fits together when reviewing the feature branch. What do you think? |
Yeah, happy to do that! I will create a feature branch and target that one instead :) Edit: done! |
crodriguezvega
left a comment
There was a problem hiding this comment.
I'd say that it makes sense to also do the IsAllowedClient check in the other functions...
|
crodriguezvega
left a comment
There was a problem hiding this comment.
Trying to continue the work of Gjermund while he is away...
|
|
||
| // The commitment prefix (eg: "ibc") is omitted when operating on the core IBC store | ||
| bz := store.Get([]byte(merklePath.KeyPath[1])) | ||
| bz := store.Get(merklePath.KeyPath[1]) |
There was a problem hiding this comment.
Linter was complaining about this.
| clientModule, found := k.router.GetRoute(clientID) | ||
| if !found { | ||
| return errorsmod.Wrap(types.ErrRouteNotFound, clientID) | ||
| clientModule, err := k.getLightClientModule(ctx, clientID) |
There was a problem hiding this comment.
I had to leave the parsing of the client ID above, because the client type is used in the telemetry below. Same thing in UpdateClient. If somebody has a proposal to get rid of it (since it is also done in getLightClientModule), I'm all ears.
chatton
left a comment
There was a problem hiding this comment.
LGTM!
I also think it makes sense to include the IsAllowed check anywhere we are fetching the client module.
…ient keeper (#6760) * chore: pull out get light client module to helper methods (#6712) * chore: pull out get light client module to helper methods * another place to use getLightClientModuleRoute * use getLightClientModule in other 02-client functions * lint --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * add verify(non)membership functions to client keeper and removed route from interface * delete file * use VerifyMembershipProof function name until #6775 * Update modules/core/02-client/keeper/keeper.go Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com> --------- Co-authored-by: Gjermund Garaba <bjaanes@gmail.com> Co-authored-by: DimitrisJim <d.f.hilliard@gmail.com>
* chore: pull out get light client module to helper methods (#6712) * chore: pull out get light client module to helper methods * another place to use getLightClientModuleRoute * use getLightClientModule in other 02-client functions * lint --------- Co-authored-by: Carlos Rodriguez <carlos@interchain.io> * add verify(non)membership functions to client keeper and removed route from interface * delete file * refactor: unexported grpc queryServer struct for 02-client * refactor: use queryServer struct for 03-connection handlers * refactor: 04-channel query server * refactor: more query server refactoring * refactor: rm top level query server interface * chore: update interface type assertions * chore: add changelog and migration docs * chore: linter * Update docs/docs/05-migrations/13-v8-to-v9.md * chore: update godocs on submodule query servers --------- Co-authored-by: Gjermund Garaba <bjaanes@gmail.com> Co-authored-by: Carlos Rodriguez <carlos@interchain.io>



Description
Start of #6019
In order to keep the PRs for this task a little more digestible, I wanted to do this small refactor first.
And I wanted to ask if I should also use the helper method in other places where we currently do not do any
if !k.GetParams(ctx).IsAllowedClient(clientType)checks.The places I have identified that currently gets the route, but does not run
IsAllowedClient:ibc-go/modules/core/02-client/keeper/keeper.go
Lines 307 to 314 in dd23cf9
ibc-go/modules/core/02-client/keeper/keeper.go
Lines 395 to 411 in dd23cf9
ibc-go/modules/core/02-client/keeper/keeper.go
Lines 415 to 436 in dd23cf9
ibc-go/modules/core/02-client/keeper/client.go
Lines 63 to 121 in dd23cf9
Should they also do this?
Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.
docs/).godoccomments.Files changedin the GitHub PR explorer.SonarCloud Reportin the comment section below once CI passes.