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

[ICS02] ClientStatePath is not checked during client creation #604

Closed
Farhad-Shabani opened this issue Apr 5, 2023 · 0 comments · Fixed by #605
Closed

[ICS02] ClientStatePath is not checked during client creation #604

Farhad-Shabani opened this issue Apr 5, 2023 · 0 comments · Fixed by #605
Assignees
Labels
O: reliability Objective: cause to improve trustworthiness and consistent performing S: specs Scope: related to IBC protocol specifications
Milestone

Comments

@Farhad-Shabani
Copy link
Member

Problem Statment

  • The ICS02 specifies that for handling a client creation request, the process should check if the submitted ClientState already exists in the ClientStatePath!

    abortTransactionUnless(provableStore.get(clientStatePath(identifier)) === null)

  • Note that an incorrect use of SetClientState can result in a ClientState being set to the same store as the one that is going to be set by a MsgCreateClient.

In IBC-go

  • There is a GetClientState method, but not used to perform this check. Instead they create an isolated store by StoreClient for this purpose.
  • This can't be applied to IBC-rs, as we do not access to the store.

Acceptance Criteria

Check ClientStatePath to ensure the received ClientState via a MsgCreateClient does not exist

@Farhad-Shabani Farhad-Shabani added the O: reliability Objective: cause to improve trustworthiness and consistent performing label Apr 5, 2023
@Farhad-Shabani Farhad-Shabani moved this to 📥 To Do in ibc-rs Apr 5, 2023
@Farhad-Shabani Farhad-Shabani added the S: specs Scope: related to IBC protocol specifications label Apr 5, 2023
@Farhad-Shabani Farhad-Shabani self-assigned this Apr 5, 2023
@github-project-automation github-project-automation bot moved this from 📥 To Do to ✅ Done in ibc-rs Apr 12, 2023
@Farhad-Shabani Farhad-Shabani added this to the v0.37.0 milestone Apr 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O: reliability Objective: cause to improve trustworthiness and consistent performing S: specs Scope: related to IBC protocol specifications
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant