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

Staged contract update #2019

Closed
turbolent opened this issue Sep 29, 2022 · 8 comments
Closed

Staged contract update #2019

turbolent opened this issue Sep 29, 2022 · 8 comments

Comments

@turbolent
Copy link
Member

Issue To Be Solved

Stable Cadence will introduce several breaking changes, which will get introduced in a spork.

We should aim to provide tooling to make the upgrade process as smooth as possible for developers.

Suggested Solution

  • As Stable Cadence will get enabled during a spork, contracts can only be, and also have to be, deployed right after the spork is complete – as long as the contract is not updated, it might be unusable. This makes the update very time-critical. We could give developers means to schedule an update, i.e. update a contract for a “future” release, so that when the network got sporked, the contract update is automatically performed.
@dreamsmasher
Copy link
Contributor

would this be a good case for implementing versioned contracts? rather than giving developers a hard deadline of "update by the spork or you're borked", we could allow contracts to specify minimum cadence versions?

@turbolent turbolent transferred this issue from onflow/flow Sep 29, 2022
@turbolent
Copy link
Member Author

It would indeed be great to support multiple versions of Cadence at the same time. We have investigated and evaluated this in the past, and it is unclear how this could be achieved, as well as how much effort it would be to implement such functionality.

Instead, we are hoping to arrive at a long-term supported version of Cadence sooner than later, which obsoletes having to support multiple versions.

@j1010001 j1010001 changed the title Improve contract update process for Stable Cadence Staged contract update Oct 24, 2022
@j1010001 j1010001 added the Epic label Oct 24, 2022
@j1010001
Copy link
Member

@j1010001 j1010001 assigned j1010001 and unassigned dreamsmasher Mar 31, 2023
@j1010001
Copy link
Member

Notes from Meeting @sisyphusSmiling and @joshuahannan today.

@turbolent
Copy link
Member Author

Depends on #2700

@sisyphusSmiling
Copy link
Contributor

Just proposed in related FLIP

@j1010001 j1010001 added this to the OKR-23-Q4 milestone Oct 17, 2023
@j1010001
Copy link
Member

@j1010001
Copy link
Member

completed and deployed to testnet: https://github.com/onflow/contract-updater

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

No branches or pull requests

4 participants