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

Consider deleting upgrade information only rather than calling abort in TimeoutExecuted #5742

Closed
3 tasks
colin-axner opened this issue Jan 25, 2024 · 2 comments · Fixed by #5764
Closed
3 tasks
Assignees
Labels
channel-upgradability Channel upgradability feature nice-to-have type: code hygiene Clean up code but without changing functionality or interfaces

Comments

@colin-axner
Copy link
Contributor

Summary

When a timeout is executed on an ORDERED channel, the channel will close. We want to delete upgrade information in this case. Currently we call abort which will write an error receipt and reopen the channel. The code is currently structured to close after the opening, but if it is moved around it could introduce an accidental bug. We should consider calling deleteUpgradeInfo directly rather than aborting the full upgrade. Once a channel closes the counterparty will be able to close as well, regardless of where the channels were in the upgrade process.

Discussed during our internal security audit of channel upgradability (v8.1.x)


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@colin-axner colin-axner added nice-to-have type: code hygiene Clean up code but without changing functionality or interfaces labels Jan 25, 2024
@colin-axner colin-axner added the channel-upgradability Channel upgradability feature label Jan 25, 2024
@hoangdv2429
Copy link
Contributor

Can I tackle on this issue sir @colin-axner

@crodriguezvega
Copy link
Contributor

@hoangdv2429 Sounds good, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
channel-upgradability Channel upgradability feature nice-to-have type: code hygiene Clean up code but without changing functionality or interfaces
Projects
Status: Done 🥳
3 participants