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

Exercise ICS20 timeouts end-to-end against a Cosmos-SDK chain. #3116

Closed
1 task done
Tracked by #454
hdevalence opened this issue Sep 28, 2023 · 7 comments
Closed
1 task done
Tracked by #454

Exercise ICS20 timeouts end-to-end against a Cosmos-SDK chain. #3116

hdevalence opened this issue Sep 28, 2023 · 7 comments
Assignees
Labels
A-IBC Area: IBC integration with Penumbra

Comments

@hdevalence
Copy link
Member

Is your feature request related to a problem? Please describe.

In advance of getting automatic testing as part of ongoing InterchainTest integration, we should manually exercise the end-to-end flow of timeouts against a Cosmos-SDK chain.

This will require a counterparty chain with ICS23 non-inclusion proof support (#3045) and using our Hermes fork with the config option added in penumbra-zone/hermes#3 to create a client with the correct proof spec.

Currently, this is blocked by:

@conorsch
Copy link
Contributor

conorsch commented Oct 2, 2023

To test this, we can make a packet with near-immediate timeouts. This test should be manual, so we can observe behavior and document results.

@conorsch conorsch added the A-IBC Area: IBC integration with Penumbra label Oct 3, 2023
@conorsch
Copy link
Contributor

conorsch commented Oct 4, 2023

@avahowell is going to tackle this near-term. This takes priority over other ibc-related work like the txp additions described in #3108

@aubrika aubrika added this to the Testnet 62: Iapetus milestone Oct 4, 2023
@aubrika aubrika closed this as completed Oct 6, 2023
@aubrika aubrika reopened this Oct 6, 2023
@conorsch
Copy link
Contributor

conorsch commented Oct 6, 2023

Achieved! @avahowell managed to get a local testing setup together to validate the behavior. She's going to write up those testing steps in this ticket, then close out.

@avahowell
Copy link
Contributor

I was able to successfully perform a timeout of a packet from a local osmosis testnet (built using the osmosis make localnet-* tooling) to a penumbra testnet.

The steps were as follows,

  1. perform an ibc handshake using hermes
  2. perform a transfer using rly, with a timeout height of +5 blocks
  3. wait 5 blocks, then run hermes start
  4. observe that hermes constructs a timeout, using the nonexistence proof from the penumbra chain, commits it to the osmosis chain,
  5. try another transfer and verify that it still succeeds after timeout

A small change to our query api was required. When that's merged, I'll close this issue

#3163

@conorsch
Copy link
Contributor

Closing as completed.

@conorsch
Copy link
Contributor

Let's try this again, but this time using public testnets, not local nets. This is recently made possible by the dep changes in Osmosis testnet.

@conorsch conorsch reopened this Oct 23, 2023
@conorsch conorsch removed this from the Testnet 62: Iapetus milestone Oct 23, 2023
@aubrika
Copy link
Contributor

aubrika commented Jan 18, 2024

This has been demonstrated, per @avahowell

@aubrika aubrika closed this as completed Jan 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-IBC Area: IBC integration with Penumbra
Projects
Archived in project
Status: Testnet 63: Rhea (Web Wallet)
Development

No branches or pull requests

4 participants