From 1646e69d5b45c0b9ed725994ddec140091a7b3bc Mon Sep 17 00:00:00 2001 From: Ali Serag Date: Mon, 12 Feb 2024 15:09:23 -0800 Subject: [PATCH 1/3] Update Migration Guide Adding actionable information that devs can use to start changing their code. --- docs/cadence_migration_guide/index.md | 63 ++++++++++++++++++++++----- 1 file changed, 52 insertions(+), 11 deletions(-) diff --git a/docs/cadence_migration_guide/index.md b/docs/cadence_migration_guide/index.md index 641908f..d2318e9 100644 --- a/docs/cadence_migration_guide/index.md +++ b/docs/cadence_migration_guide/index.md @@ -6,19 +6,60 @@ sidebar_label: Cadence 1.0 Migration Guide # Cadence 1.0 Migration Guide -Coming in 2024, the network will be upgrading to the Cadence 1.0. This means that all applications will need to prepare and migrate their existing Cadence smart contracts, scripts, and transactions for the update. If you do not update your code, your applications will become non-functional after the network upgrade. The specific upgrade date will be announced later. +Coming in 2024, the network will be upgrading to [Cadence 1.0](https://flow.com/upgrade/cadence-1). This means that all applications will need to prepare and migrate their existing Cadence smart contracts, scripts, and transactions for compatibility with the update. If you do not update your contracts, your applications will become non-functional after the network upgrade. Read more about the roadmap [here](https://flow.com/upgrade/cadence-1). -We have created several resources to help developers update their applications. Use the following links to start upgrading your contracts and to understand how the network upgrade will affect your application: +### Upgrading Contracts -- [Understand the upgrade, the timeline, and how it affects you](https://forum.flow.com/t/cadence-1-0-upgrade-plan/5477) -- [Learn how Cadence will be changing for 1.0](https://forum.flow.com/t/update-on-cadence-1-0/5197) -- [Learn how to update your Flow CLI to test against Cadence 1.0](https://forum.flow.com/t/update-on-cadence-1-0/5197/7) -- [Learn how to update your Non-Fungible Token contracts for Cadence 1.0](./nft-guide.mdx) -- [Learn how to update your Fungible Token contracts for Cadence 1.0](./ft-guide.mdx) -- [Check out the Cadence language 1.0 docs](https://cadencelang.dev/docs/1.0/) +To ensure your contracts are fully operational with Cadence 1.0, follow these essential steps: + +1. **Understand the Changes:** Start by familiarizing yourself with the [changes](https://forum.flow.com/t/update-on-cadence-1-0/5197) to identify how they might affect your code. +2. **Modify Your Code:** Update your contracts, transactions, and scripts in accordance with the new changes. +3. **Test Your Code:** Use the [Cadence 1.0 Emulator](https://www.loom.com/share/4467610b7beb4ebbaabed6b430dc25c4?sid=14ecb3e7-e933-409c-a6a4-add40c6971d0) to test your code by running: + +Linux/macOS + +```bash + +sudo sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/master/install.sh)" -- v1.12.0-cadence-v1.0.0-M4-2 + +``` + +Windows (in PowerShell): + +``` + +iex "& { $(irm 'https://raw.githubusercontent.com/onflow/flow-cli/master/install.ps1') } v1.12.0-cadence-v1.0.0-M4-2 +``` + +1. **Stage**: A new **_Staging process_** will be released in the coming weeks that checks if your updated code is compatible with Cadence 1.0. Complete this [form](https://docs.google.com/forms/d/e/1FAIpQLSfprZJLPSEAS6H7_oL0j6bzetDzkHPmDZHYAGgqAAOAdLDKqw/viewform) to stay informed about updates and receive recommendations tailored to your code. -## Get Help With Migrating Your Dapp to Cadence 1.0 +### Resources -If you have any questions related to Cadence 1.0 migration, or if you need help, please contact the Flow development community on [developer-questions Discord channel](https://discord.com/channels/613813861610684416/621847426201944074). Please use “C1.0 upgrade” at the beginning of the message to help us categorize questions related to Cadence 1.0. +**Guides & Docs** -The Flow team has started hosting regular "Cadence 1.0 upgrade office hours" events anyone can join to ask questions and get help with their dapp upgrade. These sessions are scheduled in [Flow Webinars & Events calendar](https://calendar.google.com/calendar/u/0?cid=Y180Nzk3OGY1Y2Q5ZGE2MzZjYWRjNmI4NDczMTAyYjUwOTJjMWE4NjVkZDAxMDU1ODM5M2VjYjdmOWZkMGM5YWQwQGdyb3VwLmNhbGVuZGFyLmdvb2dsZS5jb20) and announced on [flow-events Discord channel](https://discord.com/channels/613813861610684416/1050190147100102787). +For assistance with the most common updates developers will face, explore these resources: + +- Upgrading [Capabilities](https://academy.ecdao.org/en/catalog/tutorials/capability-controllers) +- Upgrading [Entitlements](https://academy.ecdao.org/en/catalog/tutorials/entitlements) +- Migration Guide for [Fungible Tokens](https://cadence-lang.org/docs/cadence_migration_guide/ft-guide) +- Migration Guide for [NFTs](https://cadence-lang.org/docs/cadence_migration_guide/nft-guide) + +**Helper Tools** + +- **Cadence 1.0 Migration Helper CustomGPT:** An experimental tool currently exclusive to ChatGPT Pro users. [Try it here](https://chat.openai.com/g/g-wMnnHS2Md-flow-cadence-1-0-migration-helper). + +**In-Person Support** + +- Attend the weekly live [Cadence 1.0 Developer Office hours](https://calendar.google.com/calendar/ical/c_47978f5cd9da636cadc6b8473102b5092c1a865dd010558393ecb7f9fd0c9ad0%40group.calendar.google.com/public/basic.ics) happening every Thursday to ask questions you’re stuck on +- Shoot a message in the [developer Discord](https://discord.com/channels/613813861610684416/621847426201944074) channel. Please use “C1.0 upgrade” at the beginning of the message to help us categorize questions related to Cadence 1.0 +- Send us a request in the Developer [Help Center](https://support.flow.com/hc/en-us/requests/new) + +### Dive Deeper + +Enhance your understanding of the network upgrade and its possible implications on your app: + +- [Learn how Cadence will be changing for 1.0](https://forum.flow.com/t/update-on-cadence-1-0/5197) +- [Understand the upgrade, the timeline, and how it affects you](https://forum.flow.com/t/cadence-1-0-upgrade-plan/5477) +- [Learn how to update your Flow CLI to test against Cadence 1.0](https://forum.flow.com/t/update-on-cadence-1-0/5197/7) +- [Check out the Cadence language 1.0 docs](https://cadencelang.dev/docs/1.0/) +- [Learn about Contract Staging](https://forum.flow.com/t/updates-to-cadence-1-0-contract-staging/5642) From 8eedde3a8cb59db6c3d86443d8b6e1e92b07bc56 Mon Sep 17 00:00:00 2001 From: Ali Serag Date: Tue, 13 Feb 2024 14:31:20 -0800 Subject: [PATCH 2/3] update links to cadence docs and wording for emulator release --- docs/cadence_migration_guide/index.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/docs/cadence_migration_guide/index.md b/docs/cadence_migration_guide/index.md index d2318e9..58be28d 100644 --- a/docs/cadence_migration_guide/index.md +++ b/docs/cadence_migration_guide/index.md @@ -14,9 +14,9 @@ To ensure your contracts are fully operational with Cadence 1.0, follow these es 1. **Understand the Changes:** Start by familiarizing yourself with the [changes](https://forum.flow.com/t/update-on-cadence-1-0/5197) to identify how they might affect your code. 2. **Modify Your Code:** Update your contracts, transactions, and scripts in accordance with the new changes. -3. **Test Your Code:** Use the [Cadence 1.0 Emulator](https://www.loom.com/share/4467610b7beb4ebbaabed6b430dc25c4?sid=14ecb3e7-e933-409c-a6a4-add40c6971d0) to test your code by running: +3. **Test Your Code:** The latest emulator [release](https://github.com/onflow/flow-cli/releases/tag/v1.12.0-cadence-v1.0.0-M4-2) includes all updated standards and core contracts. Check out this [video](https://www.loom.com/share/4467610b7beb4ebbaabed6b430dc25c4?sid=14ecb3e7-e933-409c-a6a4-add40c6971d0) from the Flow team on how to install and use the Cadence 1.0 emulator. The code can be accessed with: -Linux/macOS +       Linux/macOS ```bash @@ -24,14 +24,14 @@ sudo sh -ci "$(curl -fsSL https://raw.githubusercontent.com/onflow/flow-cli/mast ``` -Windows (in PowerShell): +        Windows (in PowerShell): ``` iex "& { $(irm 'https://raw.githubusercontent.com/onflow/flow-cli/master/install.ps1') } v1.12.0-cadence-v1.0.0-M4-2 ``` -1. **Stage**: A new **_Staging process_** will be released in the coming weeks that checks if your updated code is compatible with Cadence 1.0. Complete this [form](https://docs.google.com/forms/d/e/1FAIpQLSfprZJLPSEAS6H7_oL0j6bzetDzkHPmDZHYAGgqAAOAdLDKqw/viewform) to stay informed about updates and receive recommendations tailored to your code. +4. **Stage**: A new **_Staging process_** will be released in the coming weeks that checks if your updated code is compatible with Cadence 1.0. Complete this [form](https://docs.google.com/forms/d/e/1FAIpQLSfprZJLPSEAS6H7_oL0j6bzetDzkHPmDZHYAGgqAAOAdLDKqw/viewform) to stay informed about updates and receive recommendations tailored to your code. ### Resources @@ -41,8 +41,9 @@ For assistance with the most common updates developers will face, explore these - Upgrading [Capabilities](https://academy.ecdao.org/en/catalog/tutorials/capability-controllers) - Upgrading [Entitlements](https://academy.ecdao.org/en/catalog/tutorials/entitlements) -- Migration Guide for [Fungible Tokens](https://cadence-lang.org/docs/cadence_migration_guide/ft-guide) -- Migration Guide for [NFTs](https://cadence-lang.org/docs/cadence_migration_guide/nft-guide) +- Migration Guide for [Fungible Tokens](./ft-guide.mdx) +- Migration Guide for [NFTs](./nft-guide.mdx) +- Migration Guide for [Core Contracts](./core-contracts-guide.mdx) **Helper Tools** From f6475c2b709043625024675b26d2109511a9f571 Mon Sep 17 00:00:00 2001 From: Ali Serag Date: Tue, 13 Feb 2024 17:14:15 -0800 Subject: [PATCH 3/3] Add Emerald Academy C1.0 Beginner Course --- docs/cadence_migration_guide/index.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/cadence_migration_guide/index.md b/docs/cadence_migration_guide/index.md index 58be28d..877861b 100644 --- a/docs/cadence_migration_guide/index.md +++ b/docs/cadence_migration_guide/index.md @@ -39,6 +39,7 @@ iex "& { $(irm 'https://raw.githubusercontent.com/onflow/flow-cli/master/install For assistance with the most common updates developers will face, explore these resources: +- Cadence 1.0 [Beginner Course](https://academy.ecdao.org/en/catalog/courses/learn-cadence-beginner-1.0) - Upgrading [Capabilities](https://academy.ecdao.org/en/catalog/tutorials/capability-controllers) - Upgrading [Entitlements](https://academy.ecdao.org/en/catalog/tutorials/entitlements) - Migration Guide for [Fungible Tokens](./ft-guide.mdx)