-
Notifications
You must be signed in to change notification settings - Fork 329
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
Hermes channel create CLI #732
Conversation
Codecov Report
@@ Coverage Diff @@
## master #732 +/- ##
=========================================
+ Coverage 13.6% 43.5% +29.9%
=========================================
Files 69 159 +90
Lines 3752 10488 +6736
Branches 1374 0 -1374
=========================================
+ Hits 513 4572 +4059
- Misses 2618 5916 +3298
+ Partials 621 0 -621
Continue to review full report at Codecov.
|
@ancazamfir @cezarad can you please have a look over this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The command that is re-using connection (and therefore clients) doesn't work with different client IDs on the two chains. To test you can try to start the two chains then run e2e/run.py -c ...
first. This creates client 07-tendermint-0
on ibc-0
and 07-tendermint-1
on ibc-1
. It also creates a connection with connection-0
on ibc-0
and connection-1
on ibc-1
.
Then you can try hermes create channel ibc-0 --connection-a connection-0 --port-a transfer --port-b transfer
to see the failure.
I proposed some changes (see comments) in the obvious place that I found. Seems to run fine with these changes.
relayer/src/connection.rs
Outdated
let c = Connection { | ||
delay_period: 0, // TODO: Unclear if we should add mechanism to check the delay period | ||
a_side: ConnectionSide { | ||
chain: a_client.src_chain.clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chain: a_client.src_chain.clone(), | |
chain: b_client.src_chain.clone(), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The bug was that I confused the "source" and "destination" chains for a client.
Instead of your solution proposed here where the clients become reversed, I chose a different one where the clients on each side remain the same (side "a" has client "a") and we associate the correct chain to that side (which is the "destination" chain of the client). 659fc43
* Added channel handshake basic skeleton * Added alternative invocation * Better error diagnostic when connection is non-existing * Changelog * Retired the 'channel handshake' command * FMT * Extended trait bounds in modules. Better eq check * FMT * Added a conclude output * Switched to lower-case help * Fixed reversed chains in connection side constructor.
Closes: #715
Description
For contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.