-
Notifications
You must be signed in to change notification settings - Fork 87
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
Disallow creation of new Tendermint client state instance with a frozen height #602
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #602 +/- ##
==========================================
+ Coverage 72.88% 72.93% +0.05%
==========================================
Files 126 126
Lines 15699 15721 +22
==========================================
+ Hits 11442 11466 +24
+ Misses 4257 4255 -2
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
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 don't think we want to disallow the creation of frozen clients (see my earlier comment on the issue). ibc-go and the spec allow for it; I don't see why we should reject it. There might be an obscure use case for it; but in the majority of cases, we would just allow a useless client to be created.
Of course, I saw your comment. Note that just before this very recent PR in the IBC repo (that was triggered by our investigation around
Given the above reason, I disallowed creating a client with a frozen height. Though, from what I see in some other places of the spec (e.g, here for validating self client) similar condition - Given the above references and considering the primary purpose of having a frozen height which relates to misbehavior detection, I was looking at the |
Right, so things are a bit confusing on the ibc-go repo, and this is really a technicality.
Unfortunately, I think the spec needs to be treated as a general reference and not a source of truth; ibc-go is really the source of truth.
This
How I see it:
|
Reached out to the IBC-go team to see what was the reason for allowing the creation of such a client. It is replied that a client is considered to be frozen if it has a non-zero frozen height (i.e.frozen height is used as a boolean) and they will open an issue to add a check for this in the 07-tendermint client state Another thing caught my attention; IBC-go always sets |
Closes: #178
PR author checklist:
unclog
.docs/
).Reviewer checklist:
Files changed
in the GitHub PR explorer.