-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Refactor update client and packet relay some more #425
Comments
The function that wraps a message with an update client should take in a proof height, 0 indicates use the latest ie consensus state height doesn't matter |
Note to self:
Going to fix today Edit: false alarm, issue was related to a broken |
Hi @colin-axner. Can I bring your attention to the following error I am getting in relaying acknowledgement?
This issue disappeared after #424 but has reemerged since #431. Do you think it's plausible that #431 contained some errors? Thanks. |
I am just trying to test a transfer transaction between two chains. I tried the following on #431:
These steps work fine on #424. Thanks again. |
@hacheigriega Sorry for the late reply. Thanks for the logs! That helped me identify the issue really fast. I will open up a pr to fix the issue |
I'm fairly pleased with the recent refactor of update clients, it reduced the code quite a bit and improved readability. It did however also reveal a sort of brittleness built into the relayer. Anytime we need to provide proof on chain, a consensus state must exist on chain. In #424, I restructured the updates to occur once at the beginning, however this convention is not stable when retries are done by simply updating the light clients and not reconstructing the update client message. For handshakes this is fine, but relaying packets and acknowledgements relies on only retrying by updating the light client.
We should construct a helper function that wraps relayer messages with an update client function. It should switch on the type of message, if the message contains proof, it should construct the update client message based on that proof height otherwise it should use the latest client available.
The text was updated successfully, but these errors were encountered: