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

Implement transfer channel upgrades callbacks #4127

Closed
5 of 8 tasks
damiannolan opened this issue Jul 19, 2023 · 4 comments
Closed
5 of 8 tasks

Implement transfer channel upgrades callbacks #4127

damiannolan opened this issue Jul 19, 2023 · 4 comments
Assignees
Labels
20-transfer channel-upgradability Channel upgradability feature

Comments

@damiannolan
Copy link
Member

damiannolan commented Jul 19, 2023

Summary

Implement the channel upgrade callback handlers for transfer.
Separate PRs can be opened for each callback handler including tests.

The implementation should ensure that the upgrade parameters are compatible with the transfer app.
This includes ordering enforced in ValidateTransferChannelParams as well as version checking, i.e. the upgrade version must be ics20-1.

  • OnChanUpgradeInit
  • OnChanUpgradeTry
  • OnChanUpgradeAck
  • OnChanUpgradeOpen
  • OnChanUpgradeRestore

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@damiannolan damiannolan added 20-transfer channel-upgradability Channel upgradability feature labels Jul 19, 2023
@damiannolan damiannolan added this to the 04-channel upgrades alpha milestone Jul 19, 2023
@damiannolan damiannolan self-assigned this Jul 19, 2023
@damiannolan damiannolan moved this to In progress in ibc-go Jul 19, 2023
@damiannolan
Copy link
Member Author

Opened #4126 for OnChanUpgradeInit.

@colin-axner
Copy link
Contributor

The OnChanUpgradeAck should also validate the order/version as init/try do

@damiannolan damiannolan moved this from In progress to On hold in ibc-go Aug 8, 2023
@damiannolan damiannolan moved this from On hold to In progress in ibc-go Aug 30, 2023
@damiannolan
Copy link
Member Author

Upgrade fields are validated in INIT, TRY and ACK. Now that fields are added to OnChanUpgradeOpen I don't see why we would need to do any extra validation on them. Also, the OnChanUpgradeOpen callback does not have an error return.

Do you think its fine to no-op on OnChanUpgradeOpen in transfer? @colin-axner

@damiannolan
Copy link
Member Author

Closing this as I think all handlers are more or less completed for channel upgradability in transfer. There is working integration test with fee middleware in #4533.

We can open follow ups post-audit if needs be.

@github-project-automation github-project-automation bot moved this from In progress to Done in ibc-go Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
20-transfer channel-upgradability Channel upgradability feature
Projects
Archived in project
Development

No branches or pull requests

2 participants