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

Proof verification for conn_open_try and conn_open_ack inconsistent with ibc-go #16

Closed
5 tasks
plafer opened this issue Jun 1, 2022 · 1 comment
Closed
5 tasks
Labels
A: bug Admin: something isn't working

Comments

@plafer
Copy link
Contributor

plafer commented Jun 1, 2022

Summary of Bug

conn_open_try::process() and conn_open_ack::process() both use verify_proofs(). However, verify_proofs() succeeds the proof verification when the message contains no client_state (see here), whereas ibc-go fails the verification (see here).

I checked the standard, but the standard doesn't have any ClientState verification in its ConnOpenTry and ConnOpenAck, let alone having ClientState in the provableStore (opened issue). In this case, we should then have the same behavior as ibc-go.

Version

v0.15.0

Acceptance Criteria

Behavior is the same as ibc-go


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@plafer plafer changed the title Proof verification for conn_open_try and conn_open_ack succeeds even if msg has no client_state Proof verification for conn_open_try and conn_open_ack inconsistent with ibc-go Jun 1, 2022
@hu55a1n1 hu55a1n1 transferred this issue from informalsystems/hermes Sep 28, 2022
@hu55a1n1 hu55a1n1 added the A: bug Admin: something isn't working label Oct 6, 2022
@plafer
Copy link
Contributor Author

plafer commented Oct 11, 2022

Implemented in #160

@plafer plafer closed this as completed Oct 11, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: bug Admin: something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants