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

Stride ICQ #1076

Merged
merged 10 commits into from
Jan 31, 2023
Merged

Stride ICQ #1076

merged 10 commits into from
Jan 31, 2023

Conversation

agouin
Copy link
Member

@agouin agouin commented Jan 29, 2023

Continuation of #954. Most of the commits there have been merged into main as this functionality was being implemented.

Implements Stride's ICQ implementation, which consists of:

  • tendermint events on stride chain declare intent for query request
  • relayer executes query request on counterparty chain
  • query response, with proof included, is bundled into a MsgSubmitQueryResponse message
  • relayer submits this message in a transaction to stride chain along with a prepended MsgUpdateClient

The relayer handles correlation of client ICQ messages in the PathProcessor in a similar way as the handshake and packet flow messages.

Brings in proto-gen capabilities, required for generating the MsgSubmitQueryResponse protos to use it as a cosmos Msg.

This removes the dependency on the stride repository, and in doing so removes the need for ibc-go to be on the same major version (and potentially other deps).

This allows Stride's ICQ implementation to exist in the relayer without impact, other than len checks, for relaying non-Stride.

@agouin agouin marked this pull request as ready for review January 29, 2023 22:14
@agouin agouin mentioned this pull request Jan 29, 2023
Copy link
Member

@jtieri jtieri left a comment

Choose a reason for hiding this comment

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

I went through this and compared a lot of the new code relevant to ICQ to other components that operate mostly the same (e.g. the client and packet messages/caches) and everything looked good. Couple comments but nothing major.

Do we have test cases for this ICQ implementation in ibctest? If so, would it be favorable to bring them in so we can also run those in CI? With this being a new major feature I think it would be nice to have some test coverage somewhere.

relayer/chains/cosmos/stride/module.go Outdated Show resolved Hide resolved
relayer/chains/cosmos/stride/module.go Outdated Show resolved Hide resolved
relayer/processor/types.go Show resolved Hide resolved
@agouin
Copy link
Member Author

agouin commented Jan 31, 2023

Do we have test cases for this ICQ implementation in ibctest? If so, would it be favorable to bring them in so we can also run those in CI? With this being a new major feature I think it would be nice to have some test coverage somewhere.

Yes, the test exists in strangelove-ventures/interchaintest#273, but it tests more than is required here. I brought in the ICQ test and slimmed it down to a single validator for the relayer.

@jtieri
Copy link
Member

jtieri commented Jan 31, 2023

Do we have test cases for this ICQ implementation in ibctest? If so, would it be favorable to bring them in so we can also run those in CI? With this being a new major feature I think it would be nice to have some test coverage somewhere.

Yes, the test exists in strangelove-ventures/interchaintest#273, but it tests more than is required here. I brought in the ICQ test and slimmed it down to a single validator for the relayer.

Thanks for that! Adds some peace of mind that future changes to the relayer won't break support for this feature.

@agouin agouin merged commit e7e2631 into main Jan 31, 2023
@agouin agouin deleted the andrew/stride_icq branch January 31, 2023 17:59
jonathanpberger added a commit to jonathanpberger/hermes that referenced this pull request Nov 4, 2023
Cross-chain ICQ support was added to the go-relayer in cosmos/relayer#1076 on January 31, 2023.
romac pushed a commit to informalsystems/hermes that referenced this pull request Dec 11, 2023
* Add ICQ and Cross-chain queries to Features Matrix.

Cross-chain ICQ support was added to the go-relayer in cosmos/relayer#1076 on January 31, 2023.

* Fix feature matrix

---------

Co-authored-by: Luca Joss <luca@informal.systems>
Co-authored-by: Luca Joss <43531661+ljoss17@users.noreply.github.com>
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.

3 participants