-
Notifications
You must be signed in to change notification settings - Fork 332
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
Add Channel
worker
#924
Add Channel
worker
#924
Conversation
- removed config_example.toml - documented the `strategy` field in the default config.toml - fix for clippy suspicious_operation_groupings exception
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.
Massive work Anca & Cezara!
Had a look over the code and looks good, the tests also run fine. I am still running some further tests with gm
but I'm approving already since I consider this done. Mind the "TODO before merge" remark.
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.
Wow, amazing work @cezarad and @ancazamfir 💯
Looks all good to me, both the code and the tests I did following the instructions. I only left a few nitpicks etc.
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.
change strategy in CI
* Added a worker for channel * Added query_connection_channels to the chain handle and runtime * Redo informalsystems#923 to return `Uninitialized` when empty value bytes are returned * Changed the CLI to return error if connection/ channel does not exist * Allow entering the destination channel id in `hermes tx raw chan-open-try...` * Change `strategy` in config to be either `packets`(only relay packets) or `all` (relay from all events) * e2e CI changes Co-authored-by: Anca Zamfir <zamfiranca@gmail.com> Co-authored-by: Romain Ruetschi <romain@informal.systems> Co-authored-by: Adi Seredinschi <adi@informal.systems>
Closes: #822
Description
Uninitialized
when empty value bytes are returned from the ABCI query for connection and channel. Changed the CLI to return error if connection/ channel does not exist.hermes tx raw chan-open-try...
and makedst_channel_id
and option (used to beChannelId::default()
when not specified but this is a valid channel id.strategy
in config to be eitherpackets
(only relay packets) orall
(relay from all events, including channel handshake ones)raw
) that creates the clients, connection, channel for the nextstart
test (instead of hardcoding toconnection-0
,channel-0
etc). This way we can rune2e/run.py
multiple times locally without restarting the chains.To setup for the tests:
strategy
in config toall
(relay from all events, including channel handshake ones)./scripts/dev-env ~/.hermes/config.toml ibc-0 ibc-1
and thenhermes create connection ibc-0 ibc-1
Here are a few tests (also added to
e2e
CI):1. start the relayer
hermes start
2. send
hermes tx raw chan-open-init ibc-0 ibc-1 connection-0 transfer transfer
hermes tx raw chan-open-init ibc-0 ibc-1 connection-0 transfer transfer
hermes start
hermes tx raw chan-open-init ibc-0 ibc-1 connection-0 transfer transfer
hermes tx raw chan-open-try ibc-1 ibc-0 connection-0 transfer transfer -s channel-x
, withchannel-x
being the ID of the channel returned in step 1 above.hermes start
hermes tx raw chan-open-init ibc-0 ibc-1 connection-0 transfer transfer
hermes tx raw chan-open-try ibc-1 ibc-0 connection-0 transfer transfer -s channel-x
, withchannel-x
being the ID of the channel returned in step 1 abovehermes tx raw chan-open-ack ibc-0 ibc-1 connection-0 transfer transfer -d channel-x -s channel-y
, withchannel-x
being the ID of the channel returned in step 1 andchannel-y
the ID of the channel returned in step 2 abovehermes start
After the last step, wait a couple of seconds for hermes to finish the handshake and verify the channel state on both chains using
hermes query channel end ibc-0 transfer channel-x
hermes query channel end ibc-0 transfer channel-y
. They should both be in open state.packets
strategy. Will add a new CI to use a config withall
laterFor contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.