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

Allow Hermes to relay wasm messages #2809

Closed
6 tasks
Tracked by #3199 ...
ljoss17 opened this issue Nov 3, 2022 · 6 comments · Fixed by #3323
Closed
6 tasks
Tracked by #3199 ...

Allow Hermes to relay wasm messages #2809

ljoss17 opened this issue Nov 3, 2022 · 6 comments · Fixed by #3323
Assignees
Labels
E: wasm External: related to WASM and CosmWasm support
Milestone

Comments

@ljoss17
Copy link
Contributor

ljoss17 commented Nov 3, 2022

Summary

Hermes only detects ibc* events. By detecting wasm events it would be possible to relay wasm messages.

Acceptance Criteria

  • Hermes can relay wasm messages

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@adizere adizere linked a pull request Nov 19, 2022 that will close this issue
7 tasks
@ancazamfir
Copy link
Collaborator

ancazamfir commented Nov 29, 2022

I think the solution here is to allow the configuration of desired message.module query strings.
Currently we have (defaults):
"ibc_client" - for client events
"ibc_connection" - for connection events
"ibc_channel" - for channel and packet events

@seanchen1991 seanchen1991 added the E: wasm External: related to WASM and CosmWasm support label Dec 15, 2022
@seanchen1991 seanchen1991 added this to the v1.3 milestone Dec 15, 2022
@seanchen1991 seanchen1991 added the A: okr Admin: tracks an ongoing OKR label Dec 15, 2022
@seanchen1991 seanchen1991 added A: tracking Admin: tracks smaller units of work and removed A: okr Admin: tracks an ongoing OKR labels Dec 20, 2022
@seanchen1991 seanchen1991 modified the milestones: v1.3, v1.4 Jan 31, 2023
@seanchen1991 seanchen1991 removed the A: tracking Admin: tracks smaller units of work label Feb 13, 2023
@alpe
Copy link

alpe commented Feb 28, 2023

I have found this issue while researching the neutron wasmd patch. Now I have some better context for the patch but I am wondering what the best solution would be?

In wasmd we keep only the root "message" event that started the process. Therefore "close channel" or ics-20 "transfer" messages emitted by a contract will not show up.

In my current understanding, hermes is looking at the message events emitted from ibc module operations for relayer work.
For example message.module = ibc_connection would cover
connection_open_init || connection_open_try || connection_open_ack || connection_open_confirm operations.
So I am thinking that it may make more sense to not rely on "message" events and "module" attribute but use the concrete events defined in ibc-go.
By doing this, the event queries would become a bit more complex but there would not be any need to make this "customizable" or patch wasmd.

@romac
Copy link
Member

romac commented Mar 9, 2023

In wasmd we keep only the root "message" event that started the process. Therefore "close channel" or ics-20 "transfer" messages emitted by a contract will not show up.
So I am thinking that it may make more sense to not rely on "message" events and "module" attribute but use the concrete events defined in ibc-go.

@alpe I am not sure I understand what you mean here, could you please expand a bit on what's the problem and what you would suggest we do instead?

@alpe
Copy link

alpe commented Mar 10, 2023

tldr: there is no ibc 'message' event when the channel was created via CosmWasm submessage. Same for IBC packet send.

If hermes would query the non "message" events types instead then it should all work nicely.

@ancazamfir
Copy link
Collaborator

@alpe is it possible to show us and example of the /block_results output for a block that includes the wasm emitted events, for example for packets sent/received?

@romac romac modified the milestones: v1.5, v1.6 May 23, 2023
@alpe
Copy link

alpe commented May 23, 2023

@ancazamfir I don't have an example.
But as I tried to outline before: don't look at the wasm events but the ibc-go events instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
E: wasm External: related to WASM and CosmWasm support
Projects
Status: ✅ Done
5 participants