Skip to content
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 GetAllClientIDsOfType query function #2855

Closed
wants to merge 6 commits into from

Conversation

colin-axner
Copy link
Contributor

@colin-axner colin-axner commented Nov 30, 2022

Description

closes: #2844

Commit Message / Changelog Entry

feat: add `GetAllClientIDsOfType` to 02-client keeper.
feat: add `PrefixedClientStorePath` and `PrefixedClientStoreKey` functions to 24-host

see the guidelines for commit messages. (view raw markdown for examples)


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.

  • Targeted PR against correct branch (see CONTRIBUTING.md).
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Code follows the module structure standards.
  • Wrote unit and integration tests.
  • Updated relevant documentation (docs/) or specification (x/<module>/spec/).
  • Added relevant godoc comments.
  • Provide a commit message to be used for the changelog entry in the PR description for review.
  • Re-reviewed Files changed in the Github PR explorer.
  • Review Codecov Report in the comment section below once CI passes.

CHANGELOG.md Outdated Show resolved Hide resolved
@@ -383,6 +383,28 @@ func (k Keeper) GetAllClients(ctx sdk.Context) (states []exported.ClientState) {
return states
}

// GetAllClientIDsOfType will iterate over the provided client type prefix in the client store
// and return a list of clientIDs associated with the client type.
func (k Keeper) GetAllClientIDsOfType(ctx sdk.Context, clientType string) (clientIDs []string) {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be used in a followup pr

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a preference for not using named return values e.g. (clientIDs []string). I think it's more readable to be more explicit with and just declare the slice next to its usage

i.e.

        var clientIDs []string
	for ; iterator.Valid(); iterator.Next() {
                ...
		clientIDs = append(clientIDs, clientID)
	}

WDYT?

@colin-axner colin-axner marked this pull request as draft November 30, 2022 13:45
Copy link
Contributor

@charleenfei charleenfei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice addition!

@codecov-commenter
Copy link

Codecov Report

Merging #2855 (b85dc49) into main (b26afd4) will decrease coverage by 0.00%.
The diff coverage is 78.94%.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #2855      +/-   ##
==========================================
- Coverage   78.32%   78.31%   -0.01%     
==========================================
  Files         181      181              
  Lines       12560    12578      +18     
==========================================
+ Hits         9837     9851      +14     
- Misses       2285     2289       +4     
  Partials      438      438              
Impacted Files Coverage Δ
modules/core/24-host/keys.go 5.71% <0.00%> (-0.35%) ⬇️
modules/core/02-client/keeper/keeper.go 83.33% <100.00%> (+0.98%) ⬆️
modules/core/02-client/migrations/v7/store.go 70.54% <100.00%> (ø)

@colin-axner
Copy link
Contributor Author

@chatton and I realized it's possible to achieve the desired functionality by adding a prefix into the IterateClients function so we will go that direction. I will open a followup pr

@colin-axner colin-axner deleted the colin/2844-iterate-by-clienttype branch March 13, 2023 17:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add iteration function to 02-client keeper which returns all clientIDs of a specific client type
4 participants