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

Relayer v0 tests for client update ping pong #381

Closed
3 of 5 tasks
adizere opened this issue Nov 6, 2020 · 0 comments · Fixed by #440
Closed
3 of 5 tasks

Relayer v0 tests for client update ping pong #381

adizere opened this issue Nov 6, 2020 · 0 comments · Fixed by #440
Assignees
Labels
I: CLI Internal: related to the relayer's CLI
Milestone

Comments

@adizere
Copy link
Member

adizere commented Nov 6, 2020

Crate

relayer-cli

Summary

We should add tests that integrate the relayer CLI (and relayer) functionality against a MockChain.

Problem

The proposed relayer v0 architecture (soon to be detailed #326, and captured on the relayer logic side by ADR-004) prescribes that the end functionality of v0 should consist of packet relaying over a single channel. This high-level operation entails many intermediary steps (e.g., finishing client, connection and channel lifecycle across the whole stack).

Since packet relaying is such a distant aim, we propose an intermediary goal: supporting a client update ping-pong, i.e., relay MsgUpdateAnyClient among two chains. This goal was first formulated in #216, called "MVP relayer." A mock version of the MVP relayer, which tests crate ibc in isolation (and entirely bypasses crates relayer and relayer-cli) was fixed through https://github.com/informalsystems/ibc-rs/issues/276. Concretely, see the test client_update_ping_pong:

https://github.com/informalsystems/ibc-rs/blob/12cb1d6187e878eee0e40295fe0b804ddef0b846/modules/src/ics18_relayer/utils.rs#L69

Proposal

The present issue proposes to add a test similar to client_update_ping_pong, which not only exercises the ibc crate but also the relayer. The client updates should work for a local chain (not an actual Cosmos chain), consequently this issue depends on #158. Another essential dependency is #376.

We can also imagine adding a CLI command for invoking and testing automatic client updates. But this does not seem very useful at the moment. Such a CLI may need to be a sub-command of the v0 command.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@adizere adizere added the I: CLI Internal: related to the relayer's CLI label Nov 6, 2020
@adizere adizere added this to the v0.0.5 milestone Nov 6, 2020
@adizere adizere modified the milestones: v0.0.5, v0.0.6 Dec 2, 2020
@adizere adizere self-assigned this Dec 3, 2020
@adizere adizere changed the title Relayer v0 CLI command for client update ping pong Relayer v0 tests for client update ping pong Dec 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: CLI Internal: related to the relayer's CLI
Projects
None yet
1 participant