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

ICS4: Must revert state if sequence mismatch upgrade error returns #1053

Closed
AdityaSripal opened this issue Dec 13, 2023 · 0 comments · Fixed by #1055
Closed

ICS4: Must revert state if sequence mismatch upgrade error returns #1053

AdityaSripal opened this issue Dec 13, 2023 · 0 comments · Fixed by #1055

Comments

@AdityaSripal
Copy link
Member

AdityaSripal commented Dec 13, 2023

Currently when the TRY returns an upgrade mismatch error, the previous writes done before are still retained.

This is especially problematic in the non-crossing-hello case, because then the higher-sequence side will be left initialized with an upgrade that is explicitly rejected from the counterparty with the lower sequence.

The solution is to revert state and only write the upgrade error receipt when returning

See the commits that caught and fixed this behaviour in the following commits:

https://github.com/cosmos/quint-channel-upgradability/pull/8/commits/395a501f35ba667f39288534f47d867ca216855b

https://github.com/cosmos/quint-channel-upgradability/pull/8/commits/6583c5c83d12cd0c8b0a8d6c2d784e54008708dc

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant