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

support querying ics27 host chain execution message events via cli #745

Closed
3 tasks
colin-axner opened this issue Jan 17, 2022 · 2 comments · Fixed by #782
Closed
3 tasks

support querying ics27 host chain execution message events via cli #745

colin-axner opened this issue Jan 17, 2022 · 2 comments · Fixed by #782
Assignees
Labels
27-interchain-accounts client-UX type: refactor Architecture, code or CI improvements that may or may not tackle technical debt.

Comments

@colin-axner
Copy link
Contributor

Summary

Understanding the result of message execution on the host chain can be difficult as currently implemented. We should add cli tools which make it easy to get the events from message execution on the host chain

Problem Definition

The controller will not get back any useful information from the channel acknowledgement. Thus one needs to query the events via the MsgRecvPacket hash.

Proposal

Add a cli command which takes in a channel id, and a sequence. It should query recv packet events on the channel id (using interchain accounts as the port id) for the specified sequence. These events should be returned.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@colin-axner colin-axner added client-UX 27-interchain-accounts type: refactor Architecture, code or CI improvements that may or may not tackle technical debt. labels Jan 17, 2022
@damiannolan damiannolan self-assigned this Jan 18, 2022
@damiannolan
Copy link
Member

damiannolan commented Jan 20, 2022

In order to query events via the MsgRecvPacket hash, we need to be able to reproduce this hash, right?
We can use this func from x/auth/tx to pull the events from the TxResponse

func QueryTx(clientCtx client.Context, hashHexStr string) (*sdk.TxResponse, error)

What I am missing is how can we reproduce a MsgRecvPacket hash with a port id, channel id, sequence? Do we not need all the parts that make up the msg (packet, proofCommitment, proofHeight, signer)? We can retrieve the acknowledgement hash but I don't think that's very valuable in order to get at events.

I would imagine there is a more flexible way to query events. SDK docs are a little bare wrt. to this, and don't really provide any indication of what APIs can be used to pull the data other than a persisted websocket conn which is just the direct tendermint connection.

@colin-axner
Copy link
Contributor Author

Can we use QueryTxsByEvents? We should only get 1 tx back if we query for the ica event associated with a specific packet exection

@colin-axner colin-axner added this to the Interchain Accounts milestone Jan 21, 2022
faddat pushed a commit to notional-labs/ibc-go that referenced this issue Feb 23, 2022
…hub.com/cosmos/ibc-go/v2-2.0.3

Bump github.com/cosmos/ibc-go/v2 from 2.0.2 to 2.0.3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
27-interchain-accounts client-UX type: refactor Architecture, code or CI improvements that may or may not tackle technical debt.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants