hermes icon indicating copy to clipboard operation
hermes copied to clipboard

Proof verification for `conn_open_try` and `conn_open_ack` inconsistent with ibc-go

Open plafer opened this issue 2 years ago • 0 comments

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 avatar Jun 01 '22 20:06 plafer